/* ===== Lumen Pass v1 ===== */
body.secondary-screen-active .rewards-mock-tabs,
.rewards-mock-tabs{ grid-template-columns: repeat(8, minmax(0, 1fr)) !important; }
.rewards-mock-tabs button{ min-height: 58px !important; height: 58px !important; }
.rewards-mock-tabs .rewards-tab-icon{ width: 33px !important; height: 33px !important; }
.rewards-mock-tabs .rewards-tab-icon-img{ width: 31px !important; height: 31px !important; }
.rewards-tab-icon-pass{ filter: drop-shadow(0 0 7px rgba(255,171,45,.36)); }

.lumen-pass-panel{
  margin: 8px 9px 0;
  padding: 11px;
  border-radius: 14px;
  border: 1px solid rgba(234,173,61,.55);
  background:
    radial-gradient(circle at 82% 5%, rgba(116,65,226,.22), transparent 32%),
    radial-gradient(circle at 8% 40%, rgba(224,113,36,.13), transparent 25%),
    linear-gradient(180deg, rgba(11,26,55,.99), rgba(6,15,32,.99));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 10px 24px rgba(0,0,0,.22);
  display: grid;
  gap: 10px;
}
.lumen-pass-panel.active{ border-color: rgba(255,183,55,.78); box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 0 20px rgba(255,137,32,.12); }
.lumen-pass-hero{ display:grid; grid-template-columns:62px minmax(0,1fr); align-items:center; gap:10px; }
.lumen-pass-hero img{ width:60px; height:60px; object-fit:contain; filter:drop-shadow(0 0 12px rgba(255,160,40,.32)); }
.lumen-pass-hero > div{ min-width:0; display:grid; gap:2px; }
.lumen-pass-hero span{ color:#f2ba55; font-size:.44rem; font-weight:900; letter-spacing:.15em; }
.lumen-pass-hero strong{ color:#ffe6a9;  font-size:.82rem; font-weight:500; line-height:1.05; }
.lumen-pass-hero small{ color:#aebbd0; font-size:.42rem; line-height:1.35; }
.lumen-pass-benefits{ display:grid;  gap:6px; }
.lumen-pass-benefits article{ min-height:48px; display:grid; align-content:center; justify-items:center; gap:2px; padding:5px; text-align:center; border-radius:9px; border:1px solid rgba(111,128,217,.18); background:rgba(255,255,255,.025); }
.lumen-pass-benefits b{ color:#ffcf70;  font-size:.62rem; }
.lumen-pass-benefits span{ color:#aebbd1; font-size:.34rem; line-height:1.15; letter-spacing:.05em; }
.lumen-pass-plans{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.lumen-pass-plans article{ position:relative; min-height:128px; padding:9px; border-radius:11px; border:1px solid rgba(84,124,207,.26); background:linear-gradient(180deg,rgba(9,27,56,.98),rgba(5,16,34,.98)); display:grid; align-content:center; justify-items:center; gap:4px; text-align:center; }
.lumen-pass-plans article.lifetime{ border-color:rgba(238,177,58,.58); box-shadow:0 0 15px rgba(222,132,24,.09); }
.lumen-pass-plans em{ position:absolute; right:5px; top:5px; padding:2px 5px; border-radius:999px; background:#c88420; color:#fff2c2; font-style:normal; font-size:.3rem; letter-spacing:.06em; }
.lumen-pass-plans span{ color:#e8c77e; font-size:.44rem; letter-spacing:.1em; }
.lumen-pass-plans strong{ color:#fff1c8;  font-size:1rem; font-weight:500; }
.lumen-pass-plans small{ color:#9faec3; font-size:.38rem; }
.lumen-pass-plans button,
.lumen-pass-active-copy button{ width:100%; min-height:32px; margin-top:5px; border:1px solid rgba(248,194,75,.68); border-radius:8px; background:linear-gradient(180deg,#d9992b,#7c4d14); color:#fff0bd; font:inherit; font-size:.45rem; font-weight:900; letter-spacing:.05em; }
.lumen-pass-active-copy{ display:grid; gap:6px; padding:8px 9px; border-radius:10px; border:1px solid rgba(236,180,64,.28); background:rgba(236,154,42,.05); }
.lumen-pass-active-copy strong{ color:#f0d79a; font-size:.48rem; line-height:1.4; }
.lumen-pass-active-copy small{ color:#aebbd0; font-size:.42rem; }
.lumen-pass-dev-note{ color:#8eb8ee; font-size:.38rem; text-align:center; }

.rewards-mock-row .premium-price,
.reward-detail-footer .premium-price{ min-width:82px; display:grid; gap:1px; align-content:center; justify-items:center; padding:5px 7px; border:1px solid rgba(239,166,47,.65); border-radius:9px; background:linear-gradient(180deg,rgba(160,77,28,.38),rgba(62,31,17,.72)); color:#ffe1a0; }
.rewards-mock-row .premium-price small,
.reward-detail-footer .premium-price small{ color:#f6ad51; font-size:.29rem; white-space:nowrap; letter-spacing:.04em; }
.rewards-mock-row .premium-price strong,
.reward-detail-footer .premium-price strong{  font-size:.62rem; }
.reward-system-avatars:has(.premium-price), .reward-system-pets:has(.premium-price){ border-color:rgba(235,164,48,.3) !important; background:linear-gradient(90deg,rgba(25,30,68,.9),rgba(8,19,39,.96)) !important; }

.quest-tab-switch-four{ grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
.quests-mock-switch button.elite{ color:#f0b85f !important; }
.quests-mock-switch button.elite.active{ color:#ffe8a9 !important; text-shadow:0 0 8px rgba(238,135,46,.38); }
.quests-mock-switch button.elite.locked{ opacity:.72; }
.elite-quest-banner{ margin:0 0 6px; min-height:52px; display:grid; grid-template-columns:44px minmax(0,1fr); align-items:center; gap:8px; padding:6px 9px; border-radius:10px; border:1px solid rgba(236,166,49,.4); background:radial-gradient(circle at 12% 50%,rgba(141,72,227,.18),transparent 30%),linear-gradient(180deg,rgba(13,29,61,.98),rgba(7,17,36,.98)); }
.elite-quest-banner img{ width:42px; height:42px; object-fit:contain; }
.elite-quest-banner > div{ display:grid; gap:1px; }
.elite-quest-banner span{ color:#e9b14d; font-size:.34rem; letter-spacing:.12em; }
.elite-quest-banner strong{ color:#fbe0a1;  font-size:.66rem; font-weight:500; }
.elite-quest-banner small{ color:#9daec8; font-size:.37rem; }

/* Pass social identity treatment: fiery gold/orange glow around the character portrait. */
body[data-lumen-pass="active"] .hero-avatar{
  filter: drop-shadow(0 0 6px rgba(255,194,70,.72)) drop-shadow(0 0 14px rgba(255,104,21,.4));
}
.teams-rank-row.lumen-pass-member .teams-avatar-shell, .ally-list-row.lumen-pass-member .ally-list-avatar{
  
  box-shadow:0 0 0 2px rgba(255,184,61,.16), 0 0 11px rgba(255,158,43,.58), 0 0 21px rgba(255,78,20,.24) !important;
}
.teams-rank-row.lumen-pass-member .teams-member-name,
.ally-list-row.lumen-pass-member .ally-list-identity strong{ color:#ffe1a0 !important; text-shadow:0 0 7px rgba(255,129,30,.22); }


















@media (max-width:390px) {
  .rewards-mock-tabs button{ min-height:52px !important; height:52px !important; }
  .rewards-mock-tabs .rewards-tab-icon{ width:29px !important; height:29px !important; }
  .rewards-mock-tabs .rewards-tab-icon-img{ width:27px !important; height:27px !important; }
  .lumen-pass-panel{ margin:6px 7px 0; padding:9px; gap:8px; }
  .lumen-pass-hero{ grid-template-columns:52px minmax(0,1fr); }
  .lumen-pass-hero img{ width:50px; height:50px; }
  .lumen-pass-benefits article{ min-height:44px; }
  .lumen-pass-plans article{ min-height:116px; }
  .quest-tab-switch-four button{ font-size:.54rem !important; padding-left:2px !important; padding-right:2px !important; }
}
.teams-rank-row.lumen-pass-member, .ally-list-row.lumen-pass-member{
  border-color: rgba(239,157,42,.38) !important;
  box-shadow: inset 0 0 0 1px rgba(255,190,70,.05), 0 0 12px rgba(255,104,24,.09);
}


/* ===== 2026-08-23 Lumen Pass advanced social stats ===== */




.social-subject-breakdown{ margin-top:8px; display:grid; gap:5px; padding:8px; border-radius:10px; border:1px solid rgba(111,96,221,.22); background:rgba(16,18,50,.45); }
.social-subject-breakdown > span{ color:#e0bb6a; font-size:.4rem; letter-spacing:.1em; font-weight:900; }
.social-subject-breakdown > div{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:4px 2px; border-bottom:1px solid rgba(255,255,255,.035); }
.social-subject-breakdown > div:last-child{ border-bottom:0; }
.social-subject-breakdown strong{ color:#e9dfc9; font-size:.47rem; font-weight:600; }
.social-subject-breakdown b{ color:#8fc2ff; font-size:.45rem; }
.lumen-pass-benefits{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.rewards-mock-rarity.lumen{ color:#ffca65 !important; text-shadow:0 0 8px rgba(255,130,40,.28); }



/* ===== 2026-08-23 richer team + ally profile sheets ===== */




















/* ===== 2026-08-23 hidden premium + endless Elite + pass banner polish ===== */
.quests-mock-switch.premium-hidden{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
.lumen-arcane-wallet-card{
  position:relative; overflow:hidden; border-color:rgba(224,112,255,.72) !important;
  background:radial-gradient(circle at 18% 50%,rgba(174,70,255,.28),transparent 34%),linear-gradient(135deg,rgba(31,12,64,.98),rgba(9,22,54,.98)) !important;
  box-shadow:0 0 22px rgba(191,75,255,.22), inset 0 0 18px rgba(255,185,79,.08) !important;
  animation:lumenArcanePulse 2.2s ease-in-out infinite;
}
.lumen-arcane-wallet-card .lumen-arcane-glow{ position:absolute; inset:-35%; pointer-events:none; background:conic-gradient(from 0deg,transparent,rgba(223,117,255,.18),transparent 28%,rgba(255,191,75,.16),transparent 58%); animation:lumenArcaneSpin 8s linear infinite; }
.lumen-arcane-wallet-card > *:not(.lumen-arcane-glow){ position:relative; z-index:1; }
.lumen-arcane-wallet-card > img{ filter:drop-shadow(0 0 12px rgba(222,91,255,.5)) drop-shadow(0 5px 8px rgba(0,0,0,.32)); }
.lumen-arcane-claim{ border-color:rgba(255,205,92,.9) !important; background:linear-gradient(180deg,#f6cd62,#b66b20) !important; color:#191025 !important; box-shadow:0 0 14px rgba(255,177,56,.35) !important; }
@keyframes lumenArcanePulse { 0%,100%{filter:brightness(1);} 50%{filter:brightness(1.12);} }
@keyframes lumenArcaneSpin { to{transform:rotate(360deg);} }

/* Pass holders get a complete fiery/celestial name-card background in team lists, not only an avatar ring. */
.teams-rank-row.lumen-pass-member{
  position:relative; overflow:hidden;
  background:
    linear-gradient(90deg,rgba(34,12,45,.92),rgba(18,35,78,.86) 48%,rgba(63,27,18,.88)),
    radial-gradient(circle at 10% 50%,rgba(255,128,35,.35),transparent 34%) !important;
  border-color:rgba(247,162,54,.62) !important;
  box-shadow:inset 0 0 18px rgba(255,104,28,.12),0 0 12px rgba(255,110,28,.14) !important;
}

.teams-rank-row.lumen-pass-member > *{ position:relative; z-index:1; }
.teams-rank-row.lumen-pass-member .teams-member-name{ color:#ffe6a9 !important; text-shadow:0 0 10px rgba(255,133,32,.25); }
.teams-rank-row.lumen-pass-member .teams-member-rank{ color:#ffbd66 !important; }
.ally-list-row.lumen-pass-member{
  background:linear-gradient(90deg,rgba(45,17,58,.96),rgba(10,36,70,.96),rgba(69,30,17,.94)) !important;
  border-color:rgba(240,153,47,.5) !important;
  box-shadow:inset 0 0 16px rgba(255,113,27,.09),0 0 10px rgba(255,104,30,.1) !important;
}

/* Lumen Pass profile/name-card treatment fills the entire social banner in dev-mode previews. */




/* ===== 2026-08-23 Lumen Pass celestial card redesign v45 ===== */
.lumen-pass-panel.lumen-pass-cosmic{
  position:relative; overflow:hidden; isolation:isolate;
  padding:11px; gap:10px; border:1px solid rgba(206,166,66,.52);
  background:
    radial-gradient(circle at 18% 3%, rgba(68,106,238,.25), transparent 26%),
    radial-gradient(circle at 88% 14%, rgba(116,62,201,.18), transparent 24%),
    linear-gradient(180deg, rgba(5,19,42,.995), rgba(3,11,27,.995));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055), 0 0 26px rgba(44,79,198,.12);
}
.lumen-pass-cosmic-stars{ position:absolute; inset:0; z-index:-1; opacity:.5; pointer-events:none; background-image:radial-gradient(circle at 12% 20%,rgba(255,231,166,.85) 0 1px,transparent 1.4px),radial-gradient(circle at 73% 17%,rgba(128,182,255,.8) 0 1px,transparent 1.5px),radial-gradient(circle at 89% 63%,rgba(255,220,136,.65) 0 1px,transparent 1.4px),radial-gradient(circle at 41% 78%,rgba(124,161,255,.72) 0 1px,transparent 1.5px); background-size:74px 74px,91px 91px,113px 113px,137px 137px; }
.lumen-pass-hero.cosmic{ padding:9px 10px; border-radius:12px; border:1px solid rgba(227,187,85,.25); background:linear-gradient(135deg,rgba(16,43,87,.78),rgba(8,22,48,.7)); }
.lumen-pass-hero.cosmic img{ width:64px; height:64px; filter:drop-shadow(0 0 14px rgba(74,145,255,.44)) drop-shadow(0 0 7px rgba(236,180,58,.26)); }
.lumen-pass-hero.cosmic span{ color:#e9bd60; }
.lumen-pass-hero.cosmic strong{ color:#fff0c7; font-size:.9rem; }
.lumen-pass-plans.cosmic{ grid-template-columns:1fr 1fr; }
.lumen-pass-plans.cosmic article{ min-height:105px; padding:8px; border-radius:11px; background:linear-gradient(180deg,rgba(10,32,67,.95),rgba(6,18,40,.98)); }
.lumen-pass-plans.cosmic article.lifetime{ background:linear-gradient(180deg,rgba(67,45,13,.82),rgba(34,24,9,.96)); }
.lumen-pass-plans.cosmic article.selected{ box-shadow:0 0 17px rgba(255,183,58,.2), inset 0 0 16px rgba(255,188,64,.07); }
.lumen-plan-active{ color:#ffe4a0; font-size:.4rem; letter-spacing:.11em; }
.lumen-pass-perk-list{ display:grid; gap:7px; }
.lumen-pass-perk-card{
  position:relative; overflow:hidden; display:grid; grid-template-columns:52px minmax(0,1fr) 14px; align-items:center; gap:9px;
  width:100%; min-height:68px; padding:8px 9px; border-radius:11px; border:1px solid rgba(93,129,213,.25);
  background:linear-gradient(90deg,rgba(10,32,68,.98),rgba(7,20,44,.96));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
.lumen-pass-perk-card::after{ content:""; position:absolute; right:-24px; top:-30px; width:100px; height:100px; border-radius:50%; background:radial-gradient(circle,rgba(72,92,218,.12),transparent 68%); pointer-events:none; }
.lumen-pass-perk-icon{ width:50px; height:50px; border-radius:50%; display:grid; place-items:center; border:1px solid rgba(223,181,78,.37); background:radial-gradient(circle at 50% 42%,rgba(36,71,137,.9),rgba(5,18,39,.98) 72%); box-shadow:0 0 12px rgba(64,112,230,.12); }
.lumen-pass-perk-icon img{ width:42px; height:42px; object-fit:contain; filter:drop-shadow(0 3px 7px rgba(0,0,0,.28)); }
.lumen-pass-perk-copy{ min-width:0; display:grid; gap:2px; }
.lumen-pass-perk-copy span{ color:#8fa8d4; font-size:.34rem; font-weight:900; letter-spacing:.13em; }
.lumen-pass-perk-copy strong{ color:#f2d68d;  font-size:.66rem; font-weight:500; line-height:1.05; }
.lumen-pass-perk-copy small{ color:#b7c4d8;   }
.lumen-pass-perk-card > i{ color:#d8ac52; font-style:normal; font-size:.65rem; text-shadow:0 0 8px rgba(88,132,255,.45); }
.lumen-pass-active-copy.cosmic{ border-color:rgba(219,175,72,.26); background:rgba(9,25,52,.74); }
@media (max-width:390px) {
  .lumen-pass-panel.lumen-pass-cosmic{ padding:8px; gap:7px; }
  .lumen-pass-hero.cosmic{ grid-template-columns:54px minmax(0,1fr); padding:7px 8px; }
  .lumen-pass-hero.cosmic img{ width:52px; height:52px; }
  .lumen-pass-perk-card{ grid-template-columns:45px minmax(0,1fr) 10px; min-height:59px; gap:7px; padding:6px 7px; }
  .lumen-pass-perk-icon{ width:43px; height:43px; }
  .lumen-pass-perk-icon img{ width:36px; height:36px; }
  .lumen-pass-perk-copy strong{ font-size:.59rem; }
  
}


/* ===== 2026-08-23 Lumen scroll + simplified Rewards nav + animated premium team banner v46 ===== */
.lumen-pass-perk-list{
  max-height: 278px;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-right: 2px;
}
.lumen-pass-perk-list::-webkit-scrollbar{ width:0; height:0; display:none; }
.lumen-pass-perk-copy small{ font-size:.47rem !important; line-height:1.45 !important; }
.lumen-pass-plans .best-value{  padding:4px 7px !important; letter-spacing:.075em !important; font-weight:900 !important; }

.lumen-pass-plans.cosmic.lifetime-only{ grid-template-columns:minmax(0,1fr) !important; }
.lumen-pass-plans.cosmic.lifetime-only article.lifetime{ width:100%; min-height:112px; }

/* Five primary groups instead of eight equally squeezed reward categories. */
body.secondary-screen-active .rewards-mock-tabs.rewards-group-tabs,
.rewards-mock-tabs.rewards-group-tabs{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
}
.rewards-group-tabs button{
  
  
  display:grid !important;
  
  place-items:center !important;
  align-content:center !important;
  
  
}


.rewards-group-label{
   max-width:100%;   
      
}

.rewards-group-tabs button small{ position:absolute !important;   }
.rewards-subtabs{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); 
   padding:0;
}
.rewards-subtabs button{
   border:1px solid rgba(82,119,190,.23); border-radius:9px;
  background:linear-gradient(180deg,rgba(10,28,53,.96),rgba(6,18,36,.98));
  display:flex; align-items:center; justify-content:center; gap:6px; color:#aebbd0;
  font:inherit; cursor:pointer;
}
.rewards-subtabs button.active{
  border-color:rgba(226,182,82,.5); background:linear-gradient(180deg,rgba(30,43,67,.98),rgba(12,27,50,.98));
  color:#f0d28a; box-shadow:inset 0 0 12px rgba(221,174,65,.06);
}
.rewards-subtabs button.locked{ opacity:.5; }
.rewards-subtabs button span{   display:grid; place-items:center; }
.rewards-subtabs button .rewards-tab-icon-img{   object-fit:contain; }


/* Animated Lumen team card: moving celestial colour ripple + pulsing gold portrait ring. */
.teams-rank-row.lumen-pass-member::before{
  content:""; position:absolute; inset:-2px; pointer-events:none; opacity:.78;
  background:
    linear-gradient(110deg,transparent 8%,rgba(57,107,255,.07) 26%,rgba(156,86,255,.18) 40%,rgba(255,175,62,.18) 52%,rgba(255,93,28,.13) 61%,transparent 78%),
    radial-gradient(circle at 82% 20%,rgba(112,91,255,.20),transparent 32%),
    radial-gradient(circle at 18% 95%,rgba(255,116,28,.18),transparent 30%);
  background-size:220% 100%,100% 100%,100% 100%;
  animation:lumenTeamColourRipple 4.8s ease-in-out infinite;
}
.teams-rank-row.lumen-pass-member .teams-avatar-shell, .ally-list-row.lumen-pass-member .ally-list-avatar{
  border-color:rgba(255,207,91,.92) !important;
  animation:lumenGoldenRingPulse 2.1s ease-in-out infinite;
}
@keyframes lumenTeamColourRipple {
  0%,100% { background-position:180% 0,0 0,0 0; filter:hue-rotate(0deg); }
  50% { background-position:-80% 0,0 0,0 0; filter:hue-rotate(14deg); }
}
@keyframes lumenGoldenRingPulse {
  0%,100% { box-shadow:0 0 0 1px rgba(255,203,84,.25),0 0 7px rgba(255,162,42,.22); filter:brightness(1); }
  50% { box-shadow:0 0 0 2px rgba(255,222,116,.64),0 0 16px rgba(255,166,42,.58); filter:brightness(1.1); }
}
@media (prefers-reduced-motion: reduce) {
  .teams-rank-row.lumen-pass-member::before, .teams-rank-row.lumen-pass-member .teams-avatar-shell, .ally-list-row.lumen-pass-member .ally-list-avatar{ animation:none !important; }
}
@media (max-width:390px) {
  .lumen-pass-perk-list{ max-height:238px; }
  .lumen-pass-perk-copy small{ font-size:.43rem !important; }
  .lumen-pass-plans .best-value{ font-size:.39rem !important; }
  .rewards-group-tabs button{   grid-template-rows:30px auto !important; }
  
  
  .rewards-group-label{ font-size:.28rem; }
  .rewards-subtabs{ margin-left:7px; margin-right:7px;  }
  
  
}





/* ===== 2026-08-23 Rewards grouped-nav layout repair v47 ===== */
/* Primary + secondary reward navigation occupy ONE page-grid row. This keeps
   equipped Relic/Castle/Boost panels and reward cards in separate rows. */
.rewards-nav-stack{
  min-width:0;
  min-height:0;
  display:grid;
  gap:6px;
  align-content:start;
  position:relative;
  z-index:4;
}
body.secondary-screen-active .rewards-mock-page,
.rewards-mock-page{
  grid-template-rows:auto auto minmax(0,1fr) !important;
}
body.secondary-screen-active .rewards-mock-page.has-system-panel,
.rewards-mock-page.has-system-panel{
  grid-template-rows:auto auto auto minmax(0,1fr) !important;
}
.rewards-mock-list{
  position:relative;
  z-index:1;
  min-height:0 !important;
  overflow-y:auto !important;
}
.rewards-system-panel,
.castle-current-panel,
.boost-state-panel,
.theme-panel,
.relic-panel{
  position:relative;
  z-index:2;
  min-width:0;
}

/* Main grouped navigation is icon-only. Accessible names remain on buttons. */

.rewards-group-tabs button{
  height:64px !important;
  min-height:64px !important;
  grid-template-rows:1fr !important;
  padding:5px 3px !important;
  gap:0 !important;
  overflow:visible !important;
}
.rewards-group-tabs .rewards-tab-icon{
  width:46px !important;
  height:46px !important;
}
.rewards-group-tabs .rewards-tab-icon-img{
  width:43px !important;
  height:43px !important;
  max-width:43px !important;
  max-height:43px !important;
  object-fit:contain !important;
}
.rewards-group-tabs button.active::after{
  bottom:-5px !important;
  width:9px !important;
  height:9px !important;
}
.rewards-group-tabs button small{
  
  
  z-index:2;
}

/* Secondary category selector sits inside the nav block rather than on top of cards. */
.rewards-subtabs{
  margin:0 8px !important;
  gap:6px !important;
  min-height:40px;
}
.rewards-subtabs button{
  min-height:40px !important;
  padding:4px 8px !important;
}
.rewards-subtabs button span{
  width:29px !important;
  height:29px !important;
}
.rewards-subtabs button .rewards-tab-icon-img{
  width:27px !important;
  height:27px !important;
  max-width:27px !important;
  max-height:27px !important;
}


@media (max-width:390px) {
  .rewards-nav-stack{ gap:5px; }
  .rewards-group-tabs button{
    height:58px !important;
    min-height:58px !important;
    padding:4px 2px !important;
  }
  .rewards-group-tabs .rewards-tab-icon{
    width:41px !important;
    height:41px !important;
  }
  .rewards-group-tabs .rewards-tab-icon-img{
    width:39px !important;
    height:39px !important;
    max-width:39px !important;
    max-height:39px !important;
  }
  .rewards-subtabs{
    margin:0 6px !important;
    min-height:36px;
    gap:5px !important;
  }
  .rewards-subtabs button{
    min-height:36px !important;
    padding:3px 6px !important;
  }
  .rewards-subtabs button span{ width:25px !important; height:25px !important; }
  .rewards-subtabs button .rewards-tab-icon-img{
    width:24px !important; height:24px !important; max-width:24px !important; max-height:24px !important;
  }
  
}


/* ===== 2026-08-23 boost stacking + scrollbar-free stats + compact coin header v48 ===== */
/* Extended Stats remains fully scrollable, but the visual scrollbar is hidden. */
.phone-stage #sheetOverlay .sheet.extended-stats-modal,
.phone-stage #sheetOverlay .sheet.extended-stats-modal .extended-stats-scroll{
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}
.phone-stage #sheetOverlay .sheet.extended-stats-modal::-webkit-scrollbar,
.phone-stage #sheetOverlay .sheet.extended-stats-modal .extended-stats-scroll::-webkit-scrollbar{
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}
/* Lumen advanced stats on team/ally profiles scroll normally without a visible rail. */


/* Give the Rewards content a little more vertical room. */
.rewards-mock-coin-card{
  min-height: 58px !important;
  padding: 0 13px !important;
  border-radius: 10px !important;
}
.rewards-mock-coin-card span{
  font-size: .76rem !important;
}
.rewards-mock-coin-card strong{
  font-size: 1.18rem !important;
  gap: 8px !important;
}
.rewards-mock-coin-card strong img{
  width: 30px !important;
  height: 30px !important;
}
.rewards-mock-head{
  gap: 5px !important;
}
.rewards-mock-action.active-boost.stackable{
  cursor: pointer !important;
  border-color: rgba(226,183,78,.48) !important;
  box-shadow: inset 0 0 12px rgba(226,183,78,.08) !important;
}
.rewards-mock-action.boost-conflict{
  opacity: .72 !important;
}
@media (max-width:390px) {
  .rewards-mock-coin-card{
    min-height: 52px !important;
    padding: 0 11px !important;
  }
  .rewards-mock-coin-card span{ font-size: .69rem !important; }
  .rewards-mock-coin-card strong{ font-size: 1.06rem !important; gap: 7px !important; }
  .rewards-mock-coin-card strong img{ width: 27px !important; height: 27px !important; }
}
nn/* ===== 2026-08-23 Claim overlay + Lumen plan readability + XP slogan v49 ===== */
/* Monthly/Lifetime purchase cards use larger type without making the cards much taller. */
.lumen-pass-plans.cosmic article{
  min-height: 116px !important;
  gap: 5px !important;
  padding: 10px 9px !important;
}
.lumen-pass-plans.cosmic span{
  font-size: .58rem !important;
  font-weight: 900 !important;
  letter-spacing: .11em !important;
}
.lumen-pass-plans.cosmic strong{
  font-size: 1.24rem !important;
  line-height: 1 !important;
}
.lumen-pass-plans.cosmic small{
  font-size: .49rem !important;
  line-height: 1.2 !important;
}
.lumen-pass-plans.cosmic button{
  
  
  letter-spacing: .065em !important;
}
.lumen-pass-plans .best-value{
  font-size: .47rem !important;
}
.lumen-pass-plans .plan-status{
  font-size: .42rem !important;
}

/* A claimable quest becomes one obvious full-card action. */
.quests-mock-row.claimable{
  position: relative !important;
  border-color: rgba(247,203,103,.86) !important;
  box-shadow: inset 0 0 0 1px rgba(255,224,151,.18), 0 0 20px rgba(227,168,55,.21) !important;
}
.quest-card-claim-overlay{
  position: absolute !important;
  inset: 0 !important;
  z-index: 20 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: inherit !important;
  display: grid !important;
  place-items: center !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
  background: linear-gradient(90deg, rgba(3,11,25,.54), rgba(7,20,38,.38), rgba(3,11,25,.54)) !important;
  box-shadow: inset 0 0 28px rgba(242,190,75,.08) !important;
  color: inherit !important;
  font: inherit !important;
}
.quest-card-claim-overlay > span{
  min-width: 128px !important;
  min-height: 45px !important;
  padding: 0 22px !important;
  border: 2px solid rgba(255,224,142,.96) !important;
  border-radius: 10px !important;
  display: grid !important;
  place-items: center !important;
  background: linear-gradient(180deg, rgba(244,199,94,.98), rgba(179,111,27,.98)) !important;
  color: #201204 !important;
  box-shadow: inset 0 1px 0 rgba(255,246,210,.82), 0 0 18px rgba(239,177,50,.45) !important;
  font-size: .86rem !important;
  font-weight: 1000 !important;
  letter-spacing: .17em !important;
  line-height: 1 !important;
  text-shadow: 0 1px 0 rgba(255,239,185,.32) !important;
}
.quest-card-claim-overlay:active > span{ transform: scale(.97); }
.quest-card-claim-overlay:focus-visible{ outline: 2px solid #ffe6a2 !important; outline-offset: -3px !important; }

/* The descriptive slogan on the XP / Rank Journey cards should be readable at a glance. */
.rank-scene-copy .muted{
  font-size: .84rem !important;
  line-height: 1.3 !important;
}

@media (max-width:390px) {
  .lumen-pass-plans.cosmic span{ font-size: .54rem !important; }
  .lumen-pass-plans.cosmic strong{ font-size: 1.14rem !important; }
  .lumen-pass-plans.cosmic small{ font-size: .46rem !important; }
  .lumen-pass-plans.cosmic button{ font-size: .49rem !important; }
  .quest-card-claim-overlay > span{ min-width: 116px !important; min-height: 42px !important; font-size: .79rem !important; }
  .rank-scene-copy .muted{ font-size: .77rem !important; }
}


/* ===== 2026-08-24 Rewards copy, relic descriptions and compact balance v53 ===== */
/* Category names in the secondary selector need to stay easy to read on phone. */
.rewards-subtabs button strong{
  font-size: .54rem !important;
  line-height: 1.05 !important;
  letter-spacing: .065em !important;
}
@media (max-width:390px) {
  .rewards-subtabs button strong{ font-size: .49rem !important; }
}


/* Balance header: just the two numbers and their symbols; no redundant label. */
.rewards-mock-coin-card.rewards-balance-card{
  grid-template-columns: repeat(2, minmax(0,auto)) !important;
  justify-content: center !important;
  column-gap: 32px !important;
  min-height: 52px !important;
  padding: 0 16px !important;
}
.rewards-mock-coin-card.rewards-balance-card .rewards-balance-stat{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  font-size:1.08rem !important;
  line-height:1 !important;
  color:#f1cb76 !important;
  white-space:nowrap !important;
}
.rewards-mock-coin-card.rewards-balance-card .rewards-balance-stat img{
  width:28px !important;
  height:28px !important;
  object-fit:contain !important;
}
.rewards-mock-coin-card.rewards-balance-card .rewards-balance-stat.xp{ color:#dbe8ff !important; }
.rewards-mock-coin-card.rewards-balance-card .rewards-balance-stat.xp img{ filter:drop-shadow(0 0 5px rgba(114,155,255,.4)); }
@media (max-width:390px) {
  .rewards-mock-coin-card.rewards-balance-card{
    min-height:48px !important;
    column-gap:24px !important;
    padding:0 10px !important;
  }
  .rewards-mock-coin-card.rewards-balance-card .rewards-balance-stat{ font-size:1rem !important; gap:6px !important; }
  .rewards-mock-coin-card.rewards-balance-card .rewards-balance-stat img{ width:25px !important; height:25px !important; }
}

/* ===== 2026-08-26 Lumen Pass dev tools: custom subjects, Quest Maker + Castle Wing ===== */
.bottom-nav .premium-castle-nav[hidden]{ display:none !important; }
body[data-lumen-pass="active"] .bottom-nav{ grid-template-columns:repeat(6,minmax(0,1fr)) !important; }
body[data-lumen-pass="active"] .bottom-nav .premium-castle-nav > img.nav-icon-img{ filter:sepia(.2) saturate(.82) brightness(1.05) drop-shadow(0 0 4px rgba(236,183,78,.18)) !important; }

.elite-quest-banner:has(.elite-quest-maker-button){ grid-template-columns:44px minmax(0,1fr) auto; }
.elite-quest-maker-button{
   padding:0 9px; border:1px solid rgba(242,189,75,.62); border-radius:8px;
  background:linear-gradient(180deg,rgba(203,140,42,.32),rgba(86,50,17,.62)); color:#ffe6a7;
  font:inherit;  font-weight:900; letter-spacing:.08em; white-space:nowrap;
}
.elite-quest-maker-button:hover,.elite-quest-maker-button:focus-visible{ border-color:rgba(255,216,124,.9); box-shadow:0 0 10px rgba(230,165,54,.16); }

.custom-subject-creator{
  display:grid;   margin:3px 0 11px; border:1px solid rgba(225,175,78,.34); border-radius:11px;
  background:radial-gradient(circle at 90% 0,rgba(106,66,190,.16),transparent 32%),linear-gradient(180deg,rgba(13,27,52,.96),rgba(7,17,33,.98));
}
.custom-subject-creator > div:first-child{ display:grid; gap:2px; }
.custom-subject-creator span,.custom-subject-settings-group .subject-settings-group-title span{ color:#e4ac4b;  letter-spacing:.11em; }
.custom-subject-creator strong{ color:#f3d78f; font-weight:600;  }
.custom-subject-creator small{ color:#9eabc0;  line-height:1.35; }
.custom-subject-entry{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; }
.custom-subject-entry input{ min-width:0;  padding:0 10px; border:1px solid rgba(220,181,106,.28); border-radius:8px; background:#081426; color:#eee0c2; outline:0; }
.custom-subject-entry input:focus{ border-color:rgba(238,198,117,.68); box-shadow:0 0 0 2px rgba(225,175,76,.08); }
.custom-subject-entry button{  border:1px solid rgba(238,189,91,.55); border-radius:8px; background:linear-gradient(180deg,#a97426,#654014); color:#fff0bd; font:inherit;  font-weight:900; letter-spacing:.05em; }
.custom-subject-settings-group .subject-favorite-row.custom{ border-color:rgba(164,116,225,.26); background:linear-gradient(180deg,rgba(28,27,59,.72),rgba(13,19,38,.9)); }
.custom-subject-settings-group .subject-favorite-row.custom.selected{ border-color:rgba(226,178,80,.58); box-shadow:inset 0 0 0 1px rgba(229,177,75,.08); }

.quest-maker-grid{ display:grid;    }
.quest-maker-grid label{ display:grid; gap:5px; }
.quest-maker-grid label > span{ color:#cfa75e;  font-weight:800;  }
.quest-maker-grid select,.quest-maker-grid input{ width:100%; min-width:0;  border:1px solid rgba(217,176,98,.25); border-radius:8px; background:linear-gradient(180deg,#0d1c32,#081322); color:#eadbbd; padding:0 10px; outline:0; }
.quest-maker-grid select:focus,.quest-maker-grid input:focus{ border-color:rgba(236,194,110,.65); box-shadow:0 0 0 2px rgba(225,175,76,.07); }
.quest-maker-number{ position:relative; }
.quest-maker-number input{ padding-right:42px; }
.quest-maker-number i{ position:absolute; right:9px; top:50%; transform:translateY(-50%); color:#b38a48; font-style:normal;  font-weight:900; letter-spacing:.06em; pointer-events:none; }
.quest-maker-preview{ display:grid;   border:1px solid rgba(217,159,51,.35); border-radius:10px; background:linear-gradient(90deg,rgba(92,54,144,.14),rgba(10,24,47,.94)); }
.quest-maker-preview span{ color:#d89e3f;   }
.quest-maker-preview strong{  font-weight:500;  }
.quest-maker-preview small{ color:#9cabc0;   }
.quest-maker-create{ width:100%; margin:9px 0 2px; }
.quest-maker-divider{ display:flex; align-items:center; gap:8px;  color:#b9975f;   }
.quest-maker-divider::before,.quest-maker-divider::after{ content:""; flex:1; height:1px; background:linear-gradient(90deg,transparent,rgba(215,174,96,.25)); }
.quest-maker-divider::after{ transform:scaleX(-1); }
.quest-maker-existing-list{ display:grid;   overflow:auto; }
.quest-maker-existing,.quest-maker-empty{ border:1px solid rgba(206,164,89,.18); border-radius:9px; background:rgba(8,17,30,.72); }
.quest-maker-existing{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:center;  }
.quest-maker-existing > div{ display:grid; gap:2px; min-width:0; }
.quest-maker-existing span{ color:#dca64a;  letter-spacing:.07em; overflow:hidden; text-overflow:ellipsis; }
.quest-maker-existing strong{ color:#ead9b6;  }
.quest-maker-existing small{ color:#8fa0b8;   }
.quest-maker-existing button{  padding:0 8px;  border-radius:7px;   font:inherit;  font-weight:900; }
.quest-maker-empty{  color:#8d9db4;  line-height:1.4; text-align:center; }

body.secondary-screen-active .premium-castle-page > .secondary-page-header{
  position:relative !important; flex:0 0 58px !important; height:58px !important; min-height:58px !important;
  display:flex !important; align-items:center !important; justify-content:center !important; padding:0 16px !important;
  border-bottom:1px solid rgba(207,166,91,.1) !important; background:linear-gradient(180deg,rgba(9,13,20,.98),rgba(7,10,16,.97)) !important;
}
.premium-castle-page{ min-height:100%; display:flex; flex-direction:column; }
.premium-castle-body{ display:grid; gap:10px; padding:8px 10px 14px; overflow:auto; }
.premium-castle-hero{ position:relative; min-height:190px; overflow:hidden; border:1px solid rgba(225,177,81,.32); border-radius:13px; background:linear-gradient(180deg,#101a32,#07101e); box-shadow:inset 0 1px 0 rgba(255,255,255,.05); }
.premium-castle-hero::after{ content:""; position:absolute; inset:42% 0 0; background:linear-gradient(180deg,transparent,rgba(4,9,18,.88)); pointer-events:none; }
.premium-castle-stars{ position:absolute; inset:0; background:radial-gradient(circle at 15% 22%,rgba(255,231,173,.65) 0 1px,transparent 2px),radial-gradient(circle at 79% 16%,rgba(255,211,122,.5) 0 1px,transparent 2px),radial-gradient(circle at 62% 36%,rgba(190,164,255,.45) 0 1px,transparent 2px); background-size:86px 83px,109px 101px,127px 119px; opacity:.55; }
.premium-castle-hero > img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:center 40%; filter:drop-shadow(0 8px 16px rgba(0,0,0,.5)); }
.premium-castle-hero-copy{ position:absolute; z-index:2; left:12px; right:82px; bottom:11px; display:grid; gap:2px; }
.premium-castle-hero-copy span{ color:#e1a94a; font-size:.34rem; letter-spacing:.11em; }
.premium-castle-hero-copy strong{ color:#f4ddab; font-weight:500; font-size:.84rem; }
.premium-castle-hero-copy small{ color:#a9b5c8; font-size:.36rem; line-height:1.3; }
.premium-castle-levels{ position:absolute; z-index:2; right:10px; bottom:11px; min-width:61px; display:grid; justify-items:center; padding:6px 7px; border:1px solid rgba(229,182,89,.28); border-radius:9px; background:rgba(7,15,29,.82); }
.premium-castle-levels b{ color:#f0ca78; font-weight:500; font-size:.72rem; }
.premium-castle-levels span{ color:#8fa0b7; font-size:.27rem; letter-spacing:.06em; }
.premium-castle-tool-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.premium-castle-tool-grid > button,.premium-castle-pass-bonus{ min-height:58px; display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:7px; padding:7px 8px; border:1px solid rgba(211,169,92,.2); border-radius:10px; background:linear-gradient(180deg,rgba(14,27,48,.94),rgba(8,17,31,.98)); color:inherit; text-align:left; }
.premium-castle-tool-grid > button img,.premium-castle-pass-bonus img{ width:31px; height:31px; object-fit:contain; }
.premium-castle-tool-grid > button span,.premium-castle-pass-bonus span{ display:grid; gap:2px; min-width:0; }
.premium-castle-tool-grid > button strong,.premium-castle-pass-bonus strong{ color:#efd394; font-size:.43rem; letter-spacing:.04em; }
.premium-castle-tool-grid > button small,.premium-castle-pass-bonus small{ color:#8f9eb4; font-size:.33rem; line-height:1.25; }
.premium-castle-tool-grid > button i{ color:#d7aa55; font-size:.8rem; font-style:normal; }
.premium-castle-pass-bonus{ grid-column:1/-1; grid-template-columns:34px minmax(0,1fr); background:radial-gradient(circle at 85% 50%,rgba(112,63,182,.16),transparent 30%),linear-gradient(180deg,rgba(20,29,55,.94),rgba(8,16,31,.98)); }
.premium-castle-section-head{ display:flex; justify-content:space-between; align-items:center; margin-top:2px; color:#9ca9bb; font-size:.34rem; letter-spacing:.09em; }
.premium-castle-section-head strong{ color:#d7ae62; font-size:.36rem; }
.premium-castle-room-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.premium-castle-room-card{ min-height:126px; display:grid; justify-items:start; align-content:start; gap:3px; padding:9px; border:1px solid rgba(212,169,91,.21); border-radius:11px; background:radial-gradient(circle at 80% 10%,rgba(86,75,155,.12),transparent 31%),linear-gradient(180deg,rgba(13,25,44,.98),rgba(7,15,28,.98)); color:inherit; text-align:left; }
.premium-castle-room-icon{ width:36px; height:36px; display:grid; place-items:center; margin-bottom:2px; border-radius:9px; background:rgba(220,176,90,.07); }
.premium-castle-room-icon img{ width:29px; height:29px; object-fit:contain; }
.premium-castle-room-card > span{ color:#b48945; font-size:.29rem; letter-spacing:.09em; }
.premium-castle-room-card > strong{ color:#e9d3a3; font-weight:500; font-size:.58rem; }
.premium-castle-room-card > small{ min-height:30px; color:#8d9db4; font-size:.33rem; line-height:1.3; }
.premium-castle-room-card > div:last-child{ width:100%; display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:5px; border-top:1px solid rgba(202,160,84,.1); }
.premium-castle-room-card > div:last-child b{ color:#c9a35e; font-size:.31rem; }
.premium-castle-room-card > div:last-child i{ color:#e0b45d; font-size:.31rem; font-style:normal; font-weight:900; }

.premium-room-explore-hero{ position:relative; min-height:170px; overflow:hidden; display:grid; place-items:center; align-content:end; gap:4px; padding:12px; border:1px solid rgba(220,174,85,.28); border-radius:12px; background:#081426; text-align:center; }
.premium-room-explore-hero .castle-backdrop{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.23; filter:blur(1px) saturate(.7); }
.premium-room-explore-hero::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(5,12,24,.18),rgba(5,12,24,.9)); }
.premium-room-emblem,.premium-room-explore-hero > div:last-child{ position:relative; z-index:1; }
.premium-room-emblem{ width:58px; height:58px; display:grid; place-items:center; border:1px solid rgba(231,188,103,.32); border-radius:50%; background:rgba(8,18,34,.82); box-shadow:0 0 20px rgba(197,142,56,.1); }
.premium-room-emblem img{ width:43px; height:43px; object-fit:contain; }
.premium-room-explore-hero > div:last-child{ display:grid; gap:2px; }
.premium-room-explore-hero span{ color:#d1a44f; font-size:.32rem; letter-spacing:.1em; }
.premium-room-explore-hero strong{ color:#f1d9a4; font-weight:500; font-size:.8rem; }
.premium-room-explore-hero small{ color:#a2afc1; font-size:.39rem; }
.premium-room-effect-card{ display:grid; gap:3px; padding:10px; margin-top:9px; border:1px solid rgba(214,168,82,.2); border-radius:10px; background:rgba(9,20,37,.76); }
.premium-room-effect-card span{ color:#b78d49; font-size:.32rem; letter-spacing:.1em; }
.premium-room-effect-card strong{ color:#e8d3a6; font-size:.5rem; }
.premium-room-effect-card small{ color:#8f9eb3; font-size:.37rem; line-height:1.35; }

@media (max-width:390px) {
  body[data-lumen-pass="active"] .bottom-nav{ padding-left:4px !important; padding-right:4px !important; gap:0 !important; }
  body[data-lumen-pass="active"] .bottom-nav .nav-item > img.nav-icon-img{ width:25px !important; height:25px !important; }
  .elite-quest-banner:has(.elite-quest-maker-button){ grid-template-columns:38px minmax(0,1fr) auto; padding-left:6px; padding-right:6px; gap:5px; }
  .elite-quest-banner img{ width:36px; height:36px; }
  .elite-quest-maker-button{ padding:0 6px; font-size:.32rem; }
  .quest-maker-grid{ grid-template-columns:1fr; }
  .premium-castle-body{ padding-left:7px; padding-right:7px; }
  .premium-castle-room-grid{ gap:6px; }
  .premium-castle-room-card{ padding:7px; min-height:122px; }
}


/* ===== Premium dev usability + team aura refinement ===== */
body[data-dev-castle-nav="visible"] .bottom-nav{ grid-template-columns:repeat(6,minmax(0,1fr)) !important; }
body[data-dev-castle-nav="visible"] .bottom-nav .premium-castle-nav[hidden]{ display:none !important; }
body[data-dev-castle-nav="visible"][data-lumen-pass="inactive"] .premium-castle-nav{ opacity:.62; }
body[data-dev-castle-nav="visible"][data-lumen-pass="inactive"] .premium-castle-nav::after{ content:"✦" !important; display:grid !important; place-items:center; position:absolute; top:5px; right:11px; width:12px; height:12px; border-radius:50%; background:#70491b; color:#ffe0a0; font-size:.42rem; box-shadow:0 0 0 1px rgba(239,187,80,.45); }

.focus-reward-boosts{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; width:min(100%,360px); margin:1px auto 2px; }
.focus-reward-boost{ min-width:0; min-height:50px; display:grid; grid-template-columns:30px minmax(0,1fr); align-items:center; gap:7px; padding:6px 8px; border:1px solid rgba(186,151,91,.2); border-radius:10px; background:linear-gradient(180deg,rgba(8,17,29,.86),rgba(6,13,24,.92)); box-shadow:inset 0 1px 0 rgba(255,255,255,.025); }
.focus-reward-boost.active{ border-color:rgba(230,180,78,.47); background:radial-gradient(circle at 13% 22%,rgba(224,174,75,.12),transparent 38%),linear-gradient(180deg,rgba(13,25,42,.94),rgba(7,15,27,.96)); }
.focus-reward-boost > img{ width:27px; height:27px; object-fit:contain; filter:drop-shadow(0 2px 4px rgba(0,0,0,.4)); }
.focus-reward-boost > span{ min-width:0; display:grid; grid-template-columns:1fr auto; align-items:baseline; column-gap:5px; }
.focus-reward-boost small{ color:#a6926f; font-size:.42rem; font-weight:900; letter-spacing:.08em; }
.focus-reward-boost strong{ color:#eed092; font-weight:700; font-size:.68rem; white-space:nowrap; }
.focus-reward-boost em{ grid-column:1/-1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#a8b3c3; font-size:.37rem; font-style:normal; line-height:1.25; }
.focus-reward-boost:not(.active) strong{ color:#7e8999; font-size:.54rem; }

.custom-subject-creator{ gap:10px !important; padding:12px !important; }
.custom-subject-creator span,.custom-subject-settings-group .subject-settings-group-title span{ font-size:.48rem !important; }
.custom-subject-creator strong{ font-size:.74rem !important; }
.custom-subject-creator small{ font-size:.52rem !important; }
.custom-subject-entry input{ height:42px !important; font-size:.62rem !important; }
.custom-subject-entry button{ min-width:94px; font-size:.53rem !important; padding:0 12px !important; white-space:nowrap; }
.subject-settings-actions .secondary-button{ min-width:76px; white-space:nowrap; font-size:.52rem !important; }



.quest-maker-grid select,.quest-maker-grid input{ height:44px !important; font-size:.62rem !important; }

.quest-maker-preview{ padding:12px !important; gap:4px !important; }



.quest-maker-create{ min-height:42px; font-size:.58rem !important; }








.premium-castle-locked-hero{ min-height:360px; display:grid; place-items:center; align-content:center; gap:13px; padding:20px; border:1px solid rgba(220,174,85,.28); border-radius:14px; background:radial-gradient(circle at 50% 28%,rgba(90,66,151,.2),transparent 35%),linear-gradient(180deg,#101a31,#07101e); text-align:center; overflow:hidden; }
.premium-castle-locked-hero > img{ width:min(86%,330px); height:180px; object-fit:contain; opacity:.72; filter:saturate(.7) drop-shadow(0 10px 20px rgba(0,0,0,.45)); }
.premium-castle-locked-hero > div{ display:grid; gap:5px; max-width:390px; }
.premium-castle-locked-hero span{ color:#d5a653; font-size:.46rem; letter-spacing:.12em; }
.premium-castle-locked-hero strong{ color:#f0d79e; font-weight:600; font-size:.9rem; }
.premium-castle-locked-hero small{ color:#a6b2c4; font-size:.52rem; line-height:1.45; }
.premium-castle-locked-hero button{ min-height:40px; padding:0 18px; border:1px solid rgba(236,185,80,.58); border-radius:9px; background:linear-gradient(180deg,#9d6d24,#5d3b12); color:#ffebb9; font:inherit; font-size:.52rem; font-weight:900; letter-spacing:.07em; }

.premium-team-benefits{ display:grid; gap:8px; }
.team-aura-card,.weekly-xp-prize-card{ border:1px solid rgba(199,158,85,.2); border-radius:12px; background:linear-gradient(180deg,rgba(12,24,43,.98),rgba(7,15,27,.98)); box-shadow:inset 0 1px 0 rgba(255,255,255,.03); }
.team-aura-card{ min-height:74px; display:grid; grid-template-columns:44px minmax(0,1fr) auto; align-items:center; gap:9px; padding:9px 10px; }
.team-aura-card.active{ border-color:rgba(225,176,77,.46); background:radial-gradient(circle at 9% 50%,rgba(133,84,196,.16),transparent 27%),linear-gradient(180deg,rgba(16,28,49,.98),rgba(8,16,30,.98)); }
.team-aura-card img{ width:42px; height:42px; object-fit:contain; }
.team-aura-card > div{ display:grid; gap:2px; }
.team-aura-card span,.weekly-xp-prize-head span{ color:#c99a4d; font-size:.38rem; font-weight:900; letter-spacing:.09em; }
.team-aura-card strong{ color:#efd59d; font-size:.53rem; }
.team-aura-card small{ color:#91a0b5; font-size:.39rem; line-height:1.35; }
.team-aura-card > em{ padding:4px 6px; border:1px solid rgba(210,169,89,.22); border-radius:999px; color:#9da8b7; font-size:.32rem; font-style:normal; font-weight:900; }
.team-aura-card.active > em{ color:#ffda85; border-color:rgba(231,183,83,.46); background:rgba(172,116,33,.13); }
.weekly-xp-prize-card{ overflow:hidden; }
.weekly-xp-prize-card.claimable{ border-color:rgba(229,180,79,.5); box-shadow:0 0 18px rgba(196,132,35,.08),inset 0 1px 0 rgba(255,255,255,.04); }
.weekly-xp-prize-head{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 10px; border-bottom:1px solid rgba(196,153,81,.12); }
.weekly-xp-prize-head strong{ color:#f1cf86; font-size:.43rem; white-space:nowrap; }
.weekly-xp-prize-copy{ min-height:57px; display:grid; grid-template-columns:35px minmax(0,1fr) auto; align-items:center; gap:8px; padding:8px 10px; }
.weekly-xp-prize-copy > img{ width:32px; height:32px; object-fit:contain; }
.weekly-xp-prize-copy > div{ min-width:0; display:grid; gap:2px; }
.weekly-xp-prize-copy > div strong{ overflow:hidden; text-overflow:ellipsis; color:#e8d4ac; font-size:.51rem; }
.weekly-xp-prize-copy > div small{ color:#8f9db1; font-size:.38rem; line-height:1.3; }
.weekly-xp-prize-copy > em{ color:#a58b62; font-size:.32rem; font-style:normal; font-weight:900; }
.weekly-xp-prize-copy button{ min-height:32px; padding:0 9px; border:1px solid rgba(229,181,82,.5); border-radius:8px; background:linear-gradient(180deg,#986923,#5c3b14); color:#ffe3a0; font:inherit; font-size:.39rem; font-weight:900; }
.weekly-xp-prize-copy button:disabled{ opacity:.55; }

/* Let square banner art breathe inside the hanging pennant rather than touching/clipping its edges. */
.teams-banner{ overflow:hidden !important; padding:9px 8px 23px !important; }
.teams-banner img{ width:100% !important; height:100% !important; max-width:100% !important; max-height:100% !important; object-fit:contain !important; object-position:center 43% !important; transform:scale(.88); transform-origin:center; }
.teams-banner::before{ inset:6px 6px 18px !important; }
.teams-banner::after{ bottom:24px !important; left:12px !important; right:12px !important; }

@media (max-width:390px) {
  .focus-reward-boosts{ gap:5px; }
  .focus-reward-boost{ grid-template-columns:25px minmax(0,1fr); padding:5px 6px; }
  .focus-reward-boost > img{ width:23px; height:23px; }
  .focus-reward-boost small{ font-size:.36rem; }
  .focus-reward-boost strong{ font-size:.58rem; }
  .focus-reward-boost em{ font-size:.32rem; }
  .team-aura-card{ grid-template-columns:36px minmax(0,1fr) auto; gap:6px; padding:8px; }
  .team-aura-card img{ width:34px; height:34px; }
  .team-aura-card small{ font-size:.35rem; }
  .weekly-xp-prize-copy{ grid-template-columns:29px minmax(0,1fr) auto; gap:6px; padding:7px 8px; }
  .weekly-xp-prize-copy > img{ width:27px; height:27px; }
}

/* ===== 2026-08-26 Premium team minutes + Focus Boosts refinement ===== */
/* Focus now has one compact BOOSTS disclosure instead of persistent XP/coin cards. */
.focus-quote-overlay .focus-boosts-strip,
body[data-reward-theme] .focus-quote-overlay .focus-boosts-strip{
  
  display:block !important;
  
}
.focus-boosts-dropdown{
  width:100%;
  border:1px solid rgba(210,168,88,.24);
  border-radius:10px;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(7,17,31,.82),rgba(5,12,23,.9));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.focus-boosts-heading{
  
  display:grid !important;
  grid-template-columns:28px minmax(0,1fr) 18px !important;
  align-items:center !important;
  gap:7px !important;
  
  cursor:pointer;
}
.focus-boosts-heading::-webkit-details-marker{ display:none; }

.focus-boosts-heading .focus-loadout-mini-art img{   object-fit:contain !important; }
.focus-boosts-heading .focus-loadout-title-copy{ display:flex !important; align-items:baseline !important; gap:7px !important; min-width:0; }
.focus-boosts-heading .focus-loadout-title-copy b{ color:#e0b75f !important;  letter-spacing:.1em !important; }
.focus-boosts-heading .focus-loadout-title-copy strong{ color:#aeb8c7 !important;   white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.focus-boosts-dropdown[open] .focus-loadout-toggle{ transform:rotate(180deg); }
.focus-boosts-expanded{ display:grid; gap:6px; padding:0 7px 8px; border-top:1px solid rgba(210,168,88,.12); }
.focus-boost-group{ display:grid; gap:4px;   }
.focus-boost-group:last-child{ border-bottom:0; }
.focus-boost-group-head{ display:grid;  align-items:center;  }
.focus-boost-group-head img{   object-fit:contain; }
.focus-boost-group-head span{ display:grid; gap:1px; min-width:0; }
.focus-boost-group-head b,.focus-boost-total-row b{ color:#c99f50; font-size:.35rem; letter-spacing:.09em; }
.focus-boost-group-head strong{ color:#ead8b1;  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.focus-boost-group .focus-loadout-bonus{  color:#9daabd !important; }
.focus-boost-group.reward-totals{   padding-bottom:3px; }
.focus-boost-total-row{ min-width:0; display:grid;  align-items:center;     background:rgba(8,18,33,.7); }
.focus-boost-total-row > img{ width:25px; height:25px; object-fit:contain; }
.focus-boost-total-row > span{ min-width:0;    column-gap:4px; }
.focus-boost-total-row strong{ color:#f0ce87; font-weight:700;  white-space:nowrap; }
.focus-boost-total-row small{ grid-column:1/-1; color:#8998ad; font-size:.29rem; line-height:1.25; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* RESET is a primary utility in subject selection; keep it legible on phone. */
.subject-settings-actions #restoreDefaultSubjects,
.subject-settings-actions .secondary-button#restoreDefaultSubjects{
  min-width:88px !important;
  min-height:39px !important;
  font-size:.66rem !important;
  font-weight:900 !important;
  letter-spacing:.07em !important;
}

/* Manage-only Lumen team controls. */
.team-manage-premium-stack{ display:grid; gap:7px; }
.team-manage-premium-stack .team-aura-card,
.team-manage-premium-stack .weekly-xp-prize-card{ margin:0; }
.weekly-minutes-prize .weekly-xp-prize-head span{ color:#d7ad59; }
.team-capacity-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  padding:10px;
  border:1px solid rgba(75,121,201,.25);
  border-radius:11px;
  background:linear-gradient(90deg,rgba(8,27,55,.96),rgba(6,18,37,.98));
}
.team-capacity-card > div{ display:grid; gap:2px; min-width:0; }
.team-capacity-card > div span{ color:#c99e4e; font-size:.38rem; font-weight:900; letter-spacing:.1em; }
.team-capacity-card > div strong{ color:#ecd39e; font-weight:600; font-size:.64rem; }
.team-capacity-card > div small{ color:#94a5bc; font-size:.38rem; line-height:1.35; }
.team-capacity-card label{  display:grid;  align-items:center;  }
.team-capacity-card label span,.team-capacity-card output{ color:#d7b265; font-size:.4rem; font-weight:900; }

.team-capacity-card > button{ grid-column:2; min-height:29px; padding:0 9px; border:1px solid rgba(229,181,82,.48); border-radius:7px; background:linear-gradient(180deg,#936522,#563813); color:#ffe3a0; font:inherit; font-size:.38rem; font-weight:900; }
.team-prize-reward-copy{ color:#e9c56f; font-size:.52rem; font-weight:900; letter-spacing:.05em; margin-top:2px; }
.team-weekly-prize-reveal .chest-reveal-art-shell img{ object-fit:contain; }

/* One continuous Academy progression bar with Bronze/Silver/Gold checkpoints. */
.team-rank-roadmap-card{ padding-bottom:15px !important; }
.team-rank-roadmap{ position:relative;   }
.team-rank-roadmap-track{ position:absolute; left:0; right:0;   border-radius:999px; border:1px solid rgba(113,142,184,.28); background:#071426; box-shadow:inset 0 2px 5px rgba(0,0,0,.4); overflow:hidden; }
.team-rank-roadmap-track i{ display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#8b632a,#d6aa54 52%,#f0d178); box-shadow:0 0 12px rgba(219,174,78,.25); }
.team-rank-checkpoint{ position:absolute;   transform:translateX(-50%); display:grid; justify-items:center;  text-align:center; opacity:.46; }
.team-rank-checkpoint:first-of-type{ transform:translateX(-50%); }
.team-rank-checkpoint.unlocked{ opacity:1; }
.team-rank-checkpoint-badge{   display:grid; place-items:center; border-radius:50%; background:#071326; border:2px solid rgba(164,134,79,.4); z-index:2; }
.team-rank-checkpoint.unlocked .team-rank-checkpoint-badge{ border-color:rgba(232,190,99,.8); box-shadow:0 0 13px rgba(218,174,83,.16); }
.team-rank-checkpoint-badge img{   object-fit:contain; }
.team-rank-checkpoint > strong{  color:#e2c37f;  letter-spacing:.06em; }


@media (max-width:390px) {
  .focus-boosts-expanded{ gap:4px; padding-left:5px; padding-right:5px; }
  .focus-boost-group{ padding-left:4px; padding-right:4px; }
  .focus-boost-group.reward-totals{ gap:4px; }
  .focus-boost-total-row{ grid-template-columns:23px minmax(0,1fr); gap:4px; padding:5px 4px; }
  .focus-boost-total-row > img{ width:22px; height:22px; }
  .focus-boost-total-row strong{ font-size:.49rem; }
  .focus-boost-total-row small{ font-size:.27rem; }
  .team-capacity-card{ grid-template-columns:1fr; }
  .team-capacity-card label,.team-capacity-card > button{ grid-column:1; }
  .team-capacity-card label{ grid-template-columns:auto minmax(0,1fr) auto; width:100%; }
  .team-capacity-card input[type="range"]{ width:100%; }
  .team-rank-roadmap{ margin-left:34px; margin-right:34px; }
  .team-rank-checkpoint{ width:66px; }
  .team-rank-checkpoint-badge{ width:44px; height:44px; }
  .team-rank-checkpoint-badge img{ width:40px; height:40px; }
}

/* ===== 2026-08-26 Boost disclosure foreground fix =====
   The quote/loadout layer previously shared z-index 3 with scene artwork in a
   later override. An expanded BOOSTS panel could therefore be painted beneath
   the character on some phone layouts. Keep the study header above scene art,
   and give the open disclosure its own foreground surface. */
.focus-quote-overlay,
body[data-reward-theme] .focus-quote-overlay{
  z-index: 12 !important;
}
.focus-boosts-dropdown[open],
body[data-reward-theme] .focus-boosts-dropdown[open]{
  position: relative !important;
  z-index: 14 !important;
  
  box-shadow: 0 12px 30px rgba(0,0,0,.46), inset 0 1px 0 rgba(255,255,255,.035) !important;
}
.focus-boosts-dropdown[open] .focus-boosts-expanded,
body[data-reward-theme] .focus-boosts-dropdown[open] .focus-boosts-expanded{
  position: relative !important;
  z-index: 15 !important;
  background: linear-gradient(180deg, rgba(7,17,31,.98), rgba(4,11,21,.99)) !important;
  border-radius: 0 0 10px 10px;
}
.focus-character-ground,
body[data-reward-theme] .focus-character-ground{
  z-index: 1 !important;
}

/* Developer-only live account repair */
.account-repair-entry{
  border-color: rgba(220, 173, 80, .45) !important;
  background: linear-gradient(135deg, rgba(89, 58, 20, .32), rgba(24, 23, 30, .9)) !important;
}
.account-repair-warning{
  display: grid;
  gap: 6px;
  margin: 12px 0 14px;
  padding: 14px 16px;
  border: 1px solid rgba(220, 173, 80, .38);
  border-radius: 14px;
  background: rgba(92, 65, 24, .2);
}
.account-repair-warning strong{ font-size: 13px; letter-spacing: .1em; }
.account-repair-warning span{ font-size: 13px; line-height: 1.45; opacity: .86; }
.account-repair-warning.danger{ border-color: rgba(231, 106, 106, .48); background: rgba(113, 31, 31, .2); }
.account-repair-warning.success{ border-color: rgba(112, 203, 142, .45); background: rgba(25, 91, 50, .2); }
.account-repair-loading{
  padding: 32px 12px;
  text-align: center;
  font-size: 14px;
  letter-spacing: .12em;
  opacity: .72;
}
.account-repair-account{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 8px 0 14px;
  padding: 0 2px;
}
.account-repair-account strong{ font-size: 18px; }
.account-repair-account span{ font-size: 12px; opacity: .65; overflow-wrap: anywhere; text-align: right; }
.account-repair-summary-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 10px 0 12px;
}
.account-repair-summary-grid article{
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 13px;
  border-radius: 13px;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.045);
}
.account-repair-summary-grid article span{ font-size: 10px; letter-spacing: .1em; opacity: .65; }
.account-repair-summary-grid article strong{ font-size: 20px; }
.account-repair-summary-grid article small{ font-size: 11px; opacity: .62; }
.account-repair-evidence{
  display: grid;
  gap: 0;
  margin: 10px 0;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 13px;
  overflow: hidden;
}
.account-repair-evidence > div{
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 13px;
  border-bottom: 1px solid rgba(255,255,255,.07);
  font-size: 13px;
}
.account-repair-evidence > div:last-child{ border-bottom: 0; }
.account-repair-suggestion{
  display: grid;
  gap: 5px;
  margin: 13px 0;
  padding: 15px;
  border-radius: 14px;
  border: 1px solid rgba(220, 173, 80, .42);
  background: linear-gradient(135deg, rgba(104, 73, 23, .28), rgba(43, 36, 24, .2));
}
.account-repair-suggestion span{ font-size: 10px; letter-spacing: .11em; opacity: .72; }
.account-repair-suggestion strong{ font-size: 18px; }
.account-repair-suggestion small{ font-size: 11px; line-height: 1.4; opacity: .68; }
.account-repair-fields{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
}
.account-repair-fields label{
  display: grid;
  gap: 7px;
  font-size: 11px;
  letter-spacing: .08em;
}
.account-repair-fields label.wide{ grid-column: 1 / -1; }
.account-repair-fields input{
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  padding: 12px 13px;
  border-radius: 11px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(8, 10, 16, .72);
  color: inherit;
  font: inherit;
  letter-spacing: normal;
}
.account-repair-confirm{
  
  
  gap: 10px;
  margin: 13px 0;
  padding: 12px 13px;
  border-radius: 12px;
  background: rgba(255,255,255,.04);
  font-size: 12px;
  line-height: 1.4;
}
.account-repair-confirm input{ margin-top: 2px; flex: 0 0 auto; }
.account-repair-note{ font-size: 13px; line-height: 1.5; opacity: .76; }
@media (max-width: 540px) {
  .account-repair-account{ align-items: flex-start; flex-direction: column; }
  .account-repair-account span{ text-align: left; }
  .account-repair-summary-grid, .account-repair-fields{ grid-template-columns: 1fr; }
  .account-repair-fields label.wide{ grid-column: auto; }
}

/* Admin-only live account repair */
.admin-repair-search{
  margin: 12px 0 8px;
}
.admin-repair-search label{
  display: grid;
  gap: 8px;
  font-size: 11px;
  letter-spacing: .09em;
}
.admin-repair-search label > div{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 9px;
}
.admin-repair-search input{
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  padding: 13px 14px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(8, 10, 16, .72);
  color: inherit;
  font: inherit;
  letter-spacing: normal;
}
.admin-repair-search .action-button{
  min-width: 108px;
  padding-inline: 18px;
}
.admin-repair-results{
  display: grid;
  gap: 9px;
  margin-top: 12px;
}
.admin-repair-result{
  width: 100%;
  text-align: left;
}
.admin-repair-result > span:last-child{
  display: grid;
  justify-items: end;
  gap: 2px;
  white-space: nowrap;
}
.admin-repair-result small{
  overflow-wrap: anywhere;
}
.account-repair-warning code{
  
  font-size: .92em;
  overflow-wrap: anywhere;
}
@media (max-width: 540px) {
  .admin-repair-search label > div{ grid-template-columns: 1fr; }
  .admin-repair-search .action-button{ width: 100%; }
  .admin-repair-result{ align-items: flex-start; }
  .admin-repair-result > span:last-child{ justify-items: start; }
}

/* ===== 2026-08-26 Admin repair checkbox readability fix =====
   Global form inputs are full-width; repair confirmations need native-sized
   checkboxes so their explanatory copy keeps a readable horizontal measure. */
.account-repair-confirm{
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  align-items: start !important;
  column-gap: 11px !important;
  row-gap: 0 !important;
}
.account-repair-confirm input[type="checkbox"]{
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  width: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  max-height: 18px !important;
  padding: 0 !important;
  margin: 1px 0 0 !important;
  border-radius: 3px !important;
  flex: none !important;
  box-sizing: border-box !important;
  accent-color: var(--gold);
}
.account-repair-confirm > span{
  display: block !important;
  min-width: 0 !important;
  width: auto !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  line-height: 1.45 !important;
  text-align: left !important;
}
.phone-stage #sheetOverlay .account-repair-confirm input[type="checkbox"]{
  width: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  height: 18px !important;
}

/* ===== 2026-08-27 Lumen multi-academy carousel + rhythm stats ===== */
.teams-membership-switcher{
  display:grid;
  gap:7px;
  margin:8px 0 10px;
  padding:9px 0 8px;
  border-top:1px solid rgba(224,187,96,.18);
  border-bottom:1px solid rgba(224,187,96,.14);
}
.teams-membership-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:10px;
  padding:0 2px;
}
.teams-membership-head > div{ display:grid; gap:1px; }
.teams-membership-head span{ color:#d8b75f; font-size:.37rem; font-weight:900; letter-spacing:.13em; }
.teams-membership-head strong{ color:#f2dfb3;  font-size:.66rem; font-weight:500; }
.teams-membership-head small{ color:#98aac4; font-size:.38rem; font-weight:800; letter-spacing:.07em; }
.teams-membership-scroll{
  display:flex;
  gap:8px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x proximity;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
  padding:2px 2px 6px;
  scrollbar-width:none;
}
.teams-membership-scroll::-webkit-scrollbar{ display:none; }
.teams-membership-card{
  flex:0 0 min(220px,76vw);
  min-height:66px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  scroll-snap-align:start;
  border:1px solid rgba(185,202,229,.15);
  border-radius:13px;
  padding:8px 9px;
  background:linear-gradient(180deg,rgba(11,29,54,.96),rgba(5,17,34,.98));
  color:inherit;
  font:inherit;
  text-align:left;
  box-shadow:0 8px 20px rgba(0,0,0,.18);
}
.teams-membership-card.selected{
  border-color:rgba(231,190,83,.48);
  box-shadow:0 0 0 1px rgba(231,190,83,.10),0 9px 24px rgba(0,0,0,.24);
}
.teams-membership-card.locked{ opacity:.62; }
.teams-membership-banner{
  width:42px;
  height:48px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:8px 8px 11px 11px;
  background:linear-gradient(180deg,rgba(34,62,101,.8),rgba(12,29,52,.9));
  border:1px solid rgba(224,187,96,.25);
}
.teams-membership-banner img{ width:34px; height:34px; object-fit:contain; }
.teams-membership-copy{ min-width:0; display:grid; gap:3px; }
.teams-membership-copy strong{ color:#f1dfb7; font-size:.54rem; letter-spacing:.025em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.teams-membership-copy small{ color:#9db0ca; font-size:.39rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.teams-membership-card > b{ color:#d9b75d; font-size:.34rem; letter-spacing:.08em; }
.teams-membership-card.add{ border-style:dashed; background:rgba(15,33,59,.6); }
.teams-membership-add{ width:38px; height:38px; border-radius:50%; display:grid; place-items:center; border:1px solid rgba(225,187,87,.3); color:#e2c36e; font-size:1rem; }
.teams-membership-switcher > p{ margin:0 3px; color:#8fa2bd; font-size:.36rem; line-height:1.35; }

@media (max-width:430px) {
  .teams-membership-card{ flex-basis:min(205px,78vw); min-height:62px; grid-template-columns:38px minmax(0,1fr) auto; }
  .teams-membership-banner{ width:38px; height:44px; }
  .teams-membership-banner img{ width:31px; height:31px; }
  .teams-membership-copy strong{ font-size:.5rem; }
  .teams-membership-copy small{ font-size:.36rem; }
}


/* ===== 2026-08-27 classic Focus character shadow + iPhone-style Academy contributor pager ===== */
/* Restore the older artwork treatment: preserve the character's original colour
   and contrast, and use only a grounding drop shadow. */
.focus-character-ground .hero-avatar,
body[data-reward-theme] .focus-character-ground .hero-avatar,
body[data-lumen-pass="active"] .focus-character-ground .hero-avatar{
  filter: drop-shadow(0 12px 16px rgba(0,0,0,.34)) !important;
}

.teams-pager-toolbar{ align-items:center; gap:8px; }
.teams-pager-toolbar-actions{ display:flex; align-items:center; justify-content:flex-end; gap:6px; }
.teams-pager-add{
  min-height:30px; padding:0 8px; border-radius:8px; border:1px solid rgba(224,187,96,.34);
  background:linear-gradient(180deg,rgba(48,60,83,.88),rgba(16,29,48,.96)); color:#e8cb79;
  font:inherit; font-size:.35rem; font-weight:900; letter-spacing:.07em; white-space:nowrap;
}
.teams-contributors-pager{
  display:flex;    
  overscroll-behavior-inline:contain;  
   border-radius:12px;
}
.teams-contributors-pager::-webkit-scrollbar{ display:none; }

.teams-contributors-team-head{
  min-height:46px; display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:8px;
  margin:0 1px 6px; padding:5px 7px 7px; border-bottom:1px solid rgba(218,184,101,.14);
}
.teams-contributors-team-banner{
  width:36px; height:39px; display:grid; place-items:center; border-radius:7px 7px 10px 10px;
  border:1px solid rgba(225,188,88,.25); background:rgba(14,32,56,.76); overflow:hidden;
}
.teams-contributors-team-banner img{ width:30px; height:30px; object-fit:contain; }
.teams-contributors-team-head > span:nth-child(2){ min-width:0; display:grid; gap:1px; }
.teams-contributors-team-head small{ color:#c2a65d; font-size:.30rem; font-weight:900; letter-spacing:.12em; }
.teams-contributors-team-head strong{ color:#f0dfba;  font-size:.56rem; font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.teams-contributors-team-head > b{ color:#91a5c3; font-size:.30rem; letter-spacing:.07em; white-space:nowrap; }
.teams-contributors-empty, .teams-contributors-locked{
  min-height:142px; display:grid; place-items:center; align-content:center; gap:5px; padding:18px; text-align:center;
  color:#9cacc4; font-size:.39rem; line-height:1.4;
}
.teams-contributors-locked img{ width:42px; height:42px; object-fit:contain; }
.teams-contributors-locked strong{ color:#e8c56c; font-size:.5rem; letter-spacing:.08em; }
.teams-contributors-locked span{ max-width:250px; }
.teams-pager-dots{  align-items:center; justify-content:center; gap:7px;  }
.teams-pager-dots button{
  width:7px; min-width:7px; height:7px; min-height:7px; padding:0; border:0; border-radius:999px;
  background:rgba(171,188,214,.3); box-shadow:none; transition:width .18s ease, background .18s ease;
}
.teams-pager-dots button.active{ width:17px; background:rgba(229,193,94,.86); }
.teams-pager-hint{ margin:2px 0 0; text-align:center; color:#8194af; font-size:.31rem; letter-spacing:.03em; }
@media (max-width:430px) {
  .teams-pager-toolbar{ align-items:flex-start; }
  .teams-pager-toolbar-actions{ gap:4px; }
  .teams-pager-add{ min-height:27px; padding:0 6px; font-size:.31rem; }
  .teams-contributors-team-head{ grid-template-columns:34px minmax(0,1fr) auto; }
  .teams-contributors-team-banner{ width:32px; height:35px; }
  .teams-contributors-team-banner img{ width:27px; height:27px; }
  .teams-contributors-team-head strong{ font-size:.52rem; }
}

/* ===== 2026-08-27 stats cleanup + reliable Academy swipe pager ===== */
.phone-stage #sheetOverlay .sheet.settings-sheet-modal{
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
}
.phone-stage #sheetOverlay .sheet.settings-sheet-modal::-webkit-scrollbar{ display:none !important; width:0 !important; height:0 !important; }

.elite-quest-maker-button{ font-size:.49rem !important; min-height:32px; padding-left:11px; padding-right:11px; }

.teams-contributors-pager-shell{
  overflow:visible !important;
  min-height:0 !important;
}
.teams-contributors-pager{
  position:relative;
  width:100%;
  
  
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-snap-type:x mandatory;
  
  overscroll-behavior-x:contain;
  overscroll-behavior-y:auto;
  touch-action:pan-x pan-y;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  z-index:2;
}
.teams-contributors-slide{
  flex:0 0 100% !important;
  width:100% !important;
  min-width:100% !important;
  height:100%;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  scroll-snap-align:start;
  scroll-snap-stop:always;
  box-sizing:border-box;
  padding:0 1px 2px;
}
.teams-contributors-slide .teams-leaderboard-list{
  flex:1 1 auto !important;
  min-height:0 !important;
  height:100%;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  touch-action:pan-y;
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding:1px 2px 4px 0;
}
.teams-contributors-slide .teams-leaderboard-list::-webkit-scrollbar{ display:none; width:0; }
.teams-pager-dots{
  position:relative;
  z-index:8;
  display:flex !important;
  visibility:visible !important;
  flex:0 0 auto;
  
  padding:7px 0 3px !important;
}
.teams-pager-dots button{
  display:block !important;
  flex:0 0 auto;
}
.teams-pager-hint{ margin-top:0 !important; }

@media (max-width:430px) {
  .elite-quest-maker-button{ font-size:.43rem !important; min-height:31px; padding-left:8px; padding-right:8px; }
  .teams-contributors-pager{ height:278px; min-height:278px; }
}

/* ===== 2026-08-27 team capacity / boost stack / lifetime Pass reward polish ===== */
/* Team capacity: make the control large enough for touch and remove inherited
   input padding so the thumb can genuinely travel from the first to last value. */
.team-capacity-card label{
  min-width: 196px !important;
  grid-template-columns: auto minmax(142px, 1fr) auto !important;
  gap: 9px !important;
}
.team-capacity-card input[type="range"]{
  width: 100% !important;
  min-width: 142px !important;
  height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  box-sizing: border-box !important;
  accent-color: #d8aa50;
  touch-action: pan-x;
}
.team-capacity-card input[type="range"]::-webkit-slider-runnable-track{
  width: 100%;
  height: 9px;
  border-radius: 999px;
  border: 1px solid rgba(229,190,103,.42);
  background: linear-gradient(90deg,#76501e,#d8aa50 50%,#76501e);
  box-shadow: inset 0 1px 2px rgba(0,0,0,.42);
}
.team-capacity-card input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance: none;
  width: 25px;
  height: 25px;
  margin-top: -9px;
  border-radius: 50%;
  border: 1px solid #f2cf7e;
  background: radial-gradient(circle at 35% 30%,#ffe7aa,#d39a3a 62%,#704719);
  box-shadow: 0 0 0 3px rgba(5,10,18,.58),0 0 10px rgba(222,173,75,.22);
}
.team-capacity-card input[type="range"]::-moz-range-track{
  width: 100%;
  height: 9px;
  border-radius: 999px;
  border: 1px solid rgba(229,190,103,.42);
  background: linear-gradient(90deg,#76501e,#d8aa50 50%,#76501e);
  box-shadow: inset 0 1px 2px rgba(0,0,0,.42);
}
.team-capacity-card input[type="range"]::-moz-range-thumb{
  width: 25px;
  height: 25px;
  border-radius: 50%;
  border: 1px solid #f2cf7e;
  background: radial-gradient(circle at 35% 30%,#ffe7aa,#d39a3a 62%,#704719);
  box-shadow: 0 0 0 3px rgba(5,10,18,.58),0 0 10px rgba(222,173,75,.22);
}
.team-capacity-card label span,
.team-capacity-card output{ font-size: .48rem !important; }

/* Active XP/coin bonuses read top-to-bottom instead of being compressed into
   one horizontal sentence. */
.focus-boost-total-row > span{
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-items: start !important;
  gap: 2px !important;
}
.focus-boost-total-row > span > b,
.focus-boost-total-row > span > strong,
.focus-boost-total-row > span > small{ grid-column: 1 !important; }
.focus-boost-source-stack{
  display: grid !important;
  gap: 2px !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  line-height: 1.25 !important;
}
.focus-boost-source-stack > span{ display: block; }

/* Lifetime Pass collection reveal: chest-like ceremony for every included
   premium character and pet, claimed one by one. */
.lifetime-premium-reveal-screen .chest-reveal-art-shell{
  width: min(68vw, 292px);
  height: min(68vw, 292px);
  border-color: rgba(237,191,86,.72);
  box-shadow: 0 0 34px rgba(174,82,255,.20), inset 0 0 28px rgba(255,190,73,.10);
}
.lifetime-premium-reveal-screen .chest-reveal-title{
  color: #f3d48e;
  text-shadow: 0 0 14px rgba(223,170,73,.22);
}
.lifetime-premium-claim{
  min-width: 126px !important;
  min-height: 46px !important;
  font-size: .72rem !important;
  letter-spacing: .13em !important;
}

/* Make the Lumen Pass Celestial Chest call-to-action unmistakable. */



@media (max-width: 430px) {
  .team-capacity-card label{
    min-width: 0 !important;
    width: 100% !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
  }
  .team-capacity-card input[type="range"]{ min-width: 0 !important; width: 100% !important; }
  
  
}


/* ===== 2026-08-27 classic character / lifetime claim-all / Lumen Path ===== */
.lifetime-premium-actions{
  width:min(330px,84vw);
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.lifetime-premium-actions .chest-reveal-collect{ width:100% !important; min-width:0 !important; }
.lifetime-premium-claim-all{
  min-height:46px !important;
  border:1px solid rgba(213,178,103,.44) !important;
  background:linear-gradient(180deg,rgba(22,38,65,.96),rgba(10,20,38,.98)) !important;
  color:#f1d79d !important;
  font-size:.66rem !important;
  letter-spacing:.10em !important;
}

.lumen-path-panel{
  display:grid;
  
  
  border:1px solid rgba(226,178,83,.28);
  border-radius:12px;
  
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.lumen-path-head{ display:grid;  align-items:center;  }
.lumen-path-head > img{   object-fit:contain; filter:drop-shadow(0 0 8px rgba(218,168,70,.16)); }
.lumen-path-head > div{ min-width:0; display:grid; gap:2px; }
.lumen-path-head span{ color:#d5a64e;  font-weight:900; letter-spacing:.11em; }
.lumen-path-head strong{ color:#f2d99d; font-weight:600;  letter-spacing:.05em; }
.lumen-path-head small{ color:#91a2ba;  line-height:1.25; }
.lumen-path-head > b{ color:#efca7d; font-weight:600;  white-space:nowrap; }
.lumen-path-track{  border-radius:999px; overflow:hidden; border:1px solid rgba(214,169,82,.22); background:#081426; }
.lumen-path-track > i{ display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#966827,#d5a349 58%,#f2d17d); box-shadow:0 0 10px rgba(229,184,89,.20); }

.lumen-path-step{  display:grid;  align-items:center;   border:1px solid rgba(202,163,93,.14);   }
.lumen-path-step.locked{ opacity:.58; }

.lumen-path-step.claimed{ opacity:.72; }
.lumen-path-node{ position:relative;   display:grid; place-items:center;  border:1px solid rgba(222,178,91,.25);  }
.lumen-path-node > span{ position:absolute;     display:grid; place-items:center; border-radius:50%; background:#b27a2b; color:#fff0c2;  font-weight:900; }
.lumen-path-node img{   object-fit:contain; }
.lumen-path-step-copy{ min-width:0; display:grid; gap:1px; }
.lumen-path-step-copy > span{ color:#c89d4f;  font-weight:900; letter-spacing:.08em; }
.lumen-path-step-copy > strong{ color:#ecd7a9;  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lumen-path-step-copy > small{ color:#8799b2;   }
.lumen-path-step > button{    border:1px solid rgba(231,185,89,.45); border-radius:7px; background:linear-gradient(180deg,#976523,#583712); color:#ffe5a6; font:inherit;    white-space:nowrap; }
.lumen-path-step > button:disabled{ border-color:rgba(127,144,168,.18); background:rgba(13,25,43,.78); color:#72839b; opacity:1; }

.lumen-path-note{ margin:0; padding-top:1px; color:#75879f;  line-height:1.35; text-align:center; }

@media (max-width:390px) {
  .lifetime-premium-actions{ width:min(310px,88vw); gap:7px; }
  .lifetime-premium-claim-all{ font-size:.59rem !important; }
  .lumen-path-panel{ padding:8px; }
  .lumen-path-step{ grid-template-columns:36px minmax(0,1fr) auto; gap:5px; padding:5px; }
  .lumen-path-node{ width:34px; height:34px; }
  .lumen-path-node img{ width:24px; height:24px; }
  .lumen-path-step > button{ min-width:65px; padding:0 5px; font-size:.29rem; }
}

/* ===== 2026-08-27 team pager / boost alignment / 30-step Lumen Path polish ===== */
/* Focus boost copy is always left aligned, including Lumen Pass and Team Aura sources. */
.focus-boost-total-row,
.focus-boost-total-row > span,
.focus-boost-source-stack,
.focus-boost-source-stack > span{
  text-align: left !important;
}
.focus-boost-total-row > span{
  justify-items: start !important;
  align-content: center !important;
}
.focus-boost-total-row > span > b,
.focus-boost-total-row > span > strong,
.focus-boost-total-row > span > small{
  justify-self: start !important;
  width: 100% !important;
}

/* The pager is hidden only for the fraction of a frame needed to restore its
   selected page. This prevents the visible first-page -> selected-page jump. */
.teams-contributors-pager{
  opacity: 0;
  scroll-behavior: smooth;
  height: 248px !important;
  min-height: 248px !important;
}
.teams-contributors-pager.pager-ready{ opacity: 1; }
.teams-pager-dots{
  margin-top: 2px !important;
  margin-bottom: 10px !important;
  min-height: 22px !important;
}
.teams-pager-hint{ display:none !important; }
/* Extra clearance keeps the page indicators out from beneath the fixed Manage control. */
body.secondary-screen-active .teams-dashboard-content{
  padding-bottom: 66px !important;
}

/* Team capacity save action should be as legible as the larger range control. */
.team-capacity-card > button[data-save-team-capacity]{
  min-height: 36px !important;
  padding: 0 14px !important;
  font-size: .58rem !important;
  letter-spacing: .09em !important;
}

/* Lumen Path becomes a long, winding monthly journey. */
.lumen-path-panel{
  gap: 10px !important;
  padding: 12px 10px 13px !important;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 3%, rgba(64,118,203,.18), transparent 24%),
    radial-gradient(circle at 88% 13%, rgba(133,76,205,.20), transparent 28%),
    linear-gradient(180deg, rgba(16,30,55,.98), rgba(6,15,30,.995)) !important;
}
.lumen-path-head{
  grid-template-columns: 44px minmax(0,1fr) auto !important;
  gap: 10px !important;
}
.lumen-path-head > img{ width: 42px !important; height: 42px !important; }
.lumen-path-head span{ font-size: .36rem !important; }
.lumen-path-head strong{ font-size: .82rem !important; }
.lumen-path-head small{ font-size: .39rem !important; }
.lumen-path-head > b{
  min-width: 44px;
  text-align: center;
  padding: 5px 7px;
  border: 1px solid rgba(224,181,91,.24);
  border-radius: 999px;
  background: rgba(7,16,31,.58);
  font-size: .55rem !important;
}
.lumen-path-progress-copy{
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 7px;
  color: #8fa3bd;
  font-size: .34rem;
  letter-spacing: .08em;
}
.lumen-path-progress-copy strong{ color:#efcb7b; font-size:.52rem; text-align:center; }
.lumen-path-progress-copy span:last-child{ text-align:right; }
.lumen-path-track{ height: 9px !important; }
.lumen-path-journey{
  position: relative;
  
  border-radius: 14px;
  
  border: 1px solid rgba(206,164,86,.10);
}
.lumen-path-route{
  position: absolute;
  z-index: 0;
  top: 27px;
  bottom: 27px;
  left: 50%;
  width: 5px;
  transform: translateX(-50%);
  border-radius: 999px;
  background:
    repeating-linear-gradient(180deg, rgba(111,137,176,.34) 0 8px, rgba(111,137,176,.08) 8px 15px);
  box-shadow: 0 0 0 1px rgba(223,184,104,.04);
  overflow: hidden;
}
.lumen-path-route > i{
  display: block;
  width: 100%;
  min-height: 0;
  max-height: 100%;
  border-radius: inherit;
  background: linear-gradient(180deg,#f2d27f,#d79f43 70%,#8e6328);
  box-shadow: 0 0 10px rgba(231,185,91,.25);
}
.lumen-path-steps{
  position: relative;
  z-index: 1;
  display: grid !important;
  grid-template-columns: 1fr !important;
  
}
.lumen-path-step{
  position: relative;
  width: 88% !important;
  min-height: 64px !important;
  grid-template-columns: 46px minmax(0,1fr) auto !important;
  gap: 8px !important;
  padding: 7px 8px !important;
  border-radius: 11px !important;
  background: linear-gradient(180deg,rgba(15,31,53,.94),rgba(7,18,34,.96)) !important;
  box-shadow: 0 5px 14px rgba(0,0,0,.12);
}
.lumen-path-step.left{ justify-self: start; margin-right: 12%; }
.lumen-path-step.right{ justify-self: end; margin-left: 12%; }
.lumen-path-step::before{
  content: "";
  position: absolute;
  top: 50%;
  width: 8%;
  height: 2px;
  background: linear-gradient(90deg,rgba(218,177,91,.12),rgba(218,177,91,.62));
}
.lumen-path-step.left::before{ right: -8%; }
.lumen-path-step.right::before{ left: -8%; transform: scaleX(-1); }
.lumen-path-step.major{
  width: 94% !important;
  
  border-color: rgba(235,193,102,.40) !important;
  background:
    radial-gradient(circle at 18% 15%, rgba(227,179,78,.10), transparent 28%),
    linear-gradient(180deg,rgba(30,43,67,.97),rgba(11,24,43,.98)) !important;
  box-shadow: 0 0 0 1px rgba(244,211,135,.04), 0 7px 18px rgba(0,0,0,.16);
}
.lumen-path-step.major.left{ margin-right: 6%; }
.lumen-path-step.major.right{ margin-left: 6%; }
.lumen-path-node{
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle at 35% 28%,rgba(62,91,132,.98),rgba(18,37,63,.98) 68%) !important;
  box-shadow: 0 0 0 3px rgba(7,16,31,.72), 0 0 11px rgba(211,169,82,.08);
}
.lumen-path-step.major .lumen-path-node{
  border-color: rgba(240,199,104,.62) !important;
  background: radial-gradient(circle at 35% 28%,#a9762b,#4d3213 72%) !important;
  box-shadow: 0 0 0 3px rgba(7,16,31,.72), 0 0 15px rgba(232,188,91,.20);
}
.lumen-path-node > span{
  width: 17px !important;
  height: 17px !important;
  top: -5px !important;
  left: -5px !important;
  font-size: .31rem !important;
}
.lumen-path-node img{ width: 30px !important; height: 30px !important; }
.lumen-path-step-copy > span{ font-size: .31rem !important; }
.lumen-path-step-copy > strong{ font-size: .50rem !important; }
.lumen-path-step-copy > small{ font-size: .33rem !important; line-height: 1.25 !important; }

.lumen-path-step.unlocked{
  border-color: rgba(238,192,96,.52) !important;
  box-shadow: inset 0 0 0 1px rgba(245,214,145,.05), 0 0 13px rgba(224,176,78,.08);
}
.lumen-path-step.claimed .lumen-path-node{
  border-color: rgba(113,183,132,.48) !important;
  box-shadow: 0 0 0 3px rgba(7,16,31,.72), 0 0 12px rgba(93,177,120,.11);
}
.lumen-path-note{ font-size: .34rem !important; padding: 2px 5px 0 !important; }

@media (max-width: 430px) {
  .teams-contributors-pager{ height: 232px !important; min-height: 232px !important; }
  .teams-pager-dots{ margin-bottom: 12px !important; }
  .lumen-path-panel{ padding: 10px 8px 11px !important; }
  .lumen-path-head{ grid-template-columns: 39px minmax(0,1fr) auto !important; gap:7px !important; }
  .lumen-path-head > img{ width:37px !important; height:37px !important; }
  .lumen-path-head strong{ font-size:.72rem !important; }
  .lumen-path-head small{ font-size:.35rem !important; }
  .lumen-path-step{ width: 91% !important; grid-template-columns: 40px minmax(0,1fr) auto !important; gap:5px !important; padding:6px !important; }
  .lumen-path-step.left{ margin-right:9%; }
  .lumen-path-step.right{ margin-left:9%; }
  .lumen-path-step.major{ width:96% !important; }
  .lumen-path-step.major.left{ margin-right:4%; }
  .lumen-path-step.major.right{ margin-left:4%; }
  .lumen-path-node{ width:39px !important; height:39px !important; }
  .lumen-path-node img{ width:27px !important; height:27px !important; }
  .lumen-path-step-copy > strong{ font-size:.45rem !important; }
  .lumen-path-step-copy > small{ font-size:.30rem !important; }
  .lumen-path-step > button{ min-width:65px !important; padding:0 5px !important; font-size:.28rem !important; }
}


/* ===== 2026-08-27 compact header claim + visible Lumen Path viewport ===== */
/* The premium chest card at the top of Rewards keeps its action small and on
   the left beneath the chest icon, instead of consuming the full right edge. */





/* The full Celestial Chest action in the Pass panel is intentionally more
   prominent than the compact header claim. */
.lumen-pass-active-copy.cosmic button[data-open-pass-arcane]{
  min-height:42px !important;
  padding:0 12px !important;
  font-size:.66rem !important;
  line-height:1.1 !important;
  letter-spacing:.07em !important;
}

/* The Castle page is a fixed secondary-page shell. Its body must own the
   remaining height so the 30-step Lumen Path can scroll instead of growing
   beyond the clipped page viewport. */
body.secondary-screen-active .premium-castle-page{
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
}
body.secondary-screen-active .premium-castle-body{
  flex:1 1 auto !important;
  min-height:0 !important;
  height:auto !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding-bottom:calc(18px + env(safe-area-inset-bottom, 0px)) !important;
}
body.secondary-screen-active .premium-castle-body::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
  display:none !important;
}
body.secondary-screen-active .premium-castle-body .lumen-path-panel{
  flex:none !important;
  min-height:max-content !important;
  overflow:visible !important;
}

@media (max-width:430px) {
  .rewards-mock-head .lumen-arcane-wallet-card{
    grid-template-columns:52px minmax(0,1fr) !important;
    min-height:68px !important;
    padding:5px 7px !important;
  }
  .rewards-mock-head .lumen-arcane-wallet-card > img{
    width:43px !important;
    height:43px !important;
  }
  .lumen-arcane-claim,
  .rewards-mock-head .tutorial-exotic-wallet-card .lumen-arcane-claim{
    
    height:24px !important;
    
    padding:0 7px !important;
    
  }
  .lumen-pass-active-copy.cosmic button[data-open-pass-arcane]{
    min-height:40px !important;
    font-size:.61rem !important;
  }
}

/* ===== 2026-08-27 premium chest claim button: large right-side, contained ===== */
.rewards-mock-head .lumen-arcane-wallet-card{
  grid-template-columns: 58px minmax(0, 1fr) 108px !important;
  grid-template-areas: "arcane-icon arcane-copy arcane-claim" !important;
  align-items: center !important;
  column-gap: 8px !important;
  row-gap: 0 !important;
  min-height: 72px !important;
  padding: 6px 14px 6px 9px !important;
  overflow: hidden !important;
}
.rewards-mock-head .lumen-arcane-wallet-card > img{
  grid-area: arcane-icon !important;
  align-self: center !important;
  width: 48px !important;
  height: 48px !important;
}
.rewards-mock-head .lumen-arcane-wallet-card .tutorial-exotic-copy{
  grid-area: arcane-copy !important;
  align-self: center !important;
  min-width: 0 !important;
}
.lumen-arcane-claim,
.rewards-mock-head .tutorial-exotic-wallet-card .lumen-arcane-claim{
  grid-area: arcane-claim !important;
  justify-self: end !important;
  align-self: center !important;
  width: 104px !important;
  
  max-width: 104px !important;
  height: 42px !important;
  
  
  border-radius: 7px !important;
  
  
  
  white-space: nowrap !important;
  box-sizing: border-box !important;
}

@media (max-width: 430px) {
  .rewards-mock-head .lumen-arcane-wallet-card{
    grid-template-columns: 50px minmax(0, 1fr) 92px !important;
    padding: 5px 12px 5px 7px !important;
    column-gap: 6px !important;
    min-height: 68px !important;
  }
  .rewards-mock-head .lumen-arcane-wallet-card > img{
    width: 43px !important;
    height: 43px !important;
  }
  .lumen-arcane-claim,
  .rewards-mock-head .tutorial-exotic-wallet-card .lumen-arcane-claim{
    width: 88px !important;
    min-width: 88px !important;
    max-width: 88px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 7px !important;
    font-size: .59rem !important;
  }
}


/* ===== 2026-08-27 richer Lumen Path rewards + manual inventory ===== */
.lumen-path-inventory{
  display:grid;
  gap:8px;
  margin:0 4px 7px;
  padding:9px;
  border:1px solid rgba(190,128,227,.30);
  border-radius:10px;
  background:linear-gradient(180deg,rgba(35,18,61,.96),rgba(14,18,40,.98));
  box-shadow:inset 0 0 0 1px rgba(235,207,255,.04),0 8px 20px rgba(0,0,0,.12);
}
.lumen-path-inventory-head{ display:grid; gap:2px; }
.lumen-path-inventory-head span{ color:#bb8fe5; font-size:.34rem; letter-spacing:.16em; }
.lumen-path-inventory-head strong{ color:#f0d9ff; font-size:.70rem; letter-spacing:.08em; }
.lumen-path-inventory-head small{ color:#9aa9c1; font-size:.36rem; }
.lumen-path-chest-inventory{ display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.lumen-path-chest-inventory > button{
  min-width:0;
  min-height:50px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  align-items:center;
  gap:6px;
  padding:6px 7px;
  text-align:left;
  border:1px solid rgba(214,170,88,.22);
  border-radius:8px;
  background:linear-gradient(180deg,rgba(27,39,63,.96),rgba(12,23,42,.98));
}
.lumen-path-chest-inventory > button:disabled{ opacity:.42; }
.lumen-path-chest-inventory img{ width:36px; height:36px; object-fit:contain; }
.lumen-path-chest-inventory span{ display:grid; gap:2px; min-width:0; }
.lumen-path-chest-inventory strong{ color:#efd49a; font-size:.44rem; letter-spacing:.05em; }
.lumen-path-chest-inventory small{ color:#9eb0c8; font-size:.31rem; }
.lumen-boost-inventory-list{ display:grid; gap:4px; max-height:155px; overflow-y:auto; scrollbar-width:none; }
.lumen-boost-inventory-list::-webkit-scrollbar{ display:none; }
.lumen-boost-inventory-list > p{ margin:2px 0; color:#8fa1b9; font-size:.36rem; text-align:center; }
.lumen-boost-inventory-list article{
  display:grid;
  grid-template-columns:31px minmax(0,1fr) auto;
  
  gap:6px;
  
  padding:4px 5px;
  border-top:1px solid rgba(216,176,92,.10);
}
.lumen-boost-inventory-list article > img{ width:29px; height:29px; object-fit:contain; }
.lumen-boost-inventory-list article > div{ min-width:0; display:grid;  }
.lumen-boost-inventory-list article strong{ color:#e8d5b2; font-size:.40rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lumen-boost-inventory-list article small{ color:#91a1b7; font-size:.30rem; }
.lumen-boost-inventory-list article > button{
  
  min-height:27px;
  padding:0 6px;
  border:1px solid rgba(211,166,84,.28);
  border-radius:6px;
  background:linear-gradient(180deg,rgba(77,56,118,.92),rgba(45,35,79,.96));
  color:#f0d8ff;
  
  letter-spacing:.07em;
}
.lumen-collectible-strip{
  display:grid;
  grid-template-columns:24px 1fr 24px 1fr;
  align-items:center;
  gap:5px;
  padding-top:4px;
  border-top:1px solid rgba(211,166,84,.10);
}
.lumen-collectible-strip small{ color:#99a8bc; font-size:.30rem; }
.lumen-animated-badge,.lumen-completion-crest{
  width:22px; height:22px; display:grid; place-items:center; border-radius:50%;
  color:#59657a; border:1px solid rgba(114,126,149,.20); background:rgba(7,14,27,.55);
}
.lumen-animated-badge.earned{ color:#dba8ff; border-color:rgba(198,134,241,.52); animation:lumenBadgePulse 1.8s ease-in-out infinite; }
.lumen-completion-crest.earned{ color:#f0c86d; border-color:rgba(235,188,86,.58); box-shadow:0 0 10px rgba(236,189,84,.16); }
@keyframes lumenBadgePulse { 0%,100%{transform:scale(1);filter:brightness(1);} 50%{transform:scale(1.13);filter:brightness(1.25);box-shadow:0 0 12px rgba(195,123,246,.28);} }

.lumen-path-step.type-mystery .lumen-path-node{ background:radial-gradient(circle at 35% 28%,#5e3b88,#251638 70%) !important; }
.lumen-path-step.type-choice .lumen-path-node{ background:radial-gradient(circle at 35% 28%,#2f668b,#142d45 70%) !important; }
.lumen-path-step.type-boost .lumen-path-node{ background:radial-gradient(circle at 35% 28%,#735d29,#30220d 70%) !important; }
.lumen-path-step.type-exclusive .lumen-path-node{ background:radial-gradient(circle at 35% 28%,#774d8b,#301a43 70%) !important; }
.lumen-path-step.type-badge .lumen-path-node{ box-shadow:0 0 0 3px rgba(7,16,31,.72),0 0 16px rgba(196,126,240,.20); }
.lumen-path-step.type-final{ border-color:rgba(239,197,104,.62) !important; background:radial-gradient(circle at 15% 12%,rgba(218,166,72,.16),transparent 28%),linear-gradient(180deg,rgba(47,38,66,.98),rgba(17,23,43,.99)) !important; }
.lumen-path-step.type-final .lumen-path-node{ background:radial-gradient(circle at 35% 28%,#e0b85f,#76511b 72%) !important; box-shadow:0 0 0 3px rgba(7,16,31,.72),0 0 20px rgba(240,197,99,.28); }

.lumen-choice-sheet h3{ margin:7px 0 4px; color:#efd39a; font-weight:400; }
.lumen-choice-options{ display:grid;   margin-top:12px; }
.lumen-choice-options button{ min-width:0;  display:grid;        }
.lumen-choice-options img{ width:54px; height:54px; object-fit:contain; }
.lumen-choice-options strong{   line-height:1.2; }
.lumen-mystery-reveal{ display:grid; justify-items:center; gap:9px; text-align:center; padding:8px 2px; }
.lumen-mystery-reveal > span{ color:#b996d8; font-size:.45rem; letter-spacing:.14em; }
.lumen-mystery-reveal > img{ width:112px; height:112px; object-fit:contain; filter:drop-shadow(0 0 18px rgba(164,111,213,.22)); }
.lumen-mystery-reveal > strong{ color:#f0d39a; font-size:1rem; font-weight:400; }
.lumen-mystery-reveal > p{ margin:0;    }

@media (max-width:390px) {
  .lumen-path-inventory{ margin-inline:2px; padding:7px; }
  .lumen-path-chest-inventory > button{ grid-template-columns:32px minmax(0,1fr); min-height:46px; padding:5px; }
  .lumen-path-chest-inventory img{ width:31px; height:31px; }
  .lumen-choice-options{ gap:5px; }
  .lumen-choice-options button{ min-height:101px; padding:6px; }
  .lumen-choice-options img{ width:46px; height:46px; }
}

/* ===== 2026-08-27 Lumen Path-only destination + clearer boost inventory ===== */
.lumen-path-page .lumen-path-only-body{
  gap: 7px;
  padding-top: 5px !important;
}
.lumen-path-page .lumen-path-only-body > .lumen-path-inventory,
.lumen-path-page .lumen-path-only-body > .lumen-path-panel{
  width: 100%;
}
.lumen-boost-inventory-list article{
  min-height: 58px;
  align-items: center;
}
.lumen-boost-inventory-list article > div{
  gap: 2px;
}
.lumen-boost-inventory-list article .lumen-boost-effect{
  color: #b7c2d3;
  font-size: .34rem;
  line-height: 1.28;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}
.lumen-boost-inventory-list article .lumen-boost-owned{
  color: #a989c5;
  font-size: .31rem;
  line-height: 1.15;
}
.lumen-boost-inventory-list article > button{
  min-width: 58px;
  font-size: .32rem;
}
body[data-theme="light"] .lumen-boost-inventory-list article .lumen-boost-effect{ color:#735c78; }
body[data-theme="light"] .lumen-boost-inventory-list article .lumen-boost-owned{ color:#875aa2; }

@media (max-width:390px) {
  .lumen-boost-inventory-list article{ min-height: 54px; }
  .lumen-boost-inventory-list article .lumen-boost-effect{ font-size:.32rem; }
}

/* ===== 2026-08-27 simplified Lumen reward progression + explicit team leave ===== */
/* Keep the Lumen Path name, but remove the route/connector artwork through rewards. */
.lumen-path-route,
.lumen-path-step::before{
  display: none !important;
  content: none !important;
}
.lumen-path-journey{
  padding: 7px !important;
  background: linear-gradient(180deg, rgba(4,13,27,.28), rgba(8,17,32,.10)) !important;
}
.lumen-path-steps{
  gap: 7px !important;
}
.lumen-path-step,
.lumen-path-step.left,
.lumen-path-step.right,
.lumen-path-step.major,
.lumen-path-step.major.left,
.lumen-path-step.major.right{
  width: 100% !important;
  justify-self: stretch !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.lumen-path-step.major{
  min-height: 70px !important;
}
.lumen-path-note{ display:none !important; }

.lumen-mystery-reveal > p{
  max-width: 330px;
  color: #c0b3c9 !important;
  font-size: .74rem !important;
  line-height: 1.48 !important;
}

.team-manage-hub-action.leave{
  border-color: rgba(188, 88, 82, .28) !important;
  background: linear-gradient(180deg, rgba(61,30,37,.90), rgba(31,18,26,.96)) !important;
}
.team-manage-hub-action.leave strong{ color:#efb1a7 !important; }
.team-manage-hub-action.leave small{ color:#b99491 !important; }
.team-leave-icon{
  display:grid !important;
  place-items:center;
  color:#e9a39a;
  font-size:1rem;
  font-weight:700;
}

/* ===== 2026-09-01 product pass: stats stability, history navigation, confirmations ===== */
.stats-mock-summary-tile{ min-width: 0 !important; }
.stats-mock-caption{
  display: block !important;
  width: 100% !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: clip !important;
  font-size: clamp(.36rem, 1.28vw, .46rem) !important;
  letter-spacing: .035em !important;
  line-height: 1.05 !important;
}
.stats-mock-chart .stats-bar-button,
.stats-mock-chart .stats-bar-button .iphone-bar,
.stats-mock-detail-row{
  transition-duration: 0s !important;
}
.stats-mock-chart{ contain: layout paint; }
.stats-mock-detail-row{ contain: layout; }

.purchase-confirm-price{
  display:flex;
  align-items:center;
  justify-content:space-between;
  
  
  
  
  border-radius:10px;
  
}
.purchase-confirm-price span{    font-weight:800; }


.teams-history-nav{
  display:grid;
  
  align-items:center;
  gap:5px;
  min-height:30px;
  padding:3px 5px;
  border:1px solid rgba(218,180,102,.16);
  border-radius:8px;
  background:rgba(7,18,34,.56);
}
.teams-history-nav button{
  width:28px;
  height:24px;
  border:1px solid rgba(218,180,102,.24);
  border-radius:6px;
  background:rgba(218,180,102,.08);
  color:#e8c87f;
  font-size:1rem;
  line-height:1;
  cursor:pointer;
}
.teams-history-nav button:disabled{ opacity:.25; cursor:default; }
.teams-history-nav strong{
  min-width:0;
  text-align:center;
  color:#e1c786;
  font-size:.55rem;
  letter-spacing:.055em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.teams-history-nav small{ color:#8490a1; font-size:.44rem; letter-spacing:.07em; white-space:nowrap; }

@media (max-width:390px) {
  .stats-mock-caption{ font-size: clamp(.34rem, 1.22vw, .42rem) !important; letter-spacing:.02em !important; }
  
  .teams-history-nav small{ display:none; }
}
.stats-mock-summary-tile .stats-mock-value{
  width:100% !important;
  min-width:0 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:clip !important;
  
}

/* ===== 2026-09-01 purchase confirmation + Academy rank sizing ===== */
.purchase-confirm-art{
  width: min(190px, 52vw) !important;
  height: min(190px, 26vh) !important;
  
  
}
.purchase-confirm-art img{
  
  height: 100% !important;
  
  position: relative;
  z-index: 2;
  
}
.purchase-confirm-description{
  text-align: center;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 92%;
}

/* Use more of the Academy Rank card in both Manage and Expedition sheets. */

.team-rank-roadmap-card .team-card-head span{
  font-size: .52rem !important;
}









@media (max-width: 390px) {
  .team-rank-roadmap{
    
    margin-left: 20px !important;
    margin-right: 20px !important;
  }
  
  
  
  
}

.teams-history-nav{
  grid-template-columns: 30px minmax(0,1fr) 30px !important;
}
@media (max-width:390px) {
  .teams-history-nav{ grid-template-columns:28px minmax(0,1fr) 28px !important; }
}


/* ===== 2026-09-01 purchase colour + summary clipping + accurate chart scale ===== */
.purchase-confirm-actions{
  display: grid !important;
  
  
}

.purchase-confirm-cancel{
  background-image: url("../assets/button_danger_bg.webp") !important;
  color: #fff0e7 !important;
  border-radius: 12px !important;
  font-weight: 800 !important;
}

/* Give the four Focus Summary tiles enough internal room for a two-line label
   without the value/caption colliding with the lower edge of the card. */
.stats-mock-summary-panel{ overflow: visible !important; }
.stats-mock-summary-grid{ overflow: visible !important; }
.stats-mock-summary-tile{
  display: grid !important;
  
  justify-items: center !important;
  align-items: center !important;
  
  
  
  
}

.stats-mock-summary-tile .stats-mock-value{
  
  margin: 0 !important;
  
}
.stats-mock-summary-tile .stats-mock-caption{
  
  
  padding: 1px 1px 0 !important;
  
}

/* One physical plotting scale for both the bars and the y-axis. The bars use
   a 104px plot area in JS, and the ticks below occupy that exact same height. */
.stats-mock-chart-shell{
  --stats-plot-height: 104px;
  --stats-x-label-height: 17px;
}
.stats-y-axis{
  position: relative !important;
  
  align-self: end !important;
  height: calc(var(--stats-plot-height) + var(--stats-x-label-height)) !important;
  padding: 0 !important;
  min-height: 0 !important;
}
.stats-y-title{
  position: absolute !important;
  left: 0 !important;
  top: calc(var(--stats-plot-height) / 2) !important;
  writing-mode: vertical-rl !important;
  transform: translateY(-50%) rotate(180deg) !important;
  line-height: 1 !important;
}
.stats-y-ticks{
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  width: calc(100% - 10px) !important;
  height: var(--stats-plot-height) !important;
  display: flex !important;
  flex: none !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  padding: 0 !important;
}
.stats-mock-chart .stats-bar-button .iphone-bar{
  min-height: 0 !important;
  max-height: var(--stats-plot-height) !important;
}
/* Slightly wider bars only for the seven-day view. */
.stats-mock-chart.range-7 .stats-bar-button .iphone-bar{
  width: 32px !important;
  max-width: 32px !important;
}

@media (max-width: 390px) {
  
  
  
  .stats-mock-chart.range-7 .stats-bar-button .iphone-bar{
    width: 28px !important;
    max-width: 28px !important;
  }
}

/* ===== Dense chart + Academy rank compactness pass (2026-09-01) ===== */
/* 90-day and year views render twelve buckets. Keep their bars inside each
   flex slot so adjacent columns never visually overlap on phone widths. */
.stats-mock-chart.range-90 .stats-bar-button .iphone-bar,
.stats-mock-chart.range-365 .stats-bar-button .iphone-bar{
  width: 22px !important;
  max-width: 22px !important;
}
.stats-mock-chart.range-90,
.stats-mock-chart.range-365{
  gap: 2px !important;
}

/* Make Academy rank requirements easier to read while reducing the overall
   vertical footprint of the shared Manage + Expedition rank card. */
.team-rank-roadmap-card{
  padding: 9px 12px 6px !important;
}
.team-rank-roadmap-card .team-card-head{
  margin-bottom: 0 !important;
}
.team-rank-roadmap-card .team-card-head strong{
  font-size: .86rem !important;
  line-height: 1.02 !important;
}
.team-rank-roadmap-card .team-card-head small{
  font-size: .50rem !important;
  line-height: 1.05 !important;
}
.team-rank-roadmap{
  height: 112px !important;
  margin: 5px 24px 0 !important;
}
.team-rank-roadmap-track{
  top: 43px !important;
  height: 8px !important;
}
.team-rank-checkpoint{
  top: 1px !important;
  width: 88px !important;
  gap: 1px !important;
}
.team-rank-checkpoint-badge{
  width: 54px !important;
  height: 54px !important;
}
.team-rank-checkpoint-badge img{
  width: 50px !important;
  height: 50px !important;
}
.team-rank-checkpoint > strong{
  margin-top: 3px !important;
  font-size: .55rem !important;
  line-height: 1 !important;
}
.team-rank-checkpoint > small{
  font-size: .50rem !important;
  line-height: 1.05 !important;
  font-weight: 700 !important;
  letter-spacing: .025em !important;
  color: #aab8ca !important;
}
.team-rank-checkpoint.unlocked > small{
  color: #d9c18d !important;
}

@media (max-width: 390px) {
  .stats-mock-chart.range-90 .stats-bar-button .iphone-bar,
  .stats-mock-chart.range-365 .stats-bar-button .iphone-bar{
    width: 19px !important;
    max-width: 19px !important;
  }
  .stats-mock-chart.range-90,
  .stats-mock-chart.range-365{
    gap: 1px !important;
  }
  .team-rank-roadmap{
    height: 105px !important;
    margin: 4px 20px 0 !important;
  }
  .team-rank-roadmap-track{ top: 40px !important; }
  .team-rank-checkpoint{ width: 78px !important; }
  .team-rank-checkpoint-badge{ width: 50px !important; height: 50px !important; }
  .team-rank-checkpoint-badge img{ width: 46px !important; height: 46px !important; }
  .team-rank-checkpoint > strong{ font-size: .52rem !important; }
  .team-rank-checkpoint > small{ font-size: .47rem !important; }
}

/* ===== Focus Summary containment correction (2026-09-01) =====
   Keep wrapped captions, but size each row from its actual content so the
   icon cannot overflow a collapsed flexible row at the top of the tile. */
.stats-mock-summary-panel,
.stats-mock-summary-grid{
  overflow: hidden !important;
}
.stats-mock-summary-tile{
  grid-template-rows: auto auto auto !important;
  align-content: center !important;
  justify-content: initial !important;
  
  
  overflow: hidden !important;
}
.stats-mock-summary-icon{
  
  
  align-self: center !important;
  justify-self: center !important;
}
.stats-mock-summary-tile .stats-mock-value{
  align-self: center !important;
  
}
.stats-mock-summary-tile .stats-mock-caption{
  align-self: center !important;
  
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  
  overflow-wrap: normal !important;
  word-break: normal !important;
}
@media (max-width: 390px) {
  .stats-mock-summary-tile{
    
    row-gap: 1px !important;
  }
  
  
  
}

/* ===== Focus Summary compact-height correction (2026-09-01) =====
   Keep the previous containment/wrapping fix, but stop the four summary cards
   from stretching vertically to fill an oversized grid row. */

.stats-mock-summary-panel{
  padding-top: 6px !important;
  padding-bottom: 7px !important;
}
.stats-mock-summary-panel > .stats-mock-section-title{
  margin-bottom: 4px !important;
}
.stats-mock-summary-grid{
  height: auto !important;
  align-self: center !important;
  align-items: center !important;
}
.stats-mock-summary-tile{
  height: auto !important;
  
  
  
  
}





/* ===== Cleanup + interaction stability polish (2026-09-02) ===== */
/* Subject selection uses equal-weight actions. */
.subject-settings-actions{
  
  gap: 9px !important;
}
.subject-settings-actions #restoreDefaultSubjects,
.subject-settings-actions #saveFavoriteSubjects{
  width: 100% !important;
  min-width: 0 !important;
  min-height: 42px !important;
  height: 42px !important;
  padding: 0 10px !important;
  font-size: .62rem !important;
  font-weight: 900 !important;
  letter-spacing: .065em !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Match the confirmation CTA to the gold Rewards Hall BUY treatment. */
.purchase-confirm-confirm{
  width: 100% !important;
  min-width: 0 !important;
  min-height: 48px !important;
  padding: 0 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1.05 !important;
  white-space: normal !important;
  background-image: none !important;
  background: linear-gradient(180deg, #f0c96f, #cf8330) !important;
  border: 1px solid rgba(248,213,132,.76) !important;
  border-radius: 12px !important;
  color: #1e1a18 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.42), 0 4px 10px rgba(0,0,0,.20) !important;
  text-shadow: none !important;
  font-size: .70rem !important;
  font-weight: 900 !important;
  letter-spacing: .045em !important;
}

/* Compact the Focus Summary tiles to the content instead of the grid row. */
.stats-mock-summary-tile{
  min-height: 80px !important;
  max-height: 84px !important;
  padding: 4px 3px !important;
  row-gap: 1px !important;
}
.stats-mock-summary-icon{
  width: 32px !important;
  height: 32px !important;
}
.stats-mock-summary-tile .stats-mock-value{
  font-size: 1rem !important;
  line-height: 1 !important;
}
.stats-mock-summary-tile .stats-mock-caption{
  min-height: 2.05em !important;
  line-height: 1.04 !important;
}

/* Large Academies keep member management comfortably scrollable on iPhone. */
.team-manage-list{
  min-height: 0 !important;
  max-height: min(68dvh, 580px) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
}

@media (max-width: 390px) {
  .stats-mock-summary-tile{
    min-height: 76px !important;
    max-height: 80px !important;
    padding: 3px 2px !important;
  }
  .stats-mock-summary-icon{
    width: 30px !important;
    height: 30px !important;
  }
  .stats-mock-summary-tile .stats-mock-value{ font-size: .96rem !important; }
  .stats-mock-summary-tile .stats-mock-caption{ min-height: 2.05em !important; font-size: .46rem !important; }
}

/* ===== Production active Focus redesign (2026-09-02) =====
   Calm full-screen Casual / Strict session experience. */
#focusOverlay.dev-focus-v2{
  padding: 0 !important;
  place-items: stretch !important;
  background: #040914 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  overflow: hidden !important;
}

#focusOverlay.dev-focus-v2 .dev-focus-panel{
  position: relative;
  width: 100% !important;
  max-width: none !important;
  height: 100dvh;
  max-height: none !important;
  min-height: 100%;
  padding: max(28px, calc(env(safe-area-inset-top, 0px) + 20px)) 24px max(26px, calc(env(safe-area-inset-bottom, 0px) + 20px)) !important;
  box-sizing: border-box;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #050b14 !important;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  text-align: center;
  isolation: isolate;
}

#focusOverlay.dev-focus-v2 .dev-focus-backdrop,
#focusOverlay.dev-focus-v2 .dev-focus-shade{
  position: absolute;
  inset: 0;
  pointer-events: none;
}

#focusOverlay.dev-focus-v2 .dev-focus-backdrop{
  z-index: -3;
  background: url("../assets/bg_academy_night.webp") center / cover no-repeat;
  filter: saturate(.72) brightness(.62);
  transform: scale(1.015);
}

#focusOverlay.dev-focus-v2 .dev-focus-shade{
  z-index: -2;
  background:
    radial-gradient(circle at 50% 44%, rgba(32,57,91,.14), transparent 34%),
    linear-gradient(180deg, rgba(2,7,14,.68) 0%, rgba(3,8,15,.46) 38%, rgba(3,8,15,.78) 100%);
}

#focusOverlay.dev-focus-v2 .dev-focus-strict .dev-focus-shade{
  background:
    radial-gradient(circle at 50% 44%, rgba(72,52,125,.20), transparent 34%),
    linear-gradient(180deg, rgba(3,6,14,.74) 0%, rgba(8,8,20,.52) 40%, rgba(4,6,15,.84) 100%);
}

#focusOverlay.dev-focus-v2 .dev-focus-content{
  display: contents;
}

#focusOverlay.dev-focus-v2 .dev-focus-header{
  align-self: start;
  display: grid;
  justify-items: center;
  gap: 9px;
  padding-top: 5px;
}

#focusOverlay.dev-focus-v2 .dev-focus-subject{
  max-width: 100%;
  color: #f3ddb1;
  
  font-size: clamp(1rem, 4.4vw, 1.26rem);
  line-height: 1.12;
  letter-spacing: .13em;
  text-transform: uppercase;
  text-wrap: balance;
  text-shadow: 0 3px 12px rgba(0,0,0,.56);
}

#focusOverlay.dev-focus-v2 .dev-focus-mode-pill{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 28px;
  padding: 5px 12px;
  border: 1px solid rgba(216,172,88,.27);
  border-radius: 999px;
  background: rgba(5,12,22,.54);
  color: #c8ab78;
  font-size: .59rem;
  font-weight: 700;
  letter-spacing: .12em;
  white-space: nowrap;
}

#focusOverlay.dev-focus-v2 .dev-focus-mode-pill span{ opacity: .45; }
#focusOverlay.dev-focus-v2 .dev-focus-mode-pill.strict{
  border-color: rgba(154,130,226,.33);
  color: #d8c8ff;
  background: rgba(20,16,42,.55);
}

#focusOverlay.dev-focus-v2 .dev-focus-core{
  align-self: center;
  display: grid;
  justify-items: center;
  gap: 13px;
  width: 100%;
  min-height: 0;
}

#focusOverlay.dev-focus-v2 .dev-focus-ring{
  --dev-focus-progress: 0deg;
  position: relative;
  width: min(68vw, 268px);
  aspect-ratio: 1;
  border-radius: 50%;
  display: grid;
  place-items: center;
  filter: drop-shadow(0 12px 28px rgba(0,0,0,.30));
}

#focusOverlay.dev-focus-v2 .dev-focus-ring::before,
#focusOverlay.dev-focus-v2 .dev-focus-ring::after{
  content: "";
  position: absolute;
  border-radius: 50%;
}

#focusOverlay.dev-focus-v2 .dev-focus-ring::before{
  inset: 0;
  background: conic-gradient(from -90deg, #e0b55c 0deg var(--dev-focus-progress), rgba(206,164,82,.16) var(--dev-focus-progress) 360deg);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 4px), #000 calc(100% - 3px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 4px), #000 calc(100% - 3px));
  box-shadow: 0 0 24px rgba(216,170,78,.12);
}

#focusOverlay.dev-focus-v2 .dev-focus-ring::after{
  inset: 13px;
  border: 1px solid rgba(232,196,124,.12);
  background: radial-gradient(circle at 50% 38%, rgba(224,185,105,.07), rgba(5,11,20,.44) 58%, rgba(2,7,14,.66));
}

#focusOverlay.dev-focus-v2 .dev-focus-strict .dev-focus-ring::before{
  background: conic-gradient(from -90deg, #a78ae7 0deg var(--dev-focus-progress), rgba(139,115,206,.16) var(--dev-focus-progress) 360deg);
  box-shadow: 0 0 27px rgba(140,107,218,.16);
}

#focusOverlay.dev-focus-v2 .dev-focus-count-up .dev-focus-ring::before{
  background: conic-gradient(from -90deg, rgba(225,181,91,.78), rgba(117,169,229,.72), rgba(225,181,91,.78));
}
#focusOverlay.dev-focus-v2 .dev-focus-count-up.dev-focus-strict .dev-focus-ring::before{
  background: conic-gradient(from -90deg, rgba(167,138,231,.84), rgba(107,163,231,.72), rgba(167,138,231,.84));
}

#focusOverlay.dev-focus-v2 .dev-focus-ring-inner{
  position: relative;
  z-index: 2;
  display: grid;
  justify-items: center;
  gap: 7px;
  padding: 18px;
}

#focusOverlay.dev-focus-v2 .dev-focus-time{
  color: #f7e5bd !important;
  font-size: clamp(3.25rem, 15vw, 4.45rem) !important;
  line-height: .96;
  letter-spacing: -.035em;
  font-variant-numeric: tabular-nums;
  text-shadow: 0 4px 18px rgba(0,0,0,.54), 0 0 24px rgba(227,182,90,.09);
}

#focusOverlay.dev-focus-v2 .dev-focus-strict .dev-focus-time{
  color: #eadfff !important;
  text-shadow: 0 4px 18px rgba(0,0,0,.56), 0 0 26px rgba(151,121,224,.12);
}

#focusOverlay.dev-focus-v2 .dev-focus-subtitle{
  margin: 0 !important;
  color: rgba(222,200,161,.64) !important;
  font-size: .60rem;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
}

#focusOverlay.dev-focus-v2 .dev-focus-strict-state,
#focusOverlay.dev-focus-v2 .dev-focus-calm-state{
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: #cdbb96;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .13em;
}

#focusOverlay.dev-focus-v2 .dev-focus-strict-state{
  color: #cfc0ef;
}
#focusOverlay.dev-focus-v2 .dev-focus-strict-state.has-violation{
  color: #ed9c90;
}
#focusOverlay.dev-focus-v2 .dev-focus-shield{
  font-size: .9rem;
  line-height: 1;
}
#focusOverlay.dev-focus-v2 .dev-focus-strict-stack{
  display: grid;
  justify-items: center;
  gap: 2px;
}
#focusOverlay.dev-focus-v2 .dev-focus-coins-lost{
  color: rgba(218,177,167,.58);
  font-size: .50rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
#focusOverlay.dev-focus-v2 .dev-focus-coins-lost.has-loss{
  color: #ee9f91;
}
#focusOverlay.dev-focus-v2 .dev-focus-ring.is-pausable{
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  user-select: none;
}
#focusOverlay.dev-focus-v2 .dev-focus-ring.is-pausable:focus-visible{
  outline: 2px solid rgba(226,181,91,.70);
  outline-offset: 5px;
}
#focusOverlay.dev-focus-v2 .dev-focus-panel.is-paused .dev-focus-ring{
  filter: drop-shadow(0 12px 28px rgba(0,0,0,.30)) saturate(.78);
}
#focusOverlay.dev-focus-v2 .dev-focus-panel.is-paused .dev-focus-ring::before{
  opacity: .52;
}
#focusOverlay.dev-focus-v2 .dev-focus-panel.is-paused .dev-focus-time{
  opacity: .82;
}
#focusOverlay.dev-focus-v2 .dev-focus-panel.is-paused .dev-focus-calm-state{
  color: #e5bf70;
}

#focusOverlay.dev-focus-v2 .dev-focus-reward-rate{
  display: grid;
  gap: 2px;
  justify-items: center;
}
#focusOverlay.dev-focus-v2 .dev-focus-reward-rate strong{
  color: #e5bf70;
  
  font-size: .98rem;
  font-weight: 400;
  letter-spacing: .05em;
}
#focusOverlay.dev-focus-v2 .dev-focus-strict .dev-focus-reward-rate strong{ color: #cbb6f6; }
#focusOverlay.dev-focus-v2 .dev-focus-reward-rate span{
  color: rgba(199,177,138,.52);
  font-size: .51rem;
  font-weight: 700;
  letter-spacing: .15em;
}

#focusOverlay.dev-focus-v2 .dev-focus-actions{
  align-self: end;
  width: min(100%, 318px);
  margin: 0 auto;
  padding-bottom: 2px;
}

#focusOverlay.dev-focus-v2 #abandonButton.dev-focus-action{
  width: 100%;
  min-height: 54px;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px 18px !important;
  border-radius: 9px !important;
  font-size: .68rem !important;
  font-weight: 800 !important;
  letter-spacing: .14em !important;
  text-align: center !important;
}

#focusOverlay.dev-focus-v2 #abandonButton.dev-focus-action.action-button,
#focusOverlay.dev-focus-v2 #abandonButton.dev-focus-action.stop-focus-button{
  border: 1px solid rgba(225,178,83,.58) !important;
  background: linear-gradient(180deg, rgba(172,119,38,.98), rgba(111,70,23,.99)) !important;
  background-image: linear-gradient(180deg, rgba(172,119,38,.98), rgba(111,70,23,.99)) !important;
  color: #fff0c7 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 7px 18px rgba(0,0,0,.22) !important;
}

#focusOverlay.dev-focus-v2 #abandonButton.dev-focus-action.danger-button{
  border-color: rgba(210,93,86,.44) !important;
  background: rgba(70,24,27,.70) !important;
  background-image: none !important;
  color: #e9b3aa !important;
  box-shadow: none !important;
}

#focusOverlay.dev-focus-v2 .dev-focus-strict #abandonButton.dev-focus-action.danger-button{
  background: rgba(58,20,29,.62) !important;
  color: #e4a49e !important;
}

@media (max-width: 390px) {
  #focusOverlay.dev-focus-v2 .dev-focus-panel{
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  #focusOverlay.dev-focus-v2 .dev-focus-ring{ width: min(66vw, 244px); }
  #focusOverlay.dev-focus-v2 .dev-focus-time{ font-size: clamp(3rem, 14vw, 4rem) !important; }
}

@media (max-height: 700px) {
  #focusOverlay.dev-focus-v2 .dev-focus-panel{
    padding-top: max(18px, calc(env(safe-area-inset-top, 0px) + 12px)) !important;
    padding-bottom: max(18px, calc(env(safe-area-inset-bottom, 0px) + 12px)) !important;
  }
  #focusOverlay.dev-focus-v2 .dev-focus-header{ gap: 6px; }
  #focusOverlay.dev-focus-v2 .dev-focus-ring{ width: min(55vh, 226px); }
  #focusOverlay.dev-focus-v2 .dev-focus-core{ gap: 9px; }
  #focusOverlay.dev-focus-v2 .dev-focus-actions{ width: min(100%, 300px); }
}

.phone-stage #focusOverlay.dev-focus-v2 .dev-focus-panel{
  height: 100% !important;
  min-height: 100% !important;
}


/* ===== 2026-09-02 Focus lighting + Stats navigation repair ===== */
/*
  The accidental Stats-render failure exposed a cleaner version of the Focus
  scene: the duplicate theme artwork/animated ambience layer was no longer
  stacked over the courtyard. Keep that calmer lighting intentionally while
  retaining the real Focus layout class and navigation behaviour.
*/
body.focus-screen-active:not(.focus-session-active) .focus-scene-stage > .ambient{
  display: none !important;
}
body.focus-screen-active:not(.focus-session-active)[data-reward-theme] .focus-scene-stage::before{
  inset: 0 !important;
  background-image: linear-gradient(180deg,
    rgba(0,0,0,.06) 0%,
    rgba(0,0,0,0) 28%,
    rgba(0,0,0,0) 58%,
    rgba(0,0,0,.22) 76%,
    rgba(0,0,0,.60) 100%) !important;
  background-size: 100% 100% !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  animation: none !important;
  transform: none !important;
  filter: none !important;
  will-change: auto !important;
}


/* ===== 2026-09-02 Manage Teams compact controls ===== */
/* Weekly prize: keep the existing compact card, but make its copy legible. */
.weekly-minutes-prize .weekly-xp-prize-head span{
  font-size: .52rem !important;
  letter-spacing: .08em !important;
}
.weekly-minutes-prize .weekly-xp-prize-head strong{
  font-size: .52rem !important;
}
.weekly-minutes-prize .weekly-xp-prize-copy > div strong{
  font-size: .60rem !important;
}
.weekly-minutes-prize .weekly-xp-prize-copy > div small{
  font-size: .44rem !important;
  line-height: 1.35 !important;
}
.weekly-minutes-prize .weekly-xp-prize-copy > em,
.weekly-minutes-prize .weekly-xp-prize-copy button{
  font-size: .42rem !important;
}

/* Team capacity should behave like a control row, not a feature card. */
.team-capacity-card.compact{
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 38px !important;
  padding: 5px 7px !important;
  border-radius: 8px !important;
  background: rgba(7,20,39,.72) !important;
  box-shadow: none !important;
}
.team-capacity-card.compact label{
  min-width: 0 !important;
  width: 100% !important;
  display: grid !important;
  grid-template-columns: auto minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: 7px !important;
}
.team-capacity-card.compact label span,
.team-capacity-card.compact > span{
  color: #c99e4e !important;
  font-size: .39rem !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
}
.team-capacity-card.compact output,
.team-capacity-card.compact > strong{
  color: #e7cb91 !important;
  font-size: .46rem !important;
  font-weight: 900 !important;
}
.team-capacity-card.compact input[type="range"]{
  width: 100% !important;
  min-width: 0 !important;
  height: 22px !important;
}
.team-capacity-card.compact input[type="range"]::-webkit-slider-runnable-track{
  height: 5px !important;
}
.team-capacity-card.compact input[type="range"]::-webkit-slider-thumb{
  width: 17px !important;
  height: 17px !important;
  margin-top: -7px !important;
  box-shadow: 0 0 0 2px rgba(5,10,18,.58),0 0 7px rgba(222,173,75,.18) !important;
}
.team-capacity-card.compact input[type="range"]::-moz-range-track{
  height: 5px !important;
}
.team-capacity-card.compact input[type="range"]::-moz-range-thumb{
  width: 17px !important;
  height: 17px !important;
}
.team-capacity-card.compact > button[data-save-team-capacity]{
  grid-column: auto !important;
  min-height: 25px !important;
  height: 25px !important;
  padding: 0 8px !important;
  border-radius: 6px !important;
  font-size: .40rem !important;
  letter-spacing: .06em !important;
}
.team-capacity-card.compact.read-only{
  grid-template-columns: 1fr auto !important;
}

/* Custom leave-team crest generated for this action. */
.team-manage-hub-icon.team-leave-icon{
  width: 38px !important;
  height: 38px !important;
  flex: 0 0 38px !important;
}
.team-manage-hub-icon.team-leave-icon img{
  width: 38px !important;
  height: 38px !important;
  object-fit: contain !important;
  transform: none !important;
  filter: drop-shadow(0 3px 7px rgba(0,0,0,.28)) !important;
}

@media (max-width:390px) {
  .team-capacity-card.compact{
    grid-template-columns: minmax(0,1fr) auto !important;
  }
  .team-capacity-card.compact label,
  .team-capacity-card.compact > button{
    grid-column: auto !important;
  }
  .team-capacity-card.compact input[type="range"]{
    width: 100% !important;
  }
}

/* ===== Forest theme complete visual overhaul + pathing focus fireflies (2026-09-02) ===== */
/* The Forest theme is treated as a full product skin: moss, cedar, parchment and lantern brass. */





/* Forest Focus scene: deeper canopy tones, warm lantern floor, no neon-green wash. */









/* Forest HUD + navigation feel carved into the same product rather than overlaid. */








/* Headers are forest illustrations; the rest of each page is intentionally quiet and solid. */




/* One coherent surface system across Quests, Stats, Rewards, Teams, sheets and settings. */





/* Forest chart palette: moss by default, lantern gold only for the selected bucket. */




/* Reward/shop controls use quiet leaf states; premium/rarity art keeps its own identity. */



/* Academy card is a framed forest view rather than a blue/gold card pasted over the theme. */



/* Focus fireflies for every theme: tiny, mobile-scale points that travel instead of large stationary pulses. */
body.focus-screen-active .focus-scene-stage > .ambient{
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  z-index: 1 !important;
  opacity: 1 !important;
}
body.focus-screen-active .focus-scene-stage > .ambient .ambient-layer,
body.focus-screen-active .focus-scene-stage > .ambient .ambient-atmosphere{
  display: none !important;
}
body.focus-screen-active .focus-scene-stage > .ambient .ambient-particle{
  display: block !important;
  position: absolute !important;
  width: 3px !important;
  height: 3px !important;
  min-width: 3px !important;
  min-height: 3px !important;
  border-radius: 50% !important;
  opacity: .72 !important;
  filter: none !important;
  background: #f8e8a0 !important;
  box-shadow: 0 0 3px rgba(255,235,150,.95), 0 0 7px rgba(232,201,111,.36) !important;
  will-change: transform, opacity !important;
  animation-timing-function: ease-in-out !important;
  animation-iteration-count: infinite !important;
  animation-direction: alternate !important;
}
body.focus-screen-active .ambient-theme-moon_castle .ambient-particle{ background:#eaf3ff !important; box-shadow:0 0 3px rgba(234,243,255,.95),0 0 7px rgba(140,182,244,.32) !important; }
body.focus-screen-active .ambient-theme-volcano_castle .ambient-particle{ background:#ffc976 !important; box-shadow:0 0 3px rgba(255,203,118,.95),0 0 7px rgba(244,105,45,.34) !important; }
body.focus-screen-active .ambient-theme-beach_castle .ambient-particle{ background:#eafff7 !important; box-shadow:0 0 3px rgba(234,255,247,.95),0 0 7px rgba(95,210,224,.28) !important; }
body.focus-screen-active .ambient-theme-cliffside_castle .ambient-particle{ background:#e4efff !important; box-shadow:0 0 3px rgba(228,239,255,.95),0 0 7px rgba(163,190,226,.28) !important; }


body.focus-screen-active .ambient-particle-1{ left:10% !important; top:36% !important; bottom:auto !important; animation: fireflyPathA 8.4s -1.2s infinite alternate ease-in-out !important; }
body.focus-screen-active .ambient-particle-2{ left:23% !important; top:48% !important; bottom:auto !important; animation: fireflyPathB 10.6s -4.1s infinite alternate ease-in-out !important; }
body.focus-screen-active .ambient-particle-3{ left:39% !important; top:28% !important; bottom:auto !important; animation: fireflyPathC 9.2s -2.7s infinite alternate ease-in-out !important; }
body.focus-screen-active .ambient-particle-4{ left:57% !important; top:43% !important; bottom:auto !important; animation: fireflyPathD 11.8s -6.3s infinite alternate ease-in-out !important; }
body.focus-screen-active .ambient-particle-5{ left:73% !important; top:31% !important; bottom:auto !important; animation: fireflyPathE 8.9s -3.4s infinite alternate ease-in-out !important; }
body.focus-screen-active .ambient-particle-6{ left:84% !important; top:52% !important; bottom:auto !important; animation: fireflyPathF 12.4s -7.1s infinite alternate ease-in-out !important; }
body.focus-screen-active .ambient-particle-7{ left:31% !important; top:61% !important; bottom:auto !important; animation: fireflyPathG 10.1s -5.0s infinite alternate ease-in-out !important; }
body.focus-screen-active .ambient-particle-8{ left:68% !important; top:64% !important; bottom:auto !important; animation: fireflyPathH 9.8s -8.2s infinite alternate ease-in-out !important; }

@keyframes fireflyPathA {  30%{opacity:.82;} 62%{transform:translate3d(38px,-23px,0);opacity:.45;}  }
@keyframes fireflyPathB {   70%{opacity:.28;}  }
@keyframes fireflyPathC {  42%{transform:translate3d(22px,31px,0);opacity:.78;}   }
@keyframes fireflyPathD {     }
@keyframes fireflyPathE {  45%{transform:translate3d(25px,-18px,0);opacity:.88;}  }
@keyframes fireflyPathF {     }
@keyframes fireflyPathG {     }
@keyframes fireflyPathH {     }


@media (prefers-reduced-motion: reduce) {
  body.focus-screen-active .focus-scene-stage > .ambient .ambient-particle{ animation:none !important; opacity:.34 !important; }
}

/* Forest active-session timer is part of the same world, not the default Academy-night skin. */




















/* Specificity guards against older global theme refinements that intentionally used gold titles/art backgrounds. */




/* ===== Forest cohesion + global visible fireflies patch (2026-09-02 v2) ===== */
/* This patch makes the focus-page fireflies unmistakably visible across every theme,
   and deepens the forest palette so the app feels designed around it rather than tinted after the fact. */







/* Much darker top chrome to match the mockup direction. */







/* Add shade variation to key page cards so the theme is not a single flat green. */






/* Global focus-page fireflies: always visible, slightly larger, and theme-aware. */
.focus-scene-stage > .ambient,
body.focus-screen-active .focus-scene-stage > .ambient,
body.focus-session-active .focus-scene-stage > .ambient{
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  z-index: 2 !important;
  opacity: 1 !important;
}
.focus-scene-stage > .ambient .ambient-layer,
.focus-scene-stage > .ambient .ambient-atmosphere{
  display: none !important;
}
.focus-scene-stage > .ambient .ambient-particle{
  
  position: absolute !important;
  width: 5px !important;
  height: 5px !important;
  min-width: 5px !important;
  min-height: 5px !important;
  border-radius: 50% !important;
  opacity: .88 !important;
  background: #f8e39c !important;
  box-shadow:
    0 0 0 1px rgba(255,245,214,.32),
    0 0 8px rgba(255,227,132,.98),
    0 0 16px rgba(214,183,86,.44) !important;
  mix-blend-mode: screen !important;
  will-change: transform, opacity !important;
  animation-timing-function: ease-in-out !important;
  animation-iteration-count: infinite !important;
  animation-direction: alternate !important;
}

body[data-reward-theme="academy_night"] .focus-scene-stage > .ambient .ambient-particle,
body:not([data-reward-theme]) .focus-scene-stage > .ambient .ambient-particle,
body .ambient-theme-moon_castle .ambient-particle{ background:#eaf2ff !important; box-shadow:0 0 0 1px rgba(255,255,255,.34),0 0 8px rgba(229,239,255,.98),0 0 16px rgba(144,184,248,.38) !important; }
body .ambient-theme-volcano_castle .ambient-particle{ background:#ffd08a !important; box-shadow:0 0 0 1px rgba(255,239,218,.26),0 0 8px rgba(255,201,121,.98),0 0 16px rgba(247,102,45,.40) !important; }
body .ambient-theme-beach_castle .ambient-particle{ background:#eafffb !important; box-shadow:0 0 0 1px rgba(238,255,250,.32),0 0 8px rgba(207,255,248,.98),0 0 16px rgba(96,218,224,.34) !important; }
body .ambient-theme-cliffside_castle .ambient-particle{ background:#eef4ff !important; box-shadow:0 0 0 1px rgba(255,255,255,.32),0 0 8px rgba(232,240,255,.98),0 0 16px rgba(174,194,225,.36) !important; }

.focus-scene-stage > .ambient .ambient-particle-1{ left: 8% !important;  top: 34% !important; animation: fireflyPathA 7.8s -1.1s infinite alternate ease-in-out !important; }
.focus-scene-stage > .ambient .ambient-particle-2{ left: 20% !important; top: 46% !important; animation: fireflyPathB 9.6s -4.0s infinite alternate ease-in-out !important; }
.focus-scene-stage > .ambient .ambient-particle-3{ left: 34% !important; top: 24% !important; animation: fireflyPathC 8.6s -2.2s infinite alternate ease-in-out !important; }
.focus-scene-stage > .ambient .ambient-particle-4{ left: 50% !important; top: 39% !important; animation: fireflyPathD 10.8s -5.5s infinite alternate ease-in-out !important; }
.focus-scene-stage > .ambient .ambient-particle-5{ left: 65% !important; top: 27% !important; animation: fireflyPathE 8.2s -3.7s infinite alternate ease-in-out !important; }
.focus-scene-stage > .ambient .ambient-particle-6{ left: 82% !important; top: 48% !important; animation: fireflyPathF 11.6s -6.4s infinite alternate ease-in-out !important; }
.focus-scene-stage > .ambient .ambient-particle-7{ left: 28% !important; top: 61% !important; animation: fireflyPathG 9.7s -4.8s infinite alternate ease-in-out !important; }
.focus-scene-stage > .ambient .ambient-particle-8{ left: 71% !important; top: 62% !important; animation: fireflyPathH 9.2s -7.6s infinite alternate ease-in-out !important; }

@keyframes fireflyPathA { 0%{transform:translate3d(0,0,0) scale(.86);opacity:.32;} 28%{opacity:.96;} 60%{transform:translate3d(42px,-24px,0) scale(1.06);opacity:.56;} 100%{transform:translate3d(78px,10px,0) scale(.92);opacity:.84;} }
@keyframes fireflyPathB { 0%{transform:translate3d(0,0,0) scale(.90);opacity:.38;} 38%{transform:translate3d(-28px,-32px,0) scale(1.08);opacity:.98;} 72%{opacity:.40;} 100%{transform:translate3d(34px,-50px,0) scale(.92);opacity:.78;} }
@keyframes fireflyPathC { 0%{transform:translate3d(0,0,0) scale(.84);opacity:.28;} 44%{transform:translate3d(24px,33px,0) scale(1.08);opacity:.94;} 72%{opacity:.42;} 100%{transform:translate3d(58px,12px,0) scale(.94);opacity:.80;} }
@keyframes fireflyPathD { 0%{transform:translate3d(0,0,0) scale(.90);opacity:.38;} 35%{transform:translate3d(-36px,20px,0) scale(1.1);opacity:.96;} 68%{opacity:.38;} 100%{transform:translate3d(-60px,-26px,0) scale(.90);opacity:.74;} }
@keyframes fireflyPathE { 0%{transform:translate3d(0,0,0) scale(.88);opacity:.32;} 42%{transform:translate3d(28px,-18px,0) scale(1.12);opacity:1;} 100%{transform:translate3d(-24px,32px,0) scale(.90);opacity:.72;} }
@keyframes fireflyPathF { 0%{transform:translate3d(0,0,0) scale(.88);opacity:.36;} 32%{opacity:.92;} 64%{transform:translate3d(-40px,-20px,0) scale(1.05);opacity:.46;} 100%{transform:translate3d(-68px,22px,0) scale(.92);opacity:.78;} }
@keyframes fireflyPathG { 0%{transform:translate3d(0,0,0) scale(.84);opacity:.28;} 36%{transform:translate3d(34px,-28px,0) scale(1.08);opacity:.92;} 76%{opacity:.38;} 100%{transform:translate3d(74px,-42px,0) scale(.90);opacity:.80;} }
@keyframes fireflyPathH { 0%{transform:translate3d(0,0,0) scale(.88);opacity:.34;} 40%{transform:translate3d(-24px,-36px,0) scale(1.08);opacity:1;} 73%{opacity:.34;} 100%{transform:translate3d(31px,-58px,0) scale(.92);opacity:.72;} }

body.reduce-motion .focus-scene-stage > .ambient .ambient-particle{
  animation: none !important;
  opacity: .46 !important;
}
@media (prefers-reduced-motion: reduce) {
  .focus-scene-stage > .ambient .ambient-particle{
    animation: none !important;
    opacity: .46 !important;
  }
}

/* ===== Forest rebalance + dedicated fireflies + chart scaling (2026-09-02) ===== */
/* Pull back the blanket green highlighting. Forest surfaces stay dark/organic;
   gold remains the principal accent and green is used mainly as environmental colour. */


/* Top chrome: one continuous deep-green band, not nested green strips. */






/* Remove the bright-green 'selected everything' feeling. Active UI uses brass/gold. */



/* Keep forest cards varied, but subdued rather than individually highlighted. */




/* Study chart has no numeric side scale and uses the full horizontal width. */
.stats-mock-chart-shell{
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  padding-left: 8px !important;
}
.stats-y-axis{ display: none !important; }

/* Explicit, independent firefly layer. It sits above the scenery and character
   artwork but below interactive controls. */
.focus-fireflies{
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  overflow: hidden;
  isolation: isolate;
}
#focusOverlay.dev-focus-v2 .focus-fireflies{
  z-index: -1;
  inset: 0;
}
.focus-firefly{
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #ffe69b;
  opacity: .9;
  box-shadow: 0 0 5px rgba(255,235,151,1), 0 0 12px rgba(255,208,91,.72), 0 0 20px rgba(255,206,91,.26);
  mix-blend-mode: screen;
  will-change: transform, opacity;
}
/* Theme-aware glow without depending on the old ambient implementation. */

body[data-reward-theme="volcano_castle"] .focus-firefly{ background:#ffd18a; box-shadow:0 0 5px rgba(255,221,155,1),0 0 12px rgba(255,134,59,.75),0 0 20px rgba(248,89,32,.28); }
body[data-reward-theme="beach_castle"] .focus-firefly{ background:#eafffb; box-shadow:0 0 5px rgba(236,255,252,1),0 0 12px rgba(91,223,231,.65),0 0 20px rgba(65,175,207,.25); }
body[data-reward-theme="cliffside_castle"] .focus-firefly{ background:#eff5ff; box-shadow:0 0 5px rgba(242,247,255,1),0 0 12px rgba(174,203,238,.66),0 0 20px rgba(116,151,201,.22); }
body[data-reward-theme="moon_castle"] .focus-firefly,
body:not([data-reward-theme]) .focus-firefly{ background:#eef5ff; box-shadow:0 0 5px rgba(244,248,255,1),0 0 12px rgba(147,189,249,.70),0 0 20px rgba(99,143,221,.25); }

.focus-firefly-1{ left: 8%;  top: 31%; animation: lumenFlyA 8.2s -1.1s infinite alternate ease-in-out; }
.focus-firefly-2{ left: 20%; top: 46%; animation: lumenFlyB 10.1s -4.0s infinite alternate ease-in-out; }
.focus-firefly-3{ left: 36%; top: 25%; animation: lumenFlyC 8.9s -2.6s infinite alternate ease-in-out; }
.focus-firefly-4{ left: 52%; top: 39%; animation: lumenFlyD 11.2s -5.6s infinite alternate ease-in-out; }
.focus-firefly-5{ left: 66%; top: 29%; animation: lumenFlyE 8.7s -3.3s infinite alternate ease-in-out; }
.focus-firefly-6{ left: 84%; top: 47%; animation: lumenFlyF 11.8s -6.8s infinite alternate ease-in-out; }
.focus-firefly-7{ left: 27%; top: 62%; animation: lumenFlyG 9.8s -4.7s infinite alternate ease-in-out; }
.focus-firefly-8{ left: 70%; top: 63%; animation: lumenFlyH 9.4s -7.5s infinite alternate ease-in-out; }
@keyframes lumenFlyA { 0%{transform:translate3d(0,0,0);opacity:.38;} 27%{opacity:1;} 63%{transform:translate3d(46px,-25px,0);opacity:.55;} 100%{transform:translate3d(86px,10px,0);opacity:.9;} }
@keyframes lumenFlyB { 0%{transform:translate3d(0,0,0);opacity:.45;} 37%{transform:translate3d(-30px,-35px,0);opacity:1;} 73%{opacity:.42;} 100%{transform:translate3d(39px,-53px,0);opacity:.86;} }
@keyframes lumenFlyC { 0%{transform:translate3d(0,0,0);opacity:.34;} 43%{transform:translate3d(28px,35px,0);opacity:.98;} 72%{opacity:.46;} 100%{transform:translate3d(63px,12px,0);opacity:.88;} }
@keyframes lumenFlyD { 0%{transform:translate3d(0,0,0);opacity:.42;} 34%{transform:translate3d(-39px,20px,0);opacity:1;} 69%{opacity:.4;} 100%{transform:translate3d(-66px,-29px,0);opacity:.82;} }
@keyframes lumenFlyE { 0%{transform:translate3d(0,0,0);opacity:.36;} 44%{transform:translate3d(31px,-21px,0);opacity:1;} 100%{transform:translate3d(-27px,34px,0);opacity:.79;} }
@keyframes lumenFlyF { 0%{transform:translate3d(0,0,0);opacity:.4;} 31%{opacity:.98;} 64%{transform:translate3d(-43px,-22px,0);opacity:.48;} 100%{transform:translate3d(-72px,23px,0);opacity:.83;} }
@keyframes lumenFlyG { 0%{transform:translate3d(0,0,0);opacity:.32;} 36%{transform:translate3d(38px,-30px,0);opacity:.98;} 76%{opacity:.43;} 100%{transform:translate3d(78px,-44px,0);opacity:.88;} }
@keyframes lumenFlyH { 0%{transform:translate3d(0,0,0);opacity:.4;} 40%{transform:translate3d(-27px,-38px,0);opacity:1;} 73%{opacity:.39;} 100%{transform:translate3d(35px,-61px,0);opacity:.8;} }
/* Turn off the legacy ambient points so there is only one firefly system. */
.focus-scene-stage > .ambient .ambient-particle{ display:none !important; }
body.reduce-motion .focus-firefly{ animation:none !important; opacity:.55 !important; }
@media (prefers-reduced-motion: reduce) { .focus-firefly{ animation:none !important; opacity:.55 !important; } }

/* Forest-native Manage Team surfaces. */






/* Forest-native Academy Expedition, including its expanded sheet. */






/* ===== Forest restraint + Teams/Rewards polish (2026-09-02) ===== */
/* Increase the Academy motto just enough to read as part of the hero identity. */
body.secondary-screen-active .iphone-teams-page .teams-academy-motto,
.iphone-teams-page .teams-academy-motto{
  font-size: .58rem !important;
  line-height: 1.34 !important;
  letter-spacing: .025em !important;
}
@media (max-width:390px) {
  body.secondary-screen-active .iphone-teams-page .teams-academy-motto,
  .iphone-teams-page .teams-academy-motto{ font-size:.55rem !important; }
}

/* Weekly Prize in Manage Teams: forest-native card, restrained brass accents. */








/* Rewards subcategory buttons: dark forest materials with a brass selected state,
   rather than green highlight slabs. */







/* Focus setup controls should stay neutral dark/gold even when Forest is equipped.
   The forest identity belongs in the scene, not in every control background. */











/* Functional actions keep their established global colors irrespective of Forest. */










/* ===== iPhone firefly motion + neutral Focus controls (2026-09-02) ===== */
/* JS owns firefly movement now. This avoids iOS/PWA CSS animation suppression. */
.focus-firefly,
.focus-firefly-1,
.focus-firefly-2,
.focus-firefly-3,
.focus-firefly-4,
.focus-firefly-5,
.focus-firefly-6,
.focus-firefly-7,
.focus-firefly-8{
  animation: none !important;
}

/* Forest scenery can be green; configuration controls stay Lumen dark/gold. */









/* ===== 2026-09-02 Lumen Path asset refresh ===== */
.lumen-path-step > button{
  min-width: 84px !important;
  min-height: 33px !important;
  padding: 0 8px !important;
  font-size: .40rem !important;
  font-weight: 900 !important;
  letter-spacing: .07em !important;
}
.lumen-pass-active-copy.cosmic button[data-open-pass-arcane],
.lumen-arcane-claim,
.rewards-mock-head .tutorial-exotic-wallet-card .lumen-arcane-claim{
  font-size: .72rem !important;
}
@media (max-width: 390px) {
  .lumen-path-step > button{
    min-width: 74px !important;
    min-height: 31px !important;
    font-size: .36rem !important;
  }
}

/* ===== Focus completion reward-to-HUD animation (2026-09-03, iOS-safe rebuild) ===== */
.phone-stage > .hud-reward-flight-layer{
  position:absolute;
  inset:0;
  z-index:4200;
  overflow:hidden;
  pointer-events:none;
  isolation:isolate;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
}
.hud-reward-particle{
  --reward-p1-x:0px;
  --reward-p1-y:0px;
  --reward-p2-x:0px;
  --reward-p2-y:0px;
  --reward-dx:0px;
  --reward-dy:0px;
  --reward-duration:850ms;
  --reward-delay:0ms;
  position:absolute;
  width:22px;
  height:22px;
  margin:-11px 0 0 -11px;
  display:grid;
  place-items:center;
  opacity:0;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  -webkit-transform:translate3d(0,0,0) scale(.72);
  transform:translate3d(0,0,0) scale(.72);
  will-change:transform,opacity;
  -webkit-animation:hudRewardParticleFlight var(--reward-duration) cubic-bezier(.2,.72,.25,1) var(--reward-delay) both;
  animation:hudRewardParticleFlight var(--reward-duration) cubic-bezier(.2,.72,.25,1) var(--reward-delay) both;
}
.hud-reward-particle img{
  width:100%;
  height:100%;
  object-fit:contain;
  pointer-events:none;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
}
.hud-reward-particle.xp{
  width:21px;
  height:21px;
  filter:drop-shadow(0 0 6px rgba(112,177,255,.80)) drop-shadow(0 0 12px rgba(82,132,241,.34));
}
.hud-reward-particle.gold{
  width:20px;
  height:20px;
  filter:drop-shadow(0 0 6px rgba(255,213,108,.80)) drop-shadow(0 0 12px rgba(231,160,52,.34));
}
@-webkit-keyframes hudRewardParticleFlight {
  0% { -webkit-transform:translate3d(0,0,0) scale(.72); opacity:0; }
  18% { -webkit-transform:translate3d(var(--reward-p1-x),var(--reward-p1-y),0) scale(1.15); opacity:1; }
  58% { -webkit-transform:translate3d(var(--reward-p2-x),var(--reward-p2-y),0) scale(.92); opacity:.98; }
  100% { -webkit-transform:translate3d(var(--reward-dx),var(--reward-dy),0) scale(.38); opacity:0; }
}
@keyframes hudRewardParticleFlight {
  0% { transform:translate3d(0,0,0) scale(.72); opacity:0; }
  18% { transform:translate3d(var(--reward-p1-x),var(--reward-p1-y),0) scale(1.15); opacity:1; }
  58% { transform:translate3d(var(--reward-p2-x),var(--reward-p2-y),0) scale(.92); opacity:.98; }
  100% { transform:translate3d(var(--reward-dx),var(--reward-dy),0) scale(.38); opacity:0; }
}
.hud-reward-float-label{
  --reward-label-mid-x:0px;
  --reward-label-mid-y:0px;
  --reward-label-dx:0px;
  --reward-label-dy:0px;
  position:absolute;
  z-index:2;
  white-space:nowrap;
  font-size:.70rem;
  font-weight:950;
  letter-spacing:.08em;
  text-shadow:0 2px 5px rgba(0,0,0,.7);
  opacity:0;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  will-change:transform,opacity;
  -webkit-animation:hudRewardLabelFlight 920ms cubic-bezier(.18,.75,.25,1) both;
  animation:hudRewardLabelFlight 920ms cubic-bezier(.18,.75,.25,1) both;
}
.hud-reward-float-label.xp{ color:#bfe1ff; }
.hud-reward-float-label.gold{ color:#ffe19b; }
@-webkit-keyframes hudRewardLabelFlight {
  0% { -webkit-transform:translate3d(-50%,10px,0) scale(.88); opacity:0; }
  22% { -webkit-transform:translate3d(-50%,0,0) scale(1); opacity:1; }
  72% { -webkit-transform:translate3d(calc(-50% + var(--reward-label-mid-x)),var(--reward-label-mid-y),0) scale(.76); opacity:.82; }
  100% { -webkit-transform:translate3d(calc(-50% + var(--reward-label-dx)),var(--reward-label-dy),0) scale(.45); opacity:0; }
}
@keyframes hudRewardLabelFlight {
  0% { transform:translate3d(-50%,10px,0) scale(.88); opacity:0; }
  22% { transform:translate3d(-50%,0,0) scale(1); opacity:1; }
  72% { transform:translate3d(calc(-50% + var(--reward-label-mid-x)),var(--reward-label-mid-y),0) scale(.76); opacity:.82; }
  100% { transform:translate3d(calc(-50% + var(--reward-label-dx)),var(--reward-label-dy),0) scale(.45); opacity:0; }
}
.hud-xp-block.hud-reward-receiving,
.hud-coins-block.hud-reward-receiving{
  position:relative;
  z-index:2;
  -webkit-animation:hudRewardReceivePulse .46s ease-out 2;
  animation:hudRewardReceivePulse .46s ease-out 2;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}
.hud-xp-block.hud-reward-receiving{
  box-shadow:inset 0 0 0 1px rgba(119,183,255,.24),0 0 12px rgba(76,145,238,.18) !important;
}
.hud-coins-block.hud-reward-receiving{
  box-shadow:inset 0 0 0 1px rgba(243,202,105,.22),0 0 12px rgba(231,167,57,.17) !important;
}
@-webkit-keyframes hudRewardReceivePulse {
  0% { -webkit-transform:scale(1); filter:brightness(1); }
  45% { -webkit-transform:scale(1.045); filter:brightness(1.25); }
  100% { -webkit-transform:scale(1); filter:brightness(1); }
}
@keyframes hudRewardReceivePulse {
  0% { transform:scale(1); filter:brightness(1); }
  45% { transform:scale(1.045); filter:brightness(1.25); }
  100% { transform:scale(1); filter:brightness(1); }
}
/* Lumen's in-app Reduce motion switch is the authority for reward motion.
   Do not let Safari's OS-level preference silently hide earned XP/coin feedback. */
body.reduce-motion .hud-reward-particle,
body.reduce-motion .hud-reward-float-label{ display:none !important; }
body.reduce-motion .hud-xp-block.hud-reward-receiving,
body.reduce-motion .hud-coins-block.hud-reward-receiving{
  -webkit-animation:none !important;
  animation:none !important;
}

/* ===== 2026-09-03 Theme scope refinement: Focus-first themes =====
   Themes now fully transform Focus + top/bottom HUD + page titlecards.
   Secondary-page content returns to the standard Lumen Academy visual system. */

/* Standard secondary-page palette. These variables are scoped to the page body,
   so the themed top HUD / bottom nav keep inheriting the selected theme from <body>. */
body[data-reward-theme] :is(
  .iphone-quests-page,
  .stats-mock-page,
  .rewards-mock-page,
  .iphone-rewards-page,
  .iphone-teams-page,
  .teams-mock-page,
  .premium-castle-page
){
  --mq-page-solid: #09111d !important;
  --mq-page-overlay: linear-gradient(180deg,#09111d,#09111d) !important;
  --mq-surface: linear-gradient(180deg, rgba(15,28,47,.97), rgba(8,19,34,.99)) !important;
  --mq-surface-soft: linear-gradient(180deg, rgba(21,36,57,.95), rgba(10,22,39,.98)) !important;
  --mq-surface-strong: linear-gradient(180deg, rgba(11,24,42,.99), rgba(6,16,29,.995)) !important;
  --mq-border: rgba(215,169,89,.18) !important;
  --mq-border-strong: rgba(229,187,106,.36) !important;
  --mq-title: #efcb81 !important;
  --mq-text: #e7d9ba !important;
  --mq-muted: #9eacbd !important;
  --mq-ink-strong: #ebd7a7 !important;
  --mq-ink-soft: #9eacbd !important;
  --mq-accent: #e6bc69 !important;
  --mq-accent-soft: rgba(230,188,105,.12) !important;
  --mq-button-bg: linear-gradient(180deg, rgba(19,36,59,.97), rgba(10,23,41,.99)) !important;
  --mq-button-active: linear-gradient(180deg, rgba(208,159,67,.22), rgba(136,92,30,.18)) !important;
  --mq-input-bg: rgba(7,16,29,.68) !important;

  --fq-theme-accent: #dfbd76 !important;
  --fq-theme-accent-soft: rgba(223,189,118,.14) !important;
  --fq-theme-border: rgba(221,174,87,.18) !important;
  --fq-theme-panel: linear-gradient(180deg, rgba(13,28,47,.97), rgba(7,18,31,.99)) !important;
  --fq-theme-panel-soft: linear-gradient(180deg, rgba(21,36,57,.95), rgba(10,20,34,.98)) !important;
  --fq-theme-text-soft: #9eacbd !important;

  color: #e7d9ba !important;
  background: #09111d !important;
  background-image: none !important;
}

/* Keep the phone body itself neutral whenever a secondary page is open. */
body.secondary-screen-active[data-reward-theme] .app-shell,
body.secondary-screen-active[data-reward-theme] .content{
  background: #09111d !important;
  background-image: none !important;
  color: #e7d9ba !important;
}

/* Standard Lumen surfaces on all non-Focus pages. */
body[data-reward-theme] :is(
  .iphone-quests-page,
  .stats-mock-page,
  .rewards-mock-page,
  .iphone-rewards-page,
  .iphone-teams-page,
  .teams-mock-page,
  .premium-castle-page
) :is(
  .iphone-surface,
  .section,
  .quest-card,
  .shop-card,
  .reward-card,
  .stat-card,
  .teams-card,
  .teams-member-card,
  .teams-manage-card,
  .card,
  .panel,
  .rewards-system-panel,
  .rewards-shop-panel,
  .rewards-mock-row,
  .rewards-mock-coin-card,
  .mystery-chest-card,
  .iphone-quest-row,
  .quest-mock-card,
  .quest-mock-meter,
  .team-feature-card,
  .team-member-row,
  .team-leaderboard,
  .team-invite-card,
  .teams-link-panel,
  .teams-link-box,
  .teams-academy-rule,
  .teams-member,
  .stats-mock-summary-tile,
  .stats-mock-goal-row,
  .stats-mock-detail-row,
  .stats-mock-lifetime-panel,
  .stats-range-select-shell,
  .stats-mock-card,
  .stats-mock-detail,
  .stats-mock-goal,
  .weekly-xp-prize-card,
  .team-manage-hub-list,
  .team-manage-hub-code,
  .team-capacity-card,
  .team-rank-roadmap-card,
  .team-expedition-card
){
  background: linear-gradient(180deg, rgba(13,28,47,.97), rgba(7,18,31,.99)) !important;
  background-image: none !important;
  border-color: rgba(221,174,87,.18) !important;
  color: #e7d9ba !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;
}

body[data-reward-theme] :is(
  .iphone-quests-page,
  .stats-mock-page,
  .rewards-mock-page,
  .iphone-rewards-page,
  .iphone-teams-page,
  .teams-mock-page,
  .premium-castle-page
) :is(
  .stats-mock-chart-shell,
  .castle-sheet-room,
  .boost-state-row,
  .castle-sheet-summary,
  .reward-character-panel,
  .castle-current-panel,
  .team-expedition-track-panel,
  .team-expedition-tier-list
){
  background: linear-gradient(180deg, rgba(21,36,57,.95), rgba(10,20,34,.98)) !important;
  background-image: none !important;
  border-color: rgba(221,174,87,.16) !important;
}

/* Standard typography inside secondary pages. Theme identity stays in the titlecard,
   not every label or metric. */
body[data-reward-theme] :is(
  .iphone-quests-page,
  .stats-mock-page,
  .rewards-mock-page,
  .iphone-rewards-page,
  .iphone-teams-page,
  .teams-mock-page,
  .premium-castle-page
) :is(
  .rewards-system-panel strong,
  .castle-progress-head strong,
  .stats-mock-section-title,
  .stats-mock-value,
  .stats-mock-goal-name,
  .stats-mock-goal-side strong,
  .teams-academy-name,
  .teams-section-heading strong,
  .member-copy strong,
  .rewards-wallet strong,
  .rewards-mock-name,
  .rewards-mock-rarity,
  .coin-reward,
  .quest-claim-state.claimable
){
  color: #efcb81 !important;
}
body[data-reward-theme] :is(
  .iphone-quests-page,
  .stats-mock-page,
  .rewards-mock-page,
  .iphone-rewards-page,
  .iphone-teams-page,
  .teams-mock-page,
  .premium-castle-page
) :is(
  .rewards-system-panel span,
  .castle-progress-head span,
  .boost-state-row span,
  .rewards-mock-desc,
  .iphone-row-sub,
  .iphone-row-progress,
  .team-motto,
  .team-meta,
  .teams-member-role,
  .stats-mock-caption,
  .stats-mock-goal-sub,
  .stats-mock-goal-side span,
  .quest-tab-summary,
  .subtle-invite
){
  color: #9eacbd !important;
}

/* Standard tab/segmented controls on secondary pages. */
body[data-reward-theme] :is(
  .iphone-quests-page,
  .stats-mock-page,
  .rewards-mock-page,
  .iphone-rewards-page,
  .iphone-teams-page,
  .teams-mock-page,
  .premium-castle-page
) :is(
  .segmented button,
  .team-tabs button,
  .iphone-tab-switch button,
  .compact-range button,
  .rewards-mock-tabs button
){
  background: linear-gradient(180deg, rgba(19,36,59,.97), rgba(10,23,41,.99)) !important;
  border-color: rgba(215,169,89,.16) !important;
  color: #aebbd0 !important;
  box-shadow: none !important;
}
body[data-reward-theme] :is(
  .iphone-quests-page,
  .stats-mock-page,
  .rewards-mock-page,
  .iphone-rewards-page,
  .iphone-teams-page,
  .teams-mock-page,
  .premium-castle-page
) :is(
  .segmented button.active,
  .team-tabs button.active,
  .iphone-tab-switch button.active,
  .compact-range button.active,
  .rewards-mock-tabs button.active
){
  background: linear-gradient(180deg, rgba(47,45,41,.98), rgba(25,28,33,.99)) !important;
  border-color: rgba(226,182,82,.48) !important;
  color: #f0d28a !important;
  box-shadow: inset 0 0 12px rgba(221,174,65,.05) !important;
}

/* Rewards category buttons return to their normal Lumen styling. */
body[data-reward-theme] .rewards-mock-page .rewards-subtabs{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
body[data-reward-theme] .rewards-mock-page .rewards-subtabs button{
  min-height: 38px !important;
  border: 1px solid rgba(82,119,190,.23) !important;
  background: linear-gradient(180deg,rgba(10,28,53,.96),rgba(6,18,36,.98)) !important;
  color: #aebbd0 !important;
  box-shadow: none !important;
}
body[data-reward-theme] .rewards-mock-page .rewards-subtabs button.active{
  border-color: rgba(226,182,82,.5) !important;
  background: linear-gradient(180deg,rgba(30,43,67,.98),rgba(12,27,50,.98)) !important;
  color: #f0d28a !important;
  box-shadow: inset 0 0 12px rgba(221,174,65,.06) !important;
}
body[data-reward-theme] .rewards-mock-page .rewards-subtabs button strong{ color: inherit !important; }

/* Study chart remains the standard blue/gold chart regardless of theme. */
body[data-reward-theme] .stats-mock-page .stats-mock-chart .stats-bar-button .iphone-bar{
  background: linear-gradient(180deg,rgba(96,122,162,.88),rgba(51,76,114,.88)) !important;
  border-color: rgba(238,202,118,.42) !important;
}
body[data-reward-theme] .stats-mock-page .stats-mock-chart .stats-bar-button.selected .iphone-bar,
body[data-reward-theme] .stats-mock-page .stats-mock-chart .stats-bar-button:focus-visible .iphone-bar{
  background: linear-gradient(180deg,#efc668,#d28a31) !important;
}

/* Forest no longer recolours Manage Team, Weekly Prize, Expedition, or reward controls. */






/* Sheets/modal cards use Lumen's normal styling instead of the equipped scene theme.
   The active Focus timer itself remains theme-aware via #focusOverlay rules. */
body[data-reward-theme] #sheetOverlay .sheet,
body[data-reward-theme] #sheetOverlay :is(.screen-card,.settings-sheet,.sheet-card){
  background: linear-gradient(180deg, rgba(10,15,22,.985), rgba(6,10,15,.995)) !important;
  background-image: none !important;
  border-color: rgba(215,171,96,.20) !important;
  color: var(--text) !important;
}

/* Titlecards are the one deliberate secondary-page theme echo: use the same scene
   as Focus, with a consistent crop across Quests / Stats / Rewards / Teams. */
body[data-reward-theme] :is(
  .iphone-quests-page > .secondary-page-header,
  .stats-mock-page > .secondary-page-header,
  .rewards-mock-head > .secondary-page-header,
  .iphone-teams-page > .secondary-page-header,
  .premium-castle-page > .secondary-page-header
){
  background-image: linear-gradient(180deg, rgba(2,5,10,.08), rgba(2,5,10,.58)), var(--mq-bg-image) !important;
  background-size: cover, cover !important;
  background-position: center 28%, center 28% !important;
  background-repeat: no-repeat !important;
}

/* Theme-specific title text is intentionally subtle; only the titlecard changes. */

body[data-reward-theme="moon_castle"] .secondary-page-header .secondary-page-title h2{ color:#e2ebff !important; }
body[data-reward-theme="volcano_castle"] .secondary-page-header .secondary-page-title h2{ color:#ffd39a !important; }
body[data-reward-theme="beach_castle"] .secondary-page-header .secondary-page-title h2{ color:#eefbff !important; }
body[data-reward-theme="cliffside_castle"] .secondary-page-header .secondary-page-title h2{ color:#e4edf8 !important; }

body[data-reward-theme] .secondary-page-header .secondary-page-title h2{
  text-shadow: 0 1px 0 rgba(0,0,0,.58), 0 0 10px rgba(0,0,0,.24) !important;
}
body[data-reward-theme] .secondary-page-header .secondary-page-title span{
  background: linear-gradient(90deg, transparent, rgba(224,180,86,.78), transparent) !important;
}

/* ===== Academy Night typography restoration (2026-09-03) =====
   The standard Academy Night theme must never inherit Moon Castle's pale-blue
   typography. Moon remains a separate optional theme. */



/* ===== 2026-09-03 Academy background restore + reliable teammate pulse ===== */
/* Keep the standard Academy typography, but restore the moonlit courtyard artwork
   that Academy Night used before the typography-only correction. */


/* ===== 2026-09-03 gold quest/stats restoration + stronger study pulse ===== */
/* Keep Stats in the standard Lumen gold treatment regardless of equipped scene theme. */
.stats-mock-page .stats-mock-chart .stats-bar-button .iphone-bar,
body[data-reward-theme] .stats-mock-page .stats-mock-chart .stats-bar-button .iphone-bar{
  background: linear-gradient(180deg, #efd07a 0%, #d8a443 54%, #a96d22 100%) !important;
  border-color: rgba(247, 216, 139, .58) !important;
  box-shadow: inset 0 1px 0 rgba(255,247,217,.22), 0 2px 5px rgba(0,0,0,.18) !important;
}
.stats-mock-page .stats-mock-chart .stats-bar-button.selected .iphone-bar,
.stats-mock-page .stats-mock-chart .stats-bar-button:focus-visible .iphone-bar,
body[data-reward-theme] .stats-mock-page .stats-mock-chart .stats-bar-button.selected .iphone-bar,
body[data-reward-theme] .stats-mock-page .stats-mock-chart .stats-bar-button:focus-visible .iphone-bar{
  background: linear-gradient(180deg, #ffe9a3 0%, #f1c65f 52%, #c9862b 100%) !important;
  border-color: rgba(255,231,165,.82) !important;
  filter: drop-shadow(0 0 8px rgba(233,190,92,.34)) !important;
}

/* Quest names use the original Lumen gold rather than theme/moonlit text colours. */
body.secondary-screen-active .quest-mock-title,
body[data-reward-theme] .quest-mock-title{
  color: #f2ce86 !important;
  text-shadow: 0 1px 4px rgba(0,0,0,.48) !important;
}
.iphone-quests-page .iphone-tab-switch button.active,
body[data-reward-theme] .iphone-quests-page .iphone-tab-switch button.active,
.elite-quest-banner strong{
  color: #f0cf83 !important;
}

/* ===== 2026-09-03 quest selector gold + cross-platform inset study pulse ===== */
/* Daily / Weekly / Lifetime are standard Lumen navigation, not scene-theme typography. */
.iphone-quests-page .iphone-tab-switch button:not(.elite),
body[data-reward-theme] .iphone-quests-page .iphone-tab-switch button:not(.elite),
body.secondary-screen-active .iphone-quests-page .iphone-tab-switch button:not(.elite){
  color: #dcb868 !important;
  text-shadow: 0 1px 3px rgba(0,0,0,.42) !important;
}
.iphone-quests-page .iphone-tab-switch button:not(.elite).active,
body[data-reward-theme] .iphone-quests-page .iphone-tab-switch button:not(.elite).active,
body.secondary-screen-active .iphone-quests-page .iphone-tab-switch button:not(.elite).active{
  color: #f5d98f !important;
  text-shadow: 0 0 7px rgba(229,181,78,.20), 0 1px 3px rgba(0,0,0,.48) !important;
}

/* ===== Academy Night exact visual restoration from 2026-09-02 reference build =====
   Restore only the Academy Night visual language. Newer functionality, theme
   scoping, and all other theme identities remain untouched. */
body[data-reward-theme="academy_night"]{
  /* Reference build: Academy Night shares the moonlit courtyard world but keeps
     the warmer classic Academy gold/navy interface rather than Moon Castle's
     pale-blue typography. */
  
  
  --mq-page-overlay: linear-gradient(180deg, rgba(5,9,16,.42), rgba(5,9,16,.90)) !important;
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  --mq-input-bg: rgba(6,14,25,.56) !important;
  --mq-hero-text-shadow: 0 1px 0 rgba(0,0,0,.45), 0 0 10px rgba(0,0,0,.25) !important;

  
  
  
  
  
  
  
  
  
}

/* Academy Night titlecards use the restored focus environment and classic gold
   heading treatment, while the page bodies keep the current restrained theme scope. */
body[data-reward-theme="academy_night"] .secondary-page-header .secondary-page-title h2{
  color: #efcb81 !important;
  text-shadow: 0 1px 0 rgba(0,0,0,.58), 0 0 10px rgba(0,0,0,.24) !important;
}

/* Match the original Academy Night Focus control text hierarchy. */
body[data-reward-theme="academy_night"].focus-screen-active :is(
  .focus-time-label,
  .focus-open-ended-copy strong,
  .focus-open-ended-copy span,
  .focus-mode-option,
  .focus-timer-option,
  .focus-subject-current,
  .focus-subject-label
){
  color: #ead7ad !important;
}
body[data-reward-theme="academy_night"].focus-screen-active :is(
  .focus-mode-option.active,
  .focus-timer-option.active
){
  color: #f3d58f !important;
}

/* ===== 2026-09-03 Academy Night legacy visual restoration =====
   Visual-only restoration from Lumen_Academy_Dev_Constellation_Shapes_Spark_2026-09-02.
   Keep current functionality; restore the older Academy Night palette and themed
   secondary-page treatment after the newer Focus-first theme-scope rules. */
body[data-reward-theme="academy_night"]{
  --mq-bg-image: url("../assets/theme_moon_castle.webp") !important;
  --mq-page-solid: #091121 !important;
  --mq-surface: linear-gradient(180deg, rgba(14,22,46,.96), rgba(8,15,33,.985)) !important;
  --mq-surface-soft: linear-gradient(180deg, rgba(22,33,62,.94), rgba(11,19,40,.975)) !important;
  --mq-surface-strong: linear-gradient(180deg, rgba(10,18,38,.985), rgba(6,12,28,.995)) !important;
  --mq-topbar: linear-gradient(180deg, rgba(10,16,34,.96), rgba(8,13,27,.94)) !important;
  --mq-nav: linear-gradient(180deg, rgba(10,15,31,.97), rgba(8,12,24,.985)) !important;
  --mq-border: rgba(218,176,91,.26) !important;
  --mq-border-strong: rgba(235,197,119,.48) !important;
  --mq-title: #efcb81 !important;
  --mq-text: #ead7ad !important;
  --mq-muted: #c7b48e !important;
  --mq-ink-strong: #efcb81 !important;
  --mq-ink-soft: #c7b48e !important;
  --mq-accent: #e4b75e !important;
  --mq-accent-soft: rgba(228,183,94,.15) !important;
  --mq-button-bg: linear-gradient(180deg, rgba(28,43,75,.94), rgba(13,22,44,.97)) !important;
  --mq-button-active: linear-gradient(180deg, rgba(217,170,77,.20), rgba(138,98,39,.16)) !important;
  --fq-theme-accent: #dfbd76 !important;
  --fq-theme-accent-soft: rgba(223,189,118,.18) !important;
  --fq-theme-border: rgba(221,174,87,.24) !important;
  --fq-theme-shell: linear-gradient(180deg, rgba(8,12,19,.95), rgba(7,12,20,.98)) !important;
  --fq-theme-panel: linear-gradient(180deg, rgba(13,28,47,.96), rgba(7,18,31,.985)) !important;
  --fq-theme-panel-soft: linear-gradient(180deg, rgba(21,36,57,.92), rgba(10,20,34,.96)) !important;
  --fq-theme-text-soft: #cdb993 !important;
  --fq-theme-topbar: linear-gradient(180deg, rgba(8,12,19,.94), rgba(9,14,23,.90)) !important;
  --fq-theme-nav: linear-gradient(180deg, rgba(10,16,26,.96), rgba(7,12,20,.98)) !important;
}

body[data-reward-theme="academy_night"] :is(
  .iphone-quests-page,
  .stats-mock-page,
  .rewards-mock-page,
  .iphone-rewards-page,
  .iphone-teams-page,
  .teams-mock-page,
  .premium-castle-page
){
  --mq-page-solid: #091121 !important;
  --mq-surface: linear-gradient(180deg, rgba(14,22,46,.96), rgba(8,15,33,.985)) !important;
  --mq-surface-soft: linear-gradient(180deg, rgba(22,33,62,.94), rgba(11,19,40,.975)) !important;
  --mq-surface-strong: linear-gradient(180deg, rgba(10,18,38,.985), rgba(6,12,28,.995)) !important;
  --mq-border: rgba(218,176,91,.26) !important;
  --mq-border-strong: rgba(235,197,119,.48) !important;
  --mq-title: #efcb81 !important;
  --mq-text: #ead7ad !important;
  --mq-muted: #c7b48e !important;
  --mq-accent: #e4b75e !important;
  --mq-accent-soft: rgba(228,183,94,.15) !important;
  --fq-theme-accent: #dfbd76 !important;
  --fq-theme-accent-soft: rgba(223,189,118,.18) !important;
  --fq-theme-border: rgba(221,174,87,.24) !important;
  --fq-theme-panel: linear-gradient(180deg, rgba(13,28,47,.96), rgba(7,18,31,.985)) !important;
  --fq-theme-panel-soft: linear-gradient(180deg, rgba(21,36,57,.92), rgba(10,20,34,.96)) !important;
  --fq-theme-text-soft: #cdb993 !important;
  color: #ead7ad !important;
  background: #091121 !important;
  background-image: none !important;
}

body.secondary-screen-active[data-reward-theme="academy_night"] .app-shell,
body.secondary-screen-active[data-reward-theme="academy_night"] .content{
  background: #091121 !important;
  background-image: none !important;
  color: #ead7ad !important;
}

body[data-reward-theme="academy_night"] :is(
  .iphone-quests-page,
  .stats-mock-page,
  .rewards-mock-page,
  .iphone-rewards-page,
  .iphone-teams-page,
  .teams-mock-page,
  .premium-castle-page
) :is(
  .iphone-surface,.section,.quest-card,.shop-card,.reward-card,.stat-card,
  .teams-card,.teams-member-card,.teams-manage-card,.card,.panel,
  .rewards-system-panel,.rewards-shop-panel,.rewards-mock-row,.rewards-mock-coin-card,
  .mystery-chest-card,.iphone-quest-row,.quest-mock-card,.quest-mock-meter,
  .team-feature-card,.team-member-row,.team-leaderboard,.team-invite-card,
  .teams-link-panel,.teams-link-box,.teams-academy-rule,.teams-member,
  .stats-mock-summary-tile,.stats-mock-goal-row,.stats-mock-detail-row,
  .stats-mock-lifetime-panel,.stats-range-select-shell,.stats-mock-card,
  .stats-mock-detail,.stats-mock-goal,.weekly-xp-prize-card,.team-manage-hub-list,
  .team-manage-hub-code,.team-capacity-card,.team-rank-roadmap-card,.team-expedition-card
){
  background: var(--fq-theme-panel) !important;
  background-image: none !important;
  border-color: var(--fq-theme-border) !important;
  color: #ead7ad !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;
}

body[data-reward-theme="academy_night"] :is(
  .iphone-quests-page,.stats-mock-page,.rewards-mock-page,.iphone-rewards-page,
  .iphone-teams-page,.teams-mock-page,.premium-castle-page
) :is(
  .stats-mock-chart-shell,.castle-sheet-room,.boost-state-row,.castle-sheet-summary,
  .reward-character-panel,.castle-current-panel,.team-expedition-track-panel,
  .team-expedition-tier-list
){
  background: var(--fq-theme-panel-soft) !important;
  border-color: var(--fq-theme-border) !important;
}

body[data-reward-theme="academy_night"] :is(
  .iphone-quests-page,.stats-mock-page,.rewards-mock-page,.iphone-rewards-page,
  .iphone-teams-page,.teams-mock-page,.premium-castle-page
) :is(
  .rewards-system-panel strong,.castle-progress-head strong,.stats-mock-section-title,
  .stats-mock-value,.stats-mock-goal-name,.stats-mock-goal-side strong,
  .teams-academy-name,.teams-section-heading strong,.member-copy strong,
  .rewards-wallet strong,.rewards-mock-name,.coin-reward,.quest-claim-state.claimable
){ color: var(--fq-theme-accent) !important; }

body[data-reward-theme="academy_night"] :is(
  .iphone-quests-page,.stats-mock-page,.rewards-mock-page,.iphone-rewards-page,
  .iphone-teams-page,.teams-mock-page,.premium-castle-page
) :is(
  .rewards-system-panel span,.castle-progress-head span,.boost-state-row span,
  .rewards-mock-desc,.iphone-row-sub,.iphone-row-progress,.team-motto,.team-meta,
  .teams-member-role,.stats-mock-caption,.stats-mock-goal-sub,.stats-mock-goal-side span,
  .quest-tab-summary,.subtle-invite
){ color: var(--fq-theme-text-soft) !important; }

body[data-reward-theme="academy_night"] :is(
  .iphone-quests-page,.stats-mock-page,.rewards-mock-page,.iphone-rewards-page,
  .iphone-teams-page,.teams-mock-page,.premium-castle-page
) :is(.segmented button,.team-tabs button,.iphone-tab-switch button,.compact-range button,.rewards-mock-tabs button){
  background: var(--mq-button-bg) !important;
  border-color: var(--fq-theme-border) !important;
  color: #c7b48e !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.03), 0 0 0 1px rgba(0,0,0,.04) !important;
}
body[data-reward-theme="academy_night"] :is(
  .iphone-quests-page,.stats-mock-page,.rewards-mock-page,.iphone-rewards-page,
  .iphone-teams-page,.teams-mock-page,.premium-castle-page
) :is(.segmented button.active,.team-tabs button.active,.iphone-tab-switch button.active,.compact-range button.active,.rewards-mock-tabs button.active){
  background: linear-gradient(180deg, rgba(223,189,118,.24), rgba(223,189,118,.12)) !important;
  border-color: rgba(223,189,118,.48) !important;
  color: var(--fq-theme-accent) !important;
  box-shadow: inset 0 0 12px rgba(223,189,118,.06) !important;
}

/* The older Academy Night used the original academy art for page title cards,
   while the Focus scene used the moon courtyard image. */
body[data-reward-theme="academy_night"] :is(
  .iphone-quests-page > .secondary-page-header,
  .stats-mock-page > .secondary-page-header,
  .rewards-mock-head > .secondary-page-header,
  .iphone-teams-page > .secondary-page-header,
  .premium-castle-page > .secondary-page-header
){
  background: linear-gradient(180deg, rgba(8,14,24,.26), rgba(8,14,24,.72)), url("../assets/bg_academy_night.webp") center 42% / cover no-repeat !important;
}

/* ===== Original reward rarity palette =====
   Keep rarity semantic colours independent of the equipped visual theme. */
body[data-reward-theme] .rewards-mock-rarity.starter,
body[data-reward-theme] .rewards-mock-rarity.common{ color:#d8c38e !important; }
body[data-reward-theme] .rewards-mock-rarity.rare{ color:#5b8dff !important; }
body[data-reward-theme] .rewards-mock-rarity.epic{ color:#ad63ff !important; }
body[data-reward-theme] .rewards-mock-rarity.legendary{ color:#ffad33 !important; }
body[data-reward-theme] .rewards-mock-rarity.mythic{ color:#ff61c8 !important; }
.chest-reveal-rarity.rare,.reward-detail-rarity.rare{ color:#5b8dff !important; }
.chest-reveal-rarity.epic,.reward-detail-rarity.epic{ color:#ad63ff !important; }
.chest-reveal-rarity.legendary,.reward-detail-rarity.legendary{ color:#ffad33 !important; }
.chest-reveal-rarity.mythic,.reward-detail-rarity.mythic{ color:#ff61c8 !important; }

/* ===== 2026-09-03 Academy Night popup + Settings consistency restoration =====
   Styling-only. Restore the older solid Academy Night modal surfaces and keep
   the two audio controls visually identical to the surrounding Settings rows. */
body[data-reward-theme="academy_night"] #sheetOverlay .sheet,
body[data-reward-theme="academy_night"] #sheetOverlay :is(.screen-card,.settings-sheet,.sheet-card){
  background: var(--mq-surface) !important;
  border-color: var(--mq-border) !important;
  color: var(--mq-text) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 14px 34px rgba(0,0,0,.38) !important;
}
body[data-reward-theme="academy_night"] #sheetOverlay .sheet-header{
  background: var(--mq-surface) !important;
  border-bottom-color: var(--mq-border) !important;
}
body[data-reward-theme="academy_night"] #sheetOverlay .sheet-title,
body[data-reward-theme="academy_night"] #sheetOverlay :is(.settings-row,.settings-volume-row) strong{
  color: var(--mq-title) !important;
}
body[data-reward-theme="academy_night"] #sheetOverlay :is(.muted,.settings-row small,.settings-volume-row small,.settings-note){
  color: var(--mq-muted) !important;
}
body[data-reward-theme="academy_night"] #sheetOverlay .close-button,
body[data-reward-theme="academy_night"] #sheetOverlay :is(.tiny-button,.secondary-button,.action-button,.danger-button){
  background: var(--mq-button-bg) !important;
  border-color: var(--mq-border-strong) !important;
  color: var(--mq-title) !important;
}
body[data-reward-theme="academy_night"] #sheetOverlay :is(input:not([type="range"]),select,textarea){
  background: var(--mq-surface-soft) !important;
  border-color: var(--mq-border) !important;
  color: var(--mq-text) !important;
}

/* Volume controls are rows, not standalone cards. Keep the existing slider
   functionality but make their surfaces, spacing and separators match Settings. */
#sheetOverlay .settings-sheet-modal .settings-volume-row{
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line-soft) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 10px 1px !important;
}
#sheetOverlay .settings-sheet-modal .settings-volume-row:first-of-type,
#sheetOverlay .settings-sheet-modal .settings-volume-row + .settings-volume-row{
  border-top: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-radius: 0 !important;
}
#sheetOverlay .settings-sheet-modal .settings-volume-row strong{
  color: inherit !important;
}
#sheetOverlay .settings-sheet-modal .settings-volume-row small{
  color: var(--muted) !important;
}
#sheetOverlay .settings-sheet-modal .settings-volume-row output{
  color: var(--gold) !important;
}

body[data-reward-theme] #sheetOverlay .settings-sheet-modal .settings-volume-row{
  border-bottom-color: var(--mq-border) !important;
}
body[data-reward-theme] #sheetOverlay .settings-sheet-modal .settings-volume-row strong{
  color: var(--mq-title) !important;
}
body[data-reward-theme] #sheetOverlay .settings-sheet-modal .settings-volume-row small{
  color: var(--mq-muted) !important;
}
body[data-reward-theme] #sheetOverlay .settings-sheet-modal .settings-volume-row output{
  color: var(--mq-accent) !important;
}
body[data-reward-theme] #sheetOverlay .settings-sheet-modal .settings-volume-row input[type="range"]{
  accent-color: var(--mq-accent) !important;
}

/* ===== 2026-09-03 Settings volume range travel + admin reward editor ===== */
.account-repair-fields select{
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  padding: 12px 13px;
  border-radius: 11px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(8, 10, 16, .72);
  color: inherit;
  font: inherit;
  letter-spacing: normal;
}


#sheetOverlay .settings-sheet-modal .settings-volume-row input[type="range"]{
  -webkit-appearance: none;
  appearance: none;
  display: block;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  
  margin: 0 !important;
  padding: 0 !important;
  
  touch-action: pan-y;
}
#sheetOverlay .settings-sheet-modal .settings-volume-row input[type="range"]::-webkit-slider-runnable-track{
  width: 100%;
  
  
  
  
}
#sheetOverlay .settings-sheet-modal .settings-volume-row input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance: none;
  appearance: none;
  
  
  
  border-radius: 50%;
  
  
  
}
#sheetOverlay .settings-sheet-modal .settings-volume-row input[type="range"]::-moz-range-track{
  width: 100%;
  
  
  
  
}
#sheetOverlay .settings-sheet-modal .settings-volume-row input[type="range"]::-moz-range-thumb{
  
  
  border-radius: 50%;
  
  
  
}
body[data-reward-theme] #sheetOverlay .settings-sheet-modal .settings-volume-row input[type="range"]::-webkit-slider-runnable-track{
  background: color-mix(in srgb, var(--mq-accent) 22%, transparent);
  border-color: color-mix(in srgb, var(--mq-accent) 34%, transparent);
}
body[data-reward-theme] #sheetOverlay .settings-sheet-modal .settings-volume-row input[type="range"]::-webkit-slider-thumb{
  background: var(--mq-accent);
}
body[data-reward-theme] #sheetOverlay .settings-sheet-modal .settings-volume-row input[type="range"]::-moz-range-track{
  background: color-mix(in srgb, var(--mq-accent) 22%, transparent);
  border-color: color-mix(in srgb, var(--mq-accent) 34%, transparent);
}
body[data-reward-theme] #sheetOverlay .settings-sheet-modal .settings-volume-row input[type="range"]::-moz-range-thumb{
  background: var(--mq-accent);
}

@media (max-width: 599px) {
  .phone-stage #sheetOverlay .settings-sheet-modal .settings-volume-row{
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 7px !important;
  }
  .phone-stage #sheetOverlay .settings-sheet-modal .settings-volume-row > div{
    width: 100% !important;
    grid-template-columns: minmax(0, 1fr) 38px !important;
    gap: 8px !important;
  }
}

/* Strict-mode confirmation is intentionally a danger action in every theme.
   Keep it red even when themed sheet button rules recolor generic actions. */
#sheetOverlay #confirmStrictButton,
body[data-reward-theme] #sheetOverlay #confirmStrictButton,
body[data-reward-theme="academy_night"] #sheetOverlay #confirmStrictButton{
  border-color: rgba(224,103,94,.58) !important;
  background: linear-gradient(180deg, rgba(168,48,45,.97), rgba(106,27,30,.98)) !important;
  background-image: linear-gradient(180deg, rgba(168,48,45,.97), rgba(106,27,30,.98)) !important;
  background-color: rgb(126,34,34) !important;
  color: #fff0eb !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 5px 12px rgba(0,0,0,.20) !important;
}
#sheetOverlay #confirmStrictButton::before,
#sheetOverlay #confirmStrictButton::after{
  content: none !important;
  display: none !important;
}

/* ===== 2026-09-03 Stats chart toolbar separation + Expedition reward-tier restyle ===== */
/* The Activity range control is taller than the old compressed 25px header row.
   Reserve a real toolbar row so it never hangs over the plotting area. */
.stats-mock-activity-panel{
  grid-template-rows: 38px minmax(119px, 1fr) 62px !important;
  gap: 5px !important;
}
.stats-mock-activity-head{
  
  
  
  padding: 0 1px 2px !important;
}
.stats-mock-activity-head .stats-mock-section-title{
  align-self: center !important;
}
.stats-range-select-shell,
body[data-reward-theme] .stats-range-select-shell{
  height: 32px !important;
  min-height: 32px !important;
  margin: 0 !important;
  align-self: center !important;
}
#statsRangeSelect,
body[data-reward-theme] #statsRangeSelect{
  top: 0 !important;
  height: 30px !important;
  min-height: 30px !important;
}
.stats-mock-chart-shell{
  margin: 0 !important;
  min-height: 119px !important;
  height: 100% !important;
  align-self: stretch !important;
  padding-top: 5px !important;
}
.stats-mock-chart{
  min-height: 119px !important;
  height: 100% !important;
}

/* Expedition reward tiers now read as rank milestone plaques rather than generic rows. */
.team-expedition-tier-list.vibrant{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 8px !important;
  padding: 10px !important;
  border: 1px solid rgba(224,180,83,.24) !important;
  border-radius: 13px !important;
  background: linear-gradient(180deg, rgba(7,19,38,.985), rgba(4,13,27,.995)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 7px 18px rgba(0,0,0,.16) !important;
}
.team-expedition-tier-list.vibrant > .team-card-head{
  margin: 0 2px 2px !important;
  padding: 0 1px 7px !important;
  border-bottom: 1px solid rgba(218,174,82,.18) !important;
}
.team-expedition-tier-list.vibrant > .team-card-head span{
  color: #d7b66e !important;
  letter-spacing: .13em !important;
}
.team-expedition-tier-list.vibrant > .team-card-head strong{
  color: #f1e1bd !important;
}
.team-expedition-tier-list.vibrant .team-expedition-tier-row{
  --exp-tier-metal: #b77c4f;
  --exp-tier-metal-soft: rgba(183,124,79,.20);
  --exp-tier-metal-line: rgba(218,158,103,.44);
  position: relative !important;
  isolation: isolate;
  overflow: hidden;
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 66px !important;
  padding: 8px 10px 8px 9px !important;
  border: 1px solid var(--exp-tier-metal-line) !important;
  border-left: 3px solid var(--exp-tier-metal) !important;
  border-radius: 11px !important;
  background:
    linear-gradient(90deg, var(--exp-tier-metal-soft), transparent 37%),
    linear-gradient(180deg, rgba(16,31,53,.96), rgba(8,20,37,.985)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035), inset 8px 0 18px rgba(0,0,0,.08) !important;
}
.team-expedition-tier-list.vibrant .team-expedition-tier-row.silver{
  --exp-tier-metal: #aeb9c8;
  --exp-tier-metal-soft: rgba(169,184,204,.18);
  --exp-tier-metal-line: rgba(190,204,222,.40);
}
.team-expedition-tier-list.vibrant .team-expedition-tier-row.gold{
  --exp-tier-metal: #ddb24f;
  --exp-tier-metal-soft: rgba(221,178,79,.19);
  --exp-tier-metal-line: rgba(235,195,104,.46);
}
.team-expedition-tier-list.vibrant .team-expedition-tier-row::before{
  content: "";
  position: absolute;
  z-index: -1;
  width: 112px;
  height: 112px;
  left: -42px;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
  background: radial-gradient(circle, var(--exp-tier-metal-soft) 0 34%, transparent 70%);
  pointer-events: none;
}
.team-expedition-tier-list.vibrant .team-expedition-tier-row::after{
  content: "";
  position: absolute;
  z-index: -1;
  inset: 5px;
  border: 1px solid rgba(255,255,255,.025);
  border-radius: 8px;
  pointer-events: none;
}
.team-expedition-tier-list.vibrant .team-rank-badge.asset{
  width: 48px !important;
  height: 48px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid var(--exp-tier-metal-line) !important;
  border-radius: 50% !important;
  background: radial-gradient(circle at 35% 28%, rgba(255,255,255,.08), rgba(5,14,27,.88) 70%) !important;
  box-shadow: 0 0 0 3px rgba(4,11,23,.42), 0 3px 10px rgba(0,0,0,.28) !important;
}
.team-expedition-tier-list.vibrant .team-rank-badge.asset img{
  width: 43px !important;
  height: 43px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.34)) !important;
}
.team-expedition-tier-list.vibrant .team-expedition-tier-copy{
  display: grid !important;
  align-content: center !important;
  gap: 4px !important;
}
.team-expedition-tier-list.vibrant .team-expedition-tier-reward-icons{
  justify-self: end !important;
}
.team-expedition-reward-icons{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}
.team-expedition-reward-icons.compact{
  gap: 4px !important;
}
.team-expedition-reward-icon{
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(227,187,95,.34) !important;
  background: linear-gradient(180deg, rgba(20,33,55,.96), rgba(9,18,33,.985)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 4px 10px rgba(0,0,0,.22) !important;
}
.team-expedition-reward-icons.compact .team-expedition-reward-icon{
  width: 28px !important;
  height: 28px !important;
  border-radius: 8px !important;
}
.team-expedition-reward-icon img{
  width: 24px !important;
  height: 24px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 2px 3px rgba(0,0,0,.28)) !important;
}
.team-expedition-reward-icons.compact .team-expedition-reward-icon img{
  width: 19px !important;
  height: 19px !important;
}
.team-expedition-reward-icon.coin b{
  position: absolute !important;
  right: -5px !important;
  bottom: -5px !important;
  min-width: 18px !important;
  padding: 1px 4px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(241,204,114,.48) !important;
  background: linear-gradient(180deg, rgba(211,164,68,.96), rgba(121,82,23,.98)) !important;
  color: #fff5d0 !important;
  font-size: .42rem !important;
  font-style: normal !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  letter-spacing: .03em !important;
}
.team-expedition-reward-icons.compact .team-expedition-reward-icon.coin b{
  right: -4px !important;
  bottom: -4px !important;
  min-width: 15px !important;
  font-size: .35rem !important;
  padding: 1px 3px !important;
}
.team-expedition-sheet-reward-article .team-expedition-sheet-reward-icons,
.team-expedition-progress-reward{
  display: flex !important;
  align-items: center !important;
}
.team-expedition-tier-list.vibrant .team-expedition-tier-copy strong{
  color: var(--exp-tier-metal) !important;
  
  font-size: .72rem !important;
  font-weight: 600 !important;
  letter-spacing: .10em !important;
  line-height: 1 !important;
}
.team-expedition-tier-list.vibrant .team-expedition-tier-copy small{
  color: #d1d9e6 !important;
  font-size: .53rem !important;
  line-height: 1.25 !important;
}
.team-expedition-tier-list.vibrant .team-expedition-tier-row em{ display: none !important; }
.team-expedition-tier-list.vibrant .team-expedition-tier-row.current{
  outline: 2px solid rgba(236,194,92,.82) !important;
  outline-offset: 0 !important;
  border-color: rgba(236,194,92,.62) !important;
  border-left-color: rgba(236,194,92,.82) !important;
  background:
    linear-gradient(90deg, rgba(236,194,92,.16), transparent 47%),
    linear-gradient(180deg, rgba(22,39,62,.985), rgba(10,24,43,.99)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.055),
    inset 0 0 18px rgba(236,194,92,.14),
    0 0 0 1px rgba(4,10,20,.65),
    0 0 0 3px rgba(236,194,92,.16),
    0 4px 13px rgba(0,0,0,.22) !important;
}

@media (max-width: 390px) {
  .stats-mock-activity-panel{
    grid-template-rows: 36px minmax(112px, 1fr) 62px !important;
  }
  .stats-mock-activity-head{
    min-height: 36px !important;
    height: 36px !important;
  }
  .stats-mock-chart-shell,
  .stats-mock-chart{
    min-height: 112px !important;
  }
  .team-expedition-tier-list.vibrant .team-expedition-tier-row{
    grid-template-columns: 47px minmax(0, 1fr) auto !important;
    gap: 8px !important;
    min-height: 61px !important;
    padding: 7px 8px 7px 7px !important;
  }
  .team-expedition-tier-list.vibrant .team-rank-badge.asset{
    width: 43px !important;
    height: 43px !important;
  }
  .team-expedition-tier-list.vibrant .team-rank-badge.asset img{
    width: 39px !important;
    height: 39px !important;
  }
  .team-expedition-tier-list.vibrant .team-expedition-tier-copy strong{ font-size: .66rem !important; }
  .team-expedition-tier-list.vibrant .team-expedition-tier-copy small{ font-size: .48rem !important; }
}

/* ===== 2026-09-04 Teams sleek leaderboard interface =====
   The leaderboard is the page focal point. Academy identity and Expedition are
   compact supporting sections; visual noise and nested card chrome are reduced. */
body.secondary-screen-active .iphone-teams-page.teams-sleek-page{
  background:
    radial-gradient(circle at 50% 11%, rgba(24,55,92,.16), transparent 34%),
    linear-gradient(180deg,#030914 0%,#050d18 100%) !important;
}
body.secondary-screen-active .iphone-teams-page.teams-sleek-page .teams-hero-flow{
  margin: 0 7px !important;
}
body.secondary-screen-active .iphone-teams-page.teams-sleek-page .teams-academy-card-sleek{
  position: relative !important;
  flex: 0 0 auto !important;
  min-height: 148px !important;
  display: grid !important;
  grid-template-columns: 70px minmax(0,1fr) !important;
  grid-template-areas:
    "banner copy"
    "rank rank" !important;
  align-items: center !important;
  gap: 8px 12px !important;
  padding: 11px 13px 10px !important;
  border: 1px solid rgba(117,139,168,.28) !important;
  
  overflow: hidden !important;
  background:
    linear-gradient(90deg,rgba(4,14,28,.96) 0%,rgba(5,17,33,.86) 48%,rgba(4,12,25,.38) 100%),
    url("../assets/bg_academy_night.webp") right 42% / cover no-repeat !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 9px 24px rgba(0,0,0,.15) !important;
}

.teams-sleek-page .teams-academy-card-sleek::before,
.teams-sleek-page .teams-academy-card-sleek::after{ display:none !important; }
.teams-sleek-page .teams-academy-card-sleek .teams-banner-wrap{
  grid-area: banner !important;
  width: 64px !important;
  height: 76px !important;
  min-height: 0 !important;
  transform: none !important;
  place-self: center !important;
}
.teams-sleek-page .teams-academy-card-sleek .teams-banner-pole{ display:none !important; }
.teams-sleek-page .teams-academy-card-sleek .teams-banner{
  width: 58px !important;
  height: 72px !important;
  margin: 0 !important;
  border: 1px solid rgba(224,174,72,.76) !important;
  
  clip-path: polygon(0 0,100% 0,100% 78%,50% 100%,0 78%) !important;
  
  
}
.teams-sleek-page .teams-academy-card-sleek .teams-banner::before,
.teams-sleek-page .teams-academy-card-sleek .teams-banner::after{ display:none !important; }
.teams-sleek-page .teams-academy-card-sleek .teams-banner img{
  width: 37px !important;
  height: 37px !important;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.28)) !important;
}
.teams-sleek-page .teams-academy-card-sleek .teams-academy-copy{
  grid-area: copy !important;
  min-width: 0 !important;
  padding: 0 !important;
  align-self: center !important;
}
.teams-sleek-page .teams-academy-card-sleek .teams-academy-name{
  color:#f0d59c !important;
  
  font-size:1.12rem !important;
  font-weight:500 !important;
  letter-spacing:.035em !important;
  line-height:1.05 !important;
  white-space:normal !important;
}
.teams-sleek-page .teams-academy-card-sleek .teams-academy-motto{
  margin-top:5px !important;
  max-width: 370px !important;
  color:rgba(232,209,164,.86) !important;
  font-size:.58rem !important;
  font-style:italic !important;
  line-height:1.25 !important;
}
.teams-academy-meta-sleek{
  margin-top:9px !important;
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:7px 15px !important;
  color:#dbe4f1 !important;
  
  font-size:.51rem !important;
  letter-spacing:.015em !important;
}
.teams-academy-meta-sleek > span{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  white-space:nowrap !important;
}
.teams-academy-meta-sleek b{
  color:#dfad50 !important;
  font-size:.62rem !important;
  font-weight:600 !important;
}
.teams-academy-rank-sleek{
  grid-area: rank !important;
  min-width:0 !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  align-items:center !important;
  gap:10px !important;
  padding-top:7px !important;
  border-top:1px solid rgba(165,182,204,.12) !important;
}
.teams-academy-rank-label{
  min-width:70px !important;
  display:grid !important;
  gap:1px !important;
}
.teams-academy-rank-label span{
  color:#8797ad !important;
  font-size:.38rem !important;
  letter-spacing:.035em !important;
}
.teams-academy-rank-label strong{
  color:#e2bd6d !important;
  font-size:.49rem !important;
  font-weight:700 !important;
}
.teams-academy-rank-track{
  min-width:0 !important;
  display:grid !important;
  grid-template-columns:29px minmax(0,1fr) 29px !important;
  align-items:center !important;
  gap:7px !important;
}
.teams-academy-rank-badge{
  width:29px !important;
  height:29px !important;
  display:grid !important;
  place-items:center !important;
}
.teams-academy-rank-badge img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.28)) !important;
}
.teams-academy-rank-progress{
  height:5px !important;
  overflow:hidden !important;
  border:1px solid rgba(144,162,188,.20) !important;
  border-radius:999px !important;
  background:rgba(5,11,20,.82) !important;
  box-shadow:inset 0 1px 3px rgba(0,0,0,.45) !important;
}
.teams-academy-rank-progress i{
  display:block !important;
  height:100% !important;
  border-radius:inherit !important;
  background:linear-gradient(90deg,#bd8028,#f0c463) !important;
  box-shadow:0 0 8px rgba(229,177,75,.26) !important;
}

body.secondary-screen-active .iphone-teams-page.teams-sleek-page .teams-mock-content.teams-dashboard-sleek{
  flex:1 1 auto !important;
  min-height:0 !important;
  margin:0 8px 4px !important;
  padding:0 0 12px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:11px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  scrollbar-width:none !important;
}
.teams-dashboard-sleek::-webkit-scrollbar{ display:none !important; }

/* Expedition is a compact collective achievement strip, not the page focal card. */
.teams-dashboard-sleek .team-expedition-card.team-expedition-sleek{
  position:relative !important;
  flex:0 0 auto !important;
  
  margin:0 !important;
  padding:0 !important;
  border:1px solid rgba(109,131,160,.24) !important;
  
  overflow:hidden !important;
  background:
    radial-gradient(circle at 84% 38%,rgba(45,88,142,.10),transparent 31%),
    linear-gradient(180deg,rgba(8,21,39,.88),rgba(5,15,29,.94)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 7px 18px rgba(0,0,0,.11) !important;
}
.teams-dashboard-sleek .team-expedition-card.team-expedition-sleek::before,
.teams-dashboard-sleek .team-expedition-card.team-expedition-sleek::after{ display:none !important; }
.team-expedition-sleek .team-expedition-open{
  width:100% !important;
  
  display:grid !important;
  
  
  
  
  border:0 !important;
  background:transparent !important;
  color:inherit !important;
  text-align:left !important;
}
.team-expedition-sleek-emblem{
  
  
  display:grid !important;
  place-items:center !important;
}
.team-expedition-sleek-emblem img{
  
  
  object-fit:contain !important;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.30)) !important;
}
.team-expedition-sleek-main{
  min-width:0 !important;
  display:grid !important;
  
}
.team-expedition-sleek-title{
  
  
  align-items:baseline !important;
  justify-content:space-between !important;
  gap:9px !important;
}
.team-expedition-sleek-title strong{
  min-width:0 !important;
  color:#eed29a !important;
  
  
  font-weight:500 !important;
  letter-spacing:.018em !important;
  
  
  
  
}
.team-expedition-sleek-title span{
  flex:0 0 auto !important;
  color:#a8b6c9 !important;
  font-size:.42rem !important;
  white-space:nowrap !important;
}
.team-expedition-sleek-track{
  
  overflow:hidden !important;
  border-radius:999px !important;
  background:rgba(1,7,14,.72) !important;
  box-shadow:inset 0 0 0 1px rgba(124,145,174,.19) !important;
}
.team-expedition-sleek-track i{
  display:block !important;
  height:100% !important;
  border-radius:inherit !important;
  background:linear-gradient(90deg,#cc8c2d,#f1c867) !important;
  box-shadow:0 0 8px rgba(237,185,79,.22) !important;
}

.team-expedition-sleek-reward{
  display:flex !important;
  justify-content:center !important;
  
}

.team-expedition-sleek .team-expedition-reward-icon{
  width:30px !important;
  height:30px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.team-expedition-sleek .team-expedition-reward-icon img{
  width:27px !important;
  height:27px !important;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.32)) !important;
}

.team-expedition-sleek-arrow{
  color:#70849f !important;
  
  
  line-height:1 !important;
}
.team-expedition-sleek .team-expedition-claim-banner{
  
  min-height:22px !important;
  margin:0 !important;
  
  font-size:.38rem !important;
  letter-spacing:.05em !important;
}
.team-expedition-sleek.claim-ready{
  border-color:rgba(225,181,82,.58) !important;
  box-shadow:inset 0 0 15px rgba(226,179,75,.08),0 0 12px rgba(224,177,74,.08) !important;
}

/* The leaderboard is the primary body of Teams: one section, clean rows, faint separators. */
.teams-dashboard-sleek .teams-leaderboard-panel.teams-leaderboard-sleek{
  position:relative !important;
  flex:0 0 auto !important;
  min-height:0 !important;
  margin:0 !important;
  padding:4px 3px 2px !important;
  gap:4px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.teams-leaderboard-sleek::before,
.teams-leaderboard-sleek::after{ display:none !important; }
.teams-leaderboard-sleek .teams-leaderboard-toolbar{
  position:relative !important;
  z-index:3 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  grid-template-areas:"heading tabs" !important;
  align-items:end !important;
  gap:8px 12px !important;
  min-height:36px !important;
  padding:0 1px 5px !important;
  border-bottom:1px solid rgba(134,153,181,.14) !important;
}
.teams-sleek-heading{
  grid-area:heading !important;
  margin:0 !important;
  color:#f0d9a8 !important;
  
  font-size:1rem !important;
  font-weight:500 !important;
  letter-spacing:.01em !important;
  line-height:1 !important;
}
.teams-period-tabs{
  grid-area:tabs !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:2px !important;
}
.teams-period-tabs button{
  position:relative !important;
  
  
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#8e9db2 !important;
  font:inherit !important;
  
  
  letter-spacing:.015em !important;
  white-space:nowrap !important;
}
.teams-period-tabs button::after{
  content:"" !important;
  position:absolute !important;
  
  
  
  height:2px !important;
  border-radius:999px !important;
  background:transparent !important;
}
.teams-period-tabs button.active{
  color:#91c7ff !important;
  text-shadow:0 0 9px rgba(78,158,255,.18) !important;
}
.teams-period-tabs button.active::after{
  background:#61aaff !important;
  box-shadow:0 0 8px rgba(75,156,255,.42) !important;
}
.teams-leaderboard-sleek .teams-pager-add{
  position:absolute !important;
  right:0 !important;
  top:-26px !important;
  width:24px !important;
  min-width:24px !important;
  min-height:24px !important;
  padding:0 !important;
  border-radius:50% !important;
  border:1px solid rgba(91,155,224,.30) !important;
  background:rgba(19,46,75,.54) !important;
  color:#8fc7ff !important;
  font-size:.7rem !important;
}
.teams-history-nav-sleek{
  position:relative !important;
  z-index:3 !important;
  min-height:31px !important;
  display:grid !important;
  grid-template-columns:30px minmax(0,1fr) 30px !important;
  align-items:center !important;
  gap:5px !important;
  padding:2px 0 3px !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
}
.teams-history-nav-sleek button{
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  min-height:28px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:transparent !important;
  color:#d7a752 !important;
  
  font-size:1.05rem !important;
  box-shadow:none !important;
}
.teams-history-nav-sleek button:not(:disabled):active{ background:rgba(69,137,211,.11) !important; }
.teams-history-nav-sleek button:disabled{ opacity:.18 !important; }
.teams-history-nav-sleek strong{
  color:#d8c29a !important;
  
  font-size:.55rem !important;
  font-weight:500 !important;
  letter-spacing:.025em !important;
  text-align:center !important;
  white-space:nowrap !important;
}
.teams-leaderboard-sleek .teams-contributors-pager{
  height:auto !important;
  min-height:0 !important;
  border-radius:0 !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  opacity:0 !important;
}
.teams-leaderboard-sleek .teams-contributors-pager.pager-ready{ opacity:1 !important; }
.teams-leaderboard-sleek .teams-contributors-slide{
  height:auto !important;
  min-height:0 !important;
  overflow:visible !important;
  padding:0 !important;
}
.teams-leaderboard-sleek .teams-contributors-slide .teams-leaderboard-list{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  display:block !important;
  overflow:visible !important;
  padding:0 !important;
}
.teams-leaderboard-sleek .teams-rank-row{
  position:relative !important;
  width:100% !important;
  min-height:58px !important;
  display:grid !important;
  grid-template-columns:30px 43px minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:8px !important;
  padding:7px 5px !important;
  border:0 !important;
  border-bottom:1px solid rgba(130,150,178,.12) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:inherit !important;
  overflow:visible !important;
}
.teams-leaderboard-sleek .teams-rank-row:last-child{ border-bottom-color:transparent !important; }
.teams-leaderboard-sleek .teams-rank-row.leader{
  background:linear-gradient(90deg,rgba(214,164,69,.07),rgba(214,164,69,.018) 48%,transparent) !important;
  box-shadow:inset 2px 0 0 rgba(225,180,83,.72) !important;
}
.teams-leaderboard-sleek .teams-rank-number{
  display:grid !important;
  place-items:center !important;
  color:#8796aa !important;
  
}
.teams-leaderboard-sleek .teams-rank-number strong{
  font-size:.92rem !important;
  font-weight:400 !important;
  line-height:1 !important;
}
.teams-leaderboard-sleek .teams-rank-row.leader .teams-rank-number{ color:#e9b756 !important; }
.teams-leaderboard-sleek .teams-rank-row:nth-child(3) .teams-rank-number{ color:#c88852 !important; }
.teams-leaderboard-sleek .teams-avatar-shell{
  width:39px !important;
  height:39px !important;
  border:1px solid rgba(96,145,201,.48) !important;
  box-shadow:none !important;
}
.teams-leaderboard-sleek .teams-rank-row.leader .teams-avatar-shell{
  border-color:rgba(215,165,66,.70) !important;
}
.teams-leaderboard-sleek .teams-member-copy{ min-width:0 !important; }
.teams-leaderboard-sleek .teams-member-name{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  color:#f0dfbd !important;
  
  font-size:.70rem !important;
  font-weight:500 !important;
  line-height:1.05 !important;
}
.teams-owner-crown{
  flex:0 0 auto !important;
  color:#edb641 !important;
  font-size:.62rem !important;
  line-height:1 !important;
  filter:drop-shadow(0 0 4px rgba(226,169,57,.18)) !important;
}
.teams-leaderboard-sleek .teams-member-role.rank-only{
  margin-top:3px !important;
  color:#8999af !important;
  font-size:.43rem !important;
  letter-spacing:.035em !important;
}
.teams-leaderboard-sleek .teams-member-role.rank-only .teams-member-rank{
  color:#aab6c8 !important;
  font-size:.43rem !important;
  font-weight:500 !important;
}
.teams-leaderboard-sleek .teams-rank-row.leader .teams-member-rank{ color:#cda95d !important; }
.teams-leaderboard-sleek .teams-member-time{
  justify-self:end !important;
  color:#d3dbea !important;
  
  font-size:.62rem !important;
  font-weight:400 !important;
  white-space:nowrap !important;
}
.teams-leaderboard-sleek .teams-rank-row.leader .teams-member-time{ color:#e8c472 !important; }
.teams-leaderboard-sleek .teams-pager-dots{
  min-height:16px !important;
  margin:2px 0 0 !important;
  padding:5px 0 1px !important;
}
.teams-leaderboard-sleek .teams-pager-dots button{ background:rgba(104,142,190,.27) !important; }
.teams-leaderboard-sleek .teams-pager-dots button.active{ background:#65aaff !important; }
.teams-leaderboard-sleek .teams-contributors-empty,
.teams-leaderboard-sleek .teams-contributors-locked{
  min-height:110px !important;
  border-bottom:1px solid rgba(130,150,178,.12) !important;
}

/* Manage returns to the bottom of the page as a large, deliberate action. */
.teams-dashboard-sleek .teams-floating-manage.teams-manage-sleek{
  
  inset:auto !important;
  
  
  
  width:100% !important;
  min-height:58px !important;
  flex:0 0 auto !important;
  display:grid !important;
  grid-template-columns:48px minmax(0,1fr) 22px !important;
  align-items:center !important;
  gap:10px !important;
  margin:2px 0 0 !important;
  padding:7px 13px !important;
  border:1px solid rgba(107,130,159,.28) !important;
  
  
  
  
  transform:none !important;
}
.teams-manage-sleek .teams-manage-row-icon{
  width:43px !important;
  height:43px !important;
  border:0 !important;
  
  background:rgba(45,91,139,.12) !important;
}
.teams-manage-sleek .teams-manage-row-icon img{
  width:31px !important;
  height:31px !important;
  object-fit:contain !important;
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.24)) !important;
}
.teams-manage-sleek .teams-invite-copy{
  display:grid !important;
  gap:2px !important;
  text-align:left !important;
}
.teams-manage-sleek .teams-invite-copy strong{
  color:#efd39a !important;
  
  font-size:.72rem !important;
  font-weight:500 !important;
  letter-spacing:.015em !important;
}
.teams-manage-sleek .teams-invite-copy small{
  color:#8495ad !important;
  
  font-size:.40rem !important;
  line-height:1.2 !important;
}
.teams-manage-sleek .teams-invite-arrow{
  justify-self:end !important;
  color:#d7a750 !important;
  font-size:1.2rem !important;
}

@media (max-width:430px) {
  body.secondary-screen-active .iphone-teams-page.teams-sleek-page .teams-hero-flow{ margin:0 5px !important; }
  body.secondary-screen-active .iphone-teams-page.teams-sleek-page .teams-academy-card-sleek{
    min-height:137px !important;
    grid-template-columns:60px minmax(0,1fr) !important;
    gap:7px 9px !important;
    padding:9px 10px 9px !important;
  }
  .teams-sleek-page .teams-academy-card-sleek .teams-banner-wrap{ width:55px !important; height:66px !important; }
  .teams-sleek-page .teams-academy-card-sleek .teams-banner{ width:51px !important; height:64px !important; }
  .teams-sleek-page .teams-academy-card-sleek .teams-banner img{ width:32px !important; height:32px !important; }
  .teams-sleek-page .teams-academy-card-sleek .teams-academy-name{ font-size:.98rem !important; }
  .teams-sleek-page .teams-academy-card-sleek .teams-academy-motto{ font-size:.50rem !important; margin-top:4px !important; }
  .teams-academy-meta-sleek{ margin-top:7px !important; gap:5px 10px !important; font-size:.44rem !important; }
  .teams-academy-rank-sleek{ gap:7px !important; padding-top:6px !important; }
  .teams-academy-rank-label{ min-width:61px !important; }
  .teams-academy-rank-track{ grid-template-columns:25px minmax(0,1fr) 25px !important; gap:5px !important; }
  .teams-academy-rank-badge{ width:25px !important; height:25px !important; }
  body.secondary-screen-active .iphone-teams-page.teams-sleek-page .teams-mock-content.teams-dashboard-sleek{
    margin:0 6px 3px !important;
    gap:9px !important;
    
  }
  
  
  
  .team-expedition-sleek-title{ display:grid !important; gap:2px !important; }
  
  .team-expedition-sleek-title span{ font-size:.37rem !important; }
  
  .team-expedition-sleek-reward{ min-width:53px !important; }
  .team-expedition-sleek .team-expedition-reward-icon{ width:25px !important; height:25px !important; }
  .team-expedition-sleek .team-expedition-reward-icon img{ width:23px !important; height:23px !important; }
  .teams-leaderboard-sleek .teams-leaderboard-toolbar{
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:5px !important;
  }
  .teams-sleek-heading{ font-size:.86rem !important; }
  .teams-period-tabs button{ min-height:26px !important; padding:2px 4px 5px !important; font-size:.43rem !important; }
  .teams-period-tabs button::after{ left:4px !important; right:4px !important; }
  .teams-history-nav-sleek strong{ font-size:.49rem !important; }
  .teams-leaderboard-sleek .teams-rank-row{
    min-height:54px !important;
    grid-template-columns:25px 38px minmax(0,1fr) auto !important;
    gap:6px !important;
    padding:6px 4px !important;
  }
  .teams-leaderboard-sleek .teams-avatar-shell{ width:36px !important; height:36px !important; }
  .teams-leaderboard-sleek .teams-rank-number strong{ font-size:.82rem !important; }
  .teams-leaderboard-sleek .teams-member-name{ font-size:.64rem !important; }
  .teams-leaderboard-sleek .teams-member-time{ font-size:.55rem !important; }
  .teams-dashboard-sleek .teams-floating-manage.teams-manage-sleek{ min-height:55px !important; grid-template-columns:44px minmax(0,1fr) 18px !important; padding:6px 10px !important; }
  .teams-manage-sleek .teams-manage-row-icon{ width:39px !important; height:39px !important; }
  .teams-manage-sleek .teams-manage-row-icon img{ width:28px !important; height:28px !important; }
  .teams-manage-sleek .teams-invite-copy strong{ font-size:.66rem !important; }
  .teams-manage-sleek .teams-invite-copy small{ font-size:.36rem !important; }
}

/* ===== 2026-09-04 Teams sharp-surface correction ===== */
body.secondary-screen-active .iphone-teams-page.teams-sleek-page .teams-academy-card-sleek{
  border-radius: 6px !important;
}
.teams-sleek-page .teams-academy-card-sleek .teams-banner{
  border-radius: 4px 4px 7px 7px !important;
}
.teams-dashboard-sleek .team-expedition-card.team-expedition-sleek{
  border-radius: 6px !important;
}
.team-expedition-sleek .team-expedition-claim-banner{
  border-radius: 4px !important;
}
.teams-dashboard-sleek .teams-floating-manage.teams-manage-sleek{
  border-radius: 6px !important;
}
.teams-manage-sleek .teams-manage-row-icon{
  border-radius: 5px !important;
}

/* ===== 2026-09-04 Expedition compact-fit refinement =====
   Tighter card, larger reward art + XP, and time moved under the progress bar. */
.teams-dashboard-sleek .team-expedition-card.team-expedition-sleek{
  min-height:0 !important;
  height:auto !important;
}
.team-expedition-sleek .team-expedition-open{
  min-height:0 !important;
  height:auto !important;
  grid-template-columns:58px minmax(0,1fr) auto 12px !important;
  grid-template-rows:auto !important;
  align-items:center !important;
  gap:8px !important;
  padding:8px 10px !important;
}
.team-expedition-sleek-emblem{
  width:52px !important;
  height:52px !important;
}
.team-expedition-sleek-emblem img{
  width:51px !important;
  height:51px !important;
}
.team-expedition-sleek-main{
  gap:4px !important;
  align-self:center !important;
}
.team-expedition-sleek-title{
  display:block !important;
  min-width:0 !important;
}

.team-expedition-sleek-xp{
  color:#f2dfb7 !important;
  
  font-size:.78rem !important;
  font-weight:600 !important;
  line-height:1.05 !important;
  letter-spacing:.01em !important;
  white-space:nowrap !important;
}
.team-expedition-sleek-xp span{
  color:#aeb9c8 !important;
  font-size:.50rem !important;
  font-weight:400 !important;
}
.team-expedition-sleek-track{
  height:5px !important;
  margin-top:1px !important;
}
.team-expedition-sleek-time{
  align-self:auto !important;
  color:#8fa0b5 !important;
  
  
  line-height:1 !important;
  margin-top:1px !important;
  white-space:nowrap !important;
}
.team-expedition-sleek-reward{
  min-width:auto !important;
  padding:0 2px !important;
  align-self:center !important;
}
.team-expedition-sleek .team-expedition-reward-icons{
  gap:5px !important;
  flex-wrap:nowrap !important;
}
.team-expedition-sleek .team-expedition-reward-icon,
.team-expedition-sleek .team-expedition-reward-icons.compact .team-expedition-reward-icon{
  width:40px !important;
  height:40px !important;
}
.team-expedition-sleek .team-expedition-reward-icon img,
.team-expedition-sleek .team-expedition-reward-icons.compact .team-expedition-reward-icon img{
  width:37px !important;
  height:37px !important;
}
.team-expedition-sleek .team-expedition-reward-icon.coin b{
  right:-4px !important;
  bottom:-4px !important;
  min-width:18px !important;
  padding:1px 4px !important;
  font-size:.34rem !important;
}
.team-expedition-sleek-arrow{
  font-size:.95rem !important;
}
.team-expedition-sleek .team-expedition-claim-banner{
  grid-column:2 / -1 !important;
  margin-top:2px !important;
}

@media (max-width:430px) {
  .team-expedition-sleek .team-expedition-open{
    min-height:0 !important;
    grid-template-columns:48px minmax(0,1fr) auto 10px !important;
    gap:6px !important;
    padding:7px 8px !important;
  }
  .team-expedition-sleek-emblem{
    width:44px !important;
    height:44px !important;
  }
  .team-expedition-sleek-emblem img{
    width:43px !important;
    height:43px !important;
  }
  
  .team-expedition-sleek-xp{
    font-size:.71rem !important;
  }
  .team-expedition-sleek-xp span{
    font-size:.42rem !important;
  }
  
  .team-expedition-sleek .team-expedition-reward-icon,
  .team-expedition-sleek .team-expedition-reward-icons.compact .team-expedition-reward-icon{
    width:34px !important;
    height:34px !important;
  }
  .team-expedition-sleek .team-expedition-reward-icon img,
  .team-expedition-sleek .team-expedition-reward-icons.compact .team-expedition-reward-icon img{
    width:32px !important;
    height:32px !important;
  }
}


/* ===== 2026-09-04 Expedition rotating-name + numeric alignment refinement ===== */
/* Keep numerals on a consistent baseline/width without changing Lumen's text fonts. */
body, button, input, select, textarea{
  font-variant-numeric: lining-nums tabular-nums !important;
  font-feature-settings: "lnum" 1, "tnum" 1 !important;
}
.team-expedition-sleek-title strong{
  font-size:.66rem !important;
  line-height:1.08 !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  max-width:none !important;
}
.team-expedition-sleek-time{
  font-size:.44rem !important;
  font-weight:600 !important;
  letter-spacing:.015em !important;
}
.team-expedition-sleek-xp,
.team-expedition-sleek-xp span,
.team-expedition-sleek-time,
.teams-rank-position,
.teams-rank-minutes,
.teams-sleek-date-range,
.team-expedition-sheet-total strong,
.team-expedition-sheet-stats strong{
  font-variant-numeric:lining-nums tabular-nums !important;
  font-feature-settings:"lnum" 1, "tnum" 1 !important;
}
@media (max-width:430px) {
  .team-expedition-sleek-title strong{
    font-size:.56rem !important;
    line-height:1.08 !important;
    -webkit-line-clamp:2 !important;
    max-width:none !important;
  }
  .team-expedition-sleek-time{
    font-size:.42rem !important;
  }
}

/* ===== 2026-09-04 Teams banner colour + distinct academy scene + rounded numerals + live glow ===== */
/* Keep the Academy information artwork intentionally different from the page titlecard. */
body.secondary-screen-active .iphone-teams-page.teams-sleek-page .teams-academy-card-sleek,
body[data-reward-theme] .iphone-teams-page.teams-sleek-page .teams-academy-card-sleek{
  background:
    linear-gradient(90deg, rgba(4,13,27,.985) 0%, rgba(5,17,33,.94) 49%, rgba(4,12,24,.67) 71%, rgba(4,11,22,.32) 100%),
    radial-gradient(circle at 82% 48%, rgba(60,105,155,.12), transparent 36%),
    url("../assets/academy_house.webp") right 47% / auto 118% no-repeat !important;
}

/* The pennant itself is team-customisable; its emblem remains independent. */
.teams-sleek-page .teams-academy-card-sleek .teams-banner{
  background: linear-gradient(180deg, var(--team-banner-base, #234f7b), var(--team-banner-deep, #0a2342)) !important;
  border-color: var(--team-banner-border, #d9a84b) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.09),
    inset 0 0 16px rgba(0,0,0,.14),
    0 6px 14px rgba(0,0,0,.25) !important;
}

/* Academy rank label follows the actual tier rather than always using muted grey/gold. */
.teams-academy-rank-sleek.rank-bronze .teams-academy-rank-label :is(span,strong){ color:#c98d58 !important; }
.teams-academy-rank-sleek.rank-silver .teams-academy-rank-label :is(span,strong){ color:#c6d1df !important; }
.teams-academy-rank-sleek.rank-gold .teams-academy-rank-label :is(span,strong){ color:#e8bd58 !important; }

/* Rounded, even-stroke numeral face. Text typography elsewhere stays untouched. */
:is(
  .hud-xp-copy,
  .hud-coins-block strong,
  .hud-rank-level,
  .focus-time-value,
  .timer-value,
  .stats-mock-value,
  .stats-mock-goal-side strong,
  .stats-mock-goal-side span,
  .stats-mock-detail-value strong,
  .rank-number,
  .rank-xp-label,
  .rewards-balance-stat strong,
  .price,
  .teams-academy-meta-sleek,
  .teams-academy-rank-label strong,
  .team-expedition-sleek-xp,
  .team-expedition-sleek-time,
  .team-expedition-sheet-total strong,
  .team-expedition-sheet-stats strong,
  .teams-history-nav-sleek strong,
  .teams-rank-number strong,
  .teams-member-time,
  .weekly-xp-prize-head strong,
  .weekly-xp-prize-copy
){
  
  font-variant-numeric: lining-nums tabular-nums !important;
  font-feature-settings: "lnum" 1, "tnum" 1 !important;
  font-synthesis: none !important;
}

/* Banner-colour chooser shared by team creation and Manage Academy. */
.team-banner-colour-field{ display:grid; gap:6px; }
.team-banner-colour-picker{
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:6px;
}
.team-banner-color-choice{
  position:relative;
  min-width:0;
  height:34px;
  padding:3px !important;
  border:1px solid rgba(120,139,165,.25) !important;
  border-radius:6px !important;
  background:rgba(5,12,22,.56) !important;
  box-shadow:none !important;
}
.team-banner-color-choice > span{
  display:block;
  width:100%;
  height:100%;
  border-radius:3px;
  background:linear-gradient(180deg,var(--swatch),var(--swatch-deep));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.team-banner-color-choice.selected{
  border-color:rgba(93,174,255,.86) !important;
  box-shadow:0 0 0 1px rgba(61,142,232,.22),0 0 10px rgba(55,142,242,.18) !important;
}
.team-manage-banner-colour{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"copy save" "palette palette";
  gap:8px 10px;
  padding:10px 11px;
  border-top:1px solid rgba(132,151,177,.16);
  border-bottom:1px solid rgba(132,151,177,.12);
  background:rgba(8,18,32,.34);
}
.team-manage-banner-colour-copy{ grid-area:copy; display:grid; gap:2px; }
.team-manage-banner-colour-copy strong{ color:#e7cc95; font-size:.52rem; letter-spacing:.045em; }
.team-manage-banner-colour-copy small{ color:#8899b0; font-size:.39rem; line-height:1.25; }
.team-manage-banner-colour .team-banner-colour-picker{ grid-area:palette; }
.team-banner-colour-save{
  grid-area:save;
  align-self:center;
  min-height:29px;
  padding:5px 9px !important;
  border:1px solid rgba(78,157,238,.42) !important;
  border-radius:5px !important;
  background:rgba(27,83,139,.18) !important;
  color:#a9d5ff !important;
  font-size:.40rem !important;
  font-weight:800 !important;
}

/* Manage Academy lives at the lower edge of Teams, immediately above primary navigation. */
.teams-dashboard-sleek .teams-floating-manage.teams-manage-sleek{
  position:sticky !important;
  left:auto !important;
  right:auto !important;
  bottom:0 !important;
  margin-top:auto !important;
  z-index:18 !important;
  border-color:rgba(99,127,159,.38) !important;
  background:linear-gradient(180deg,rgba(9,22,39,.97),rgba(5,15,28,.985)) !important;
  box-shadow:0 -8px 18px rgba(3,8,16,.48),inset 0 1px 0 rgba(255,255,255,.035) !important;
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}

@media (max-width:430px) {
  .team-banner-colour-picker{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
  .team-banner-color-choice{ height:30px; }
  body.secondary-screen-active .iphone-teams-page.teams-sleek-page .teams-academy-card-sleek,
  body[data-reward-theme] .iphone-teams-page.teams-sleek-page .teams-academy-card-sleek{
    background:
      linear-gradient(90deg,rgba(4,13,27,.99) 0%,rgba(5,17,33,.96) 54%,rgba(4,12,24,.61) 78%,rgba(4,11,22,.27) 100%),
      url("../assets/academy_house.webp") right 48% / auto 108% no-repeat !important;
  }
}

/* 2026-09-04 — Global typography refresh.
   Optima gives Lumen a more distinctive humanist character than the previous
   rounded/system treatment while staying clean and legible on mobile. */



/* ===== 2026-09-04 iOS Teams controls + study indicator clean rebuild =====
   No animated row rectangles, outlines, box-shadows or full-card overlays.
   Active study is communicated by a circular avatar halo and a small live dot.
   Both animate only opacity + transform for reliable Safari compositing. */
.teams-leaderboard-sleek .teams-rank-row.is-studying-now,
.team-manage-row.is-studying-now{
  background: inherit !important;
  outline: 0 !important;
  box-shadow: none !important;
  animation: none !important;
  -webkit-animation: none !important;
}

.teams-leaderboard-sleek .teams-avatar-shell,
.team-manage-row .team-manage-avatar{
  position: relative !important;
  overflow: visible !important;
  isolation: isolate !important;
}
.teams-leaderboard-sleek .teams-avatar-shell > img,
.team-manage-row .team-manage-avatar > img{
  position: relative !important;
  z-index: 2 !important;
}
.team-study-live-halo{
  display: block !important;
  position: absolute !important;
  inset: -6px !important;
  z-index: 1 !important;
  pointer-events: none !important;
  border: 2px solid rgba(92, 189, 255, .96) !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow:
    0 0 7px rgba(76, 181, 255, .78),
    0 0 15px rgba(47, 139, 255, .44) !important;
  opacity: .30;
  transform: translate3d(0,0,0) scale(.90);
  -webkit-transform: translate3d(0,0,0) scale(.90);
  transform-origin: 50% 50%;
  -webkit-transform-origin: 50% 50%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: opacity, transform;
  animation: lumenTeamStudyHalo 2.4s cubic-bezier(.42,0,.58,1) infinite !important;
  -webkit-animation: lumenTeamStudyHalo 2.4s cubic-bezier(.42,0,.58,1) infinite !important;
  animation-delay: var(--team-study-live-delay, 0s) !important;
  -webkit-animation-delay: var(--team-study-live-delay, 0s) !important;
}
.team-study-live-dot{
  display: inline-block !important;
  width: 7px !important;
  height: 7px !important;
  margin-left: 6px !important;
  border-radius: 50% !important;
  vertical-align: middle !important;
  background: #68c5ff !important;
  box-shadow: 0 0 6px rgba(91,190,255,.86) !important;
  opacity: .34;
  transform: translate3d(0,0,0) scale(.78);
  -webkit-transform: translate3d(0,0,0) scale(.78);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: opacity, transform;
  animation: lumenTeamStudyDot 2.4s cubic-bezier(.42,0,.58,1) infinite !important;
  -webkit-animation: lumenTeamStudyDot 2.4s cubic-bezier(.42,0,.58,1) infinite !important;
  animation-delay: var(--team-study-live-delay, 0s) !important;
  -webkit-animation-delay: var(--team-study-live-delay, 0s) !important;
}
@keyframes lumenTeamStudyHalo {
  0%,100% { opacity:.26; transform:translate3d(0,0,0) scale(.90); }
  50% { opacity:1; transform:translate3d(0,0,0) scale(1.08); }
}
@-webkit-keyframes lumenTeamStudyHalo {
  0%,100% { opacity:.26; -webkit-transform:translate3d(0,0,0) scale(.90); }
  50% { opacity:1; -webkit-transform:translate3d(0,0,0) scale(1.08); }
}
@keyframes lumenTeamStudyDot {
  0%,100% { opacity:.32; transform:translate3d(0,0,0) scale(.78); }
  50% { opacity:1; transform:translate3d(0,0,0) scale(1.18); }
}
@-webkit-keyframes lumenTeamStudyDot {
  0%,100% { opacity:.32; -webkit-transform:translate3d(0,0,0) scale(.78); }
  50% { opacity:1; -webkit-transform:translate3d(0,0,0) scale(1.18); }
}
body.reduce-motion .team-study-live-halo,
body.reduce-motion .team-study-live-dot{
  animation: none !important;
  -webkit-animation: none !important;
  opacity: .92 !important;
  transform: translate3d(0,0,0) scale(1) !important;
  -webkit-transform: translate3d(0,0,0) scale(1) !important;
}

/* Day / Week / Month / All time: large, touch-first controls. */
.teams-period-tabs{
  touch-action: manipulation !important;
}
.teams-period-tabs button{
  min-height: 42px !important;
  min-width: 58px !important;
  padding: 8px 11px !important;
  font-size: .58rem !important;
  line-height: 1 !important;
  cursor: pointer !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
}
.teams-period-tabs button::after{
  left: 10px !important;
  right: 10px !important;
  bottom: 3px !important;
}
@media (max-width: 430px) {
  .teams-leaderboard-sleek .teams-leaderboard-toolbar{
    grid-template-columns: 1fr !important;
    grid-template-areas: "heading" "tabs" !important;
    align-items: stretch !important;
    gap: 7px !important;
    padding-bottom: 7px !important;
  }
  .teams-period-tabs{
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: 4px !important;
  }
  .teams-period-tabs button{
    width: 100% !important;
    min-width: 0 !important;
    min-height: 46px !important;
    padding: 9px 4px !important;
    font-size: .58rem !important;
  }
  .teams-period-tabs button.active{
    background: rgba(51, 120, 205, .10) !important;
  }
  .team-study-live-halo{
    inset: -7px !important;
  }
}

/* Manage Academy redesign: cleaner hierarchy, sharper edges, lighter surface treatment. */
.manage-team-header.modern{
  padding-bottom: 10px;
}
.manage-team-header.modern .sheet-title{
  
  font-size: 1.5rem;
  letter-spacing: .02em;
}
.team-manage-modern-shell{
  display: grid;
  gap: 14px;
  padding-bottom: 10px;
}
.team-manage-overview,
.team-manage-weekly-card,
.team-manage-capacity-block,
.team-manage-banner-colour.modern,
.team-manage-modern-invite,
.team-manage-modern-danger{
  border: 1px solid rgba(111, 139, 181, .22);
  background: linear-gradient(180deg, rgba(6, 20, 42, .98), rgba(5, 14, 30, .98));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
  border-radius: 14px;
}
.team-manage-modern-section{
  display: grid;
  gap: 8px;
}
.team-manage-modern-section h3{
  margin: 0 2px;
  color: #d8b15a;
  font-size: .63rem;
  line-height: 1;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.team-manage-overview{
  padding: 14px 14px 12px;
  display: grid;
  gap: 10px;
}
.team-manage-rank-row{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  align-items: end;
}
.team-manage-rank-tier{
  display: grid;
  justify-items: center;
  gap: 4px;
  text-align: center;
  opacity: .54;
}
.team-manage-rank-tier.unlocked,
.team-manage-rank-tier.current{
  opacity: 1;
}
.team-manage-rank-tier img{
  width: 58px;
  height: 58px;
  object-fit: contain;
  filter: drop-shadow(0 6px 10px rgba(0,0,0,.24));
}
.team-manage-rank-tier strong{
  color: #e9d7ad;
  font-size: .74rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .02em;
}
.team-manage-rank-tier small{
  color: #90a0b6;
  font-size: .56rem;
  line-height: 1;
}
.team-manage-rank-track{
  position: relative;
  height: 8px;
  margin: 0 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  overflow: hidden;
}
.team-manage-rank-track i{
  position: absolute;
  inset: 0 auto 0 0;
  border-radius: inherit;
  background: linear-gradient(90deg, #d29b38, #efc86f);
  box-shadow: 0 0 16px rgba(209, 155, 59, .22);
}
.team-manage-rank-track span{
  position: absolute;
  top: 50%;
  width: 10px;
  height: 10px;
  margin-left: -5px;
  border-radius: 999px;
  transform: translateY(-50%);
  background: #10284b;
  border: 2px solid rgba(240, 191, 89, .75);
}
.team-manage-rank-copy{
  display: grid;
  gap: 4px;
}
.team-manage-rank-label{
  color: #96a6bc;
  font-size: .52rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.team-manage-rank-xp{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
.team-manage-rank-xp strong{
  
  font-size: 1.02rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .02em;
}
.team-manage-rank-xp strong.bronze{ color: #cf8e53; }
.team-manage-rank-xp strong.silver{ color: #c8d2e2; }
.team-manage-rank-xp strong.gold{ color: #efc86f; }
.team-manage-rank-xp b{
  color: #f1deb0;
  font-size: .9rem;
  font-weight: 800;
  line-height: 1;
}
.team-manage-weekly-card{
  display: grid;
  gap: 12px;
  padding: 14px;
}
.team-manage-weekly-card.claimable{
  border-color: rgba(226, 179, 78, .46);
  box-shadow: 0 0 18px rgba(192, 133, 37, .10), inset 0 1px 0 rgba(255,255,255,.04);
}
.team-manage-weekly-head{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
.team-manage-weekly-head span{
  color: #d8b15a;
  font-size: .58rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.team-manage-weekly-head strong{
  color: #f5e2b8;
  font-size: .84rem;
  font-weight: 700;
}
.team-manage-weekly-rewards{
  display: grid;
  grid-template-columns: minmax(0,1fr) 1px minmax(0,1fr);
  gap: 12px;
  align-items: center;
}
.team-manage-weekly-divider{
  height: 100%;
  min-height: 36px;
  background: linear-gradient(180deg, transparent, rgba(255,255,255,.12), transparent);
}
.team-manage-weekly-reward{
  display: grid;
  grid-template-columns: 28px minmax(0,1fr);
  gap: 10px;
  align-items: center;
}
.team-manage-weekly-reward img{
  width: 28px;
  height: 28px;
  object-fit: contain;
}
.team-manage-weekly-reward strong{
  color: #f3dfb1;
  font-size: .9rem;
  font-weight: 800;
  line-height: 1;
}
.team-manage-weekly-reward small{
  color: #8ea0b8;
  font-size: .58rem;
  line-height: 1.2;
}
.team-manage-weekly-winner-row{
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 10px;
  align-items: center;
}
.team-manage-weekly-winner{
  display: grid;
  grid-template-columns: 42px minmax(0,1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
}
.team-manage-weekly-avatar{
  width: 42px;
  height: 42px;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(215, 175, 84, .32);
  background: #081c36;
}
.team-manage-weekly-avatar img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.team-manage-weekly-winner strong{
  color: #f0ddb2;
  font-size: .78rem;
  font-weight: 700;
  display: block;
}
.team-manage-weekly-winner small{
  color: #95a6bc;
  font-size: .56rem;
  line-height: 1.3;
  display: block;
}
.team-manage-weekly-winner-row em{
  color: #d0b171;
  font-size: .6rem;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.team-manage-weekly-open{
  min-height: 36px;
  padding: 0 12px;
  border-radius: 10px;
  border: 1px solid rgba(225, 179, 80, .42);
  background: linear-gradient(180deg, #8e6828, #533815);
  color: #ffeab5;
  font: inherit;
  font-size: .66rem;
  font-weight: 700;
}
.team-manage-capacity-block{
  padding: 12px 14px;
  display: grid;
  gap: 10px;
}
.team-manage-capacity-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.team-manage-capacity-row span{
  color: #9badc4;
  font-size: .58rem;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.team-manage-capacity-row strong{
  color: #efdbae;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
}
.team-manage-capacity-adjust{
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 10px;
  align-items: end;
}
.team-manage-capacity-adjust label{
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  gap: 8px;
  align-items: center;
}
.team-manage-capacity-adjust label span,
.team-manage-capacity-adjust label output{
  color: #d8b15a;
  font-size: .58rem;
  font-weight: 700;
  white-space: nowrap;
}
.team-manage-capacity-adjust input[type="range"]{
  width: 100%;
}
.team-manage-capacity-adjust button{
  min-height: 34px;
  padding: 0 12px;
  border-radius: 10px;
  border: 1px solid rgba(225, 179, 80, .36);
  background: rgba(18, 37, 69, .95);
  color: #f3ddb1;
  font: inherit;
  font-size: .63rem;
  font-weight: 700;
}
.team-manage-modern-list{
  display: grid;
  gap: 0;
  border: 1px solid rgba(111, 139, 181, .18);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(5, 17, 36, .96), rgba(4, 12, 27, .96));
  overflow: hidden;
}
.team-manage-modern-row,
.team-manage-modern-danger{
  width: 100%;
  display: grid;
  grid-template-columns: 44px minmax(0,1fr) 14px;
  gap: 12px;
  align-items: center;
  padding: 13px 14px;
  border: none;
  background: transparent;
  text-align: left;
}
.team-manage-modern-row + .team-manage-modern-row{
  border-top: 1px solid rgba(255,255,255,.05);
}
.team-manage-modern-row.is-disabled{
  opacity: .5;
}
.team-manage-modern-icon{
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: linear-gradient(180deg, rgba(9, 29, 56, .95), rgba(7, 20, 40, .95));
  border: 1px solid rgba(87, 118, 164, .26);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
.team-manage-modern-icon img{
  width: 28px;
  height: 28px;
  object-fit: contain;
}
.team-manage-modern-row strong,
.team-manage-modern-danger strong,
.team-manage-modern-invite-copy strong,
.team-manage-banner-colour.modern .team-manage-banner-colour-copy strong{
  color: #efdbad;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .01em;
}
.team-manage-modern-row small,
.team-manage-modern-danger small,
.team-manage-modern-invite-copy small,
.team-manage-banner-colour.modern .team-manage-banner-colour-copy small{
  color: #91a4bd;
  font-size: .58rem;
  line-height: 1.3;
  display: block;
}
.team-manage-modern-row b,
.team-manage-modern-danger b{
  color: #d8b15a;
  font-size: 1rem;
  line-height: 1;
}
.team-manage-banner-colour.modern{
  padding: 13px 14px;
  display: grid;
  gap: 10px;
}
.team-manage-banner-colour.modern .team-banner-colour-picker.manage{
  justify-content: start;
}
.team-manage-banner-colour.modern .team-banner-colour-save{
  justify-self: start;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 10px;
}
.team-manage-modern-invite{
  padding: 13px 14px;
  display: grid;
  gap: 10px;
}
.team-manage-modern-invite-row{
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 10px;
}
.team-manage-modern-invite-value{
  min-width: 0;
  padding: 11px 12px;
  border-radius: 10px;
  border: 1px solid rgba(85, 118, 166, .26);
  background: rgba(8, 23, 45, .96);
  color: #d6e2f7;
  font-size: .88rem;
  font-weight: 800;
  letter-spacing: .08em;
  overflow-wrap: anywhere;
}
.team-manage-modern-invite-row button,
.team-manage-banner-colour.modern .team-banner-colour-save{
  min-height: 38px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(225, 179, 80, .42);
  background: linear-gradient(180deg, #8e6828, #533815);
  color: #ffebba;
  font: inherit;
  font-size: .68rem;
  font-weight: 700;
}
.team-manage-modern-invite.is-disabled{
  opacity: .56;
}
.team-manage-modern-danger{
  margin-top: 2px;
  border-color: rgba(199, 98, 102, .22);
  background: linear-gradient(180deg, rgba(46, 16, 24, .94), rgba(37, 12, 18, .94));
}
.team-manage-modern-icon.danger{
  border-color: rgba(177, 89, 89, .24);
  background: linear-gradient(180deg, rgba(68, 20, 28, .98), rgba(49, 15, 21, .98));
}
.team-manage-modern-danger strong{ color: #f1c2b8; }
.team-manage-modern-danger small{ color: #c29a95; }
@media (max-width: 420px) {
  .manage-team-header.modern .sheet-title{ font-size: 1.35rem; }
  .team-manage-rank-tier img{ width: 52px; height: 52px; }
  .team-manage-rank-tier strong{ font-size: .68rem; }
  .team-manage-rank-tier small{ font-size: .52rem; }
  .team-manage-rank-xp strong{ font-size: .94rem; }
  .team-manage-rank-xp b{ font-size: .82rem; }
  .team-manage-weekly-head strong{ font-size: .76rem; }
  .team-manage-weekly-winner-row{ grid-template-columns: 1fr; }
  .team-manage-weekly-winner-row em,
  .team-manage-weekly-open{ justify-self: start; }
  .team-manage-capacity-adjust{ grid-template-columns: 1fr; }
  .team-manage-modern-row,
  .team-manage-modern-danger{ grid-template-columns: 40px minmax(0,1fr) 12px; gap: 10px; }
  .team-manage-modern-icon{ width: 40px; height: 40px; }
  .team-manage-modern-icon img{ width: 24px; height: 24px; }
}

/* ===== 2026-09-04 Typography + Manage top-density + Stats range tabs ===== */
/* A friendlier humanist type system. Trebuchet has more personality than the
   previous report-like stack while remaining highly legible on iPhone. */
html body,
html body *,
html body *::before,
html body *::after,
html body input,
html body button,
html body select,
html body textarea{
  
  font-variant-numeric: lining-nums tabular-nums !important;
  font-feature-settings: "kern" 1, "liga" 1, "lnum" 1, "tnum" 1 !important;
  font-synthesis: none;
}

/* Keep every numeric-heavy readout on one even baseline. */
:is(.timer-value,.display-number,.price,.hud-xp-copy,.stats-mock-value,.stats-mock-detail-value strong,
.stats-mock-goal-side strong,.stats-goal-pie-center strong,.team-expedition-progress-copy strong,
.teams-member-time,.teams-period-date-range,.manage-academy-rank-copy,.manage-academy-prize-item strong,
.manage-academy-members-row strong,.manage-academy-code-pill,.team-manage-capacity-row strong,
.team-manage-rank-xp b,.quest-progress,.quest-reward){
  font-variant-numeric: lining-nums tabular-nums !important;
  font-feature-settings: "lnum" 1, "tnum" 1 !important;
}

/* Manage Academy: compress the upper half much more than the action lists. */
.manage-academy-overhaul .manage-academy-header{
  
  gap: 8px !important;
}
.manage-academy-overhaul .manage-academy-kicker{
  font-size: .48rem !important;
  letter-spacing: .1em !important;
}
.manage-academy-overhaul .manage-academy-title{
  
  font-size: clamp(1.08rem, 4.8vw, 1.38rem) !important;
  line-height: 1 !important;
  letter-spacing: .015em !important;
}
.manage-academy-overhaul .manage-academy-title-rule svg{
  
  height: 6px !important;
}
.manage-academy-overhaul .manage-academy-close,
.manage-academy-overhaul .close-button{
  width: 31px !important;
  height: 31px !important;
  border-radius: 7px !important;
  font-size: 1.05rem !important;
}

.manage-academy-overhaul .manage-academy-rank-grid{
  gap: 3px !important;
}
.manage-academy-overhaul .manage-academy-rank-tier{
  gap: 1px !important;
}

.manage-academy-overhaul .manage-academy-rank-tier strong{
  
  letter-spacing: .03em !important;
}

.manage-academy-overhaul .manage-academy-rank-track{
  height: 12px !important;
  
}
.manage-academy-overhaul .manage-academy-rank-track::before,
.manage-academy-overhaul .manage-academy-rank-track i{
  top: 5px !important;
  height: 3px !important;
}
.manage-academy-overhaul .manage-academy-rank-track span{
  top: 2px !important;
  width: 8px !important;
  height: 8px !important;
  border-width: 1px !important;
  box-shadow: 0 0 0 2px rgba(6,21,49,.65) !important;
}
.manage-academy-overhaul .manage-academy-rank-copy{
  gap: 4px !important;
  
}
.manage-academy-overhaul .manage-academy-rank-copy > span,
.manage-academy-overhaul .manage-academy-rank-copy > b{
  font-size: .52rem !important;
}
.manage-academy-overhaul .manage-academy-rank-copy > strong{
  
  line-height: 1 !important;
}
.manage-academy-overhaul .manage-academy-prize-card{
  
  border-radius: 9px !important;
  margin-bottom: 7px !important;
}
.manage-academy-overhaul .manage-academy-prize-head{
  
  gap: 6px !important;
}
.manage-academy-overhaul .manage-academy-prize-title{
  gap: 5px !important;
}

.manage-academy-overhaul .manage-academy-inline-icon{
  width: 13px !important;
  height: 13px !important;
}
.manage-academy-overhaul .manage-academy-inline-icon.small{
  width: 10px !important;
  height: 10px !important;
}
.manage-academy-overhaul .manage-academy-prize-open{
  padding: 5px 7px !important;
  border-radius: 6px !important;
  font-size: .46rem !important;
}




.manage-academy-overhaul .manage-academy-prize-item small{
  
  margin-top: 1px !important;
}




.manage-academy-overhaul .manage-academy-prize-person small{
  
  margin-top: 1px !important;
}
.manage-academy-overhaul .manage-academy-prize-winner em{
  font-size: .44rem !important;
}
.manage-academy-overhaul .manage-academy-members-row{
  
  padding-bottom: 5px !important;
}
.manage-academy-overhaul .manage-academy-members-label{
  gap: 5px !important;
  font-size: .55rem !important;
}
.manage-academy-overhaul .manage-academy-members-row strong{
  font-size: .68rem !important;
}

/* Stats study-activity range: same interaction language as Teams tabs. */
.stats-mock-activity-head{
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-items: stretch !important;
  gap: 6px !important;
  min-height: 0 !important;
  height: auto !important;
  
}
.stats-mock-activity-head .stats-mock-section-title{
  margin: 0 !important;
}
.stats-range-tabs{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  width: 100% !important;
  gap: 4px !important;
  padding: 0 !important;
  touch-action: manipulation !important;
}
.stats-range-tabs button{
  position: relative !important;
  min-width: 0 !important;
  
  padding: 7px 3px 8px !important;
  border: 0 !important;
  border-radius: 5px !important;
  background: transparent !important;
  color: #8fa1b8 !important;
  font-size: .52rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .02em !important;
  white-space: nowrap !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
}
.stats-range-tabs button::before,
.stats-range-tabs button::after{
  content: none !important;
}
.stats-range-tabs button.active{
  color: #d9e9ff !important;
  background: rgba(45,115,205,.10) !important;
}
.stats-range-tabs button.active::after{
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 15% !important;
  right: 15% !important;
  bottom: 2px !important;
  height: 2px !important;
  border-radius: 99px !important;
  background: #62b0ff !important;
  box-shadow: 0 0 7px rgba(68,151,255,.46) !important;
}
.stats-range-select-shell,
#statsRangeSelect{
  display: none !important;
}
@media (max-width: 390px) {
  .stats-range-tabs button{
    min-height: 42px !important;
    font-size: .5rem !important;
  }
  .manage-academy-overhaul .manage-academy-title{
    font-size: 1.05rem !important;
  }
  
  
}


/* ===== 2026-09-04 Manage Academy cleanup pass =====
   Remove the extra Teams kicker, tighten Weekly Prize, enlarge the winner row,
   use plain artwork on action rows, and let the Stats range selector occupy the
   full header area without a redundant title. */
.manage-academy-overhaul .manage-academy-header{
  margin-bottom: 4px !important;
}
.manage-academy-overhaul .manage-academy-header-copy{
  gap: 2px !important;
}
.manage-academy-overhaul .manage-academy-title{
  margin: 0 0 2px !important;
}
.manage-academy-overhaul .manage-academy-title-rule svg{
  width: min(100%, 154px) !important;
}
.manage-academy-overhaul .manage-academy-rank-panel{
  margin-bottom: 5px !important;
}
.manage-academy-overhaul .manage-academy-rank-tier img{
  width: min(14.5vw, 48px) !important;
  max-width: 48px !important;
}
.manage-academy-overhaul .manage-academy-rank-tier strong{
  font-size: .46rem !important;
}
.manage-academy-overhaul .manage-academy-rank-tier small{
  font-size: .38rem !important;
}
.manage-academy-overhaul .manage-academy-rank-track{
  margin: 1px 4px 0 !important;
}
.manage-academy-overhaul .manage-academy-rank-copy{
  justify-content: center !important;
  margin-top: 0 !important;
}
.manage-academy-overhaul .manage-academy-rank-copy > span,
.manage-academy-overhaul .manage-academy-rank-copy > b{
  display: none !important;
}
.manage-academy-overhaul .manage-academy-rank-copy > strong{
  font-size: .96rem !important;
}
.manage-academy-overhaul .manage-academy-prize-card{
  padding: 6px 8px 8px !important;
}
.manage-academy-overhaul .manage-academy-prize-head{
  margin-bottom: 2px !important;
}
.manage-academy-overhaul .manage-academy-prize-title strong{
  font-size: .74rem !important;
}
.manage-academy-overhaul .manage-academy-prize-grid{
  gap: 4px !important;
  padding: 1px 2px 4px !important;
}
.manage-academy-overhaul .manage-academy-prize-item{
  grid-template-columns: 30px minmax(0,1fr) !important;
  gap: 5px !important;
}
.manage-academy-overhaul .manage-academy-prize-item img{
  width: 28px !important;
  height: 28px !important;
}
.manage-academy-overhaul .manage-academy-prize-item strong{
  font-size: .82rem !important;
}
.manage-academy-overhaul .manage-academy-prize-item small{
  font-size: .41rem !important;
}
.manage-academy-overhaul .manage-academy-prize-winner{
  padding-top: 7px !important;
  gap: 8px !important;
}
.manage-academy-overhaul .manage-academy-prize-person{
  grid-template-columns: 42px minmax(0,1fr) !important;
  gap: 8px !important;
  align-items: center !important;
}
.manage-academy-overhaul .manage-academy-avatar{
  width: 42px !important;
  height: 42px !important;
}
.manage-academy-overhaul .manage-academy-prize-person strong{
  font-size: .74rem !important;
}
.manage-academy-overhaul .manage-academy-prize-person small{
  font-size: .5rem !important;
  line-height: 1.2 !important;
}
.manage-academy-overhaul .manage-academy-members-row{
  margin-bottom: 7px !important;
}

/* Plain artwork on action rows instead of circular icon cards. */
.manage-academy-overhaul .manage-academy-list-row,
.manage-academy-overhaul .manage-academy-code-row,
.manage-academy-overhaul .manage-academy-danger-row{
  grid-template-columns: 38px minmax(0,1fr) auto !important;
  gap: 10px !important;
}
.manage-academy-overhaul .manage-academy-row-icon{
  width: 32px !important;
  height: 32px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.manage-academy-overhaul .manage-academy-row-icon img{
  width: 32px !important;
  height: 32px !important;
}
.manage-academy-overhaul .manage-academy-row-icon.glyph,
.manage-academy-overhaul .manage-academy-danger-row .manage-academy-row-icon,
.manage-academy-overhaul .manage-academy-code-row .manage-academy-row-icon{
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.manage-academy-overhaul .manage-academy-row-icon.glyph svg{
  width: 26px !important;
  height: 26px !important;
}
.manage-academy-overhaul .manage-academy-row-copy strong{
  font-size: .92rem !important;
}
.manage-academy-overhaul .manage-academy-row-copy small{
  font-size: .63rem !important;
}

/* Remove the Study Activity label and let the range selector own the header. */
.stats-mock-activity-head{
  margin-bottom: 7px !important;
}
.stats-mock-activity-head .stats-mock-section-title{
  display: none !important;
}
.stats-range-tabs{
  margin: 0 !important;
}
.stats-range-tabs button{
  min-height: 40px !important;
}
@media (max-width: 390px) {
  .manage-academy-overhaul .manage-academy-rank-tier img{
    width: 44px !important;
    max-width: 44px !important;
  }
  .manage-academy-overhaul .manage-academy-prize-item img{
    width: 26px !important;
    height: 26px !important;
  }
  .manage-academy-overhaul .manage-academy-avatar{
    width: 38px !important;
    height: 38px !important;
  }
  .manage-academy-overhaul .manage-academy-row-icon,
  .manage-academy-overhaul .manage-academy-row-icon img{
    width: 30px !important;
    height: 30px !important;
  }
}

/* ===== 2026-09-05 Rewards mockup restyle =====
   Cleaner category navigation, text-only subcategory switching, strong rarity
   colour language, larger companion art, and flat reward cards without quest
   corner ornaments or internal dividers. */
body.secondary-screen-active .rewards-mock-page{
  gap: 7px !important;
}
body.secondary-screen-active .rewards-nav-stack{
  gap: 8px !important;
  padding: 0 4px !important;
}
body.secondary-screen-active .rewards-mock-tabs.rewards-group-tabs,
.rewards-mock-tabs.rewards-group-tabs{
  gap: 4px !important;
  padding: 0 2px !important;
  background: transparent !important;
  border: 0 !important;
}
.rewards-mock-tabs.rewards-group-tabs.no-lumen{ grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
.rewards-mock-tabs.rewards-group-tabs.has-lumen{ grid-template-columns: repeat(5,minmax(0,1fr)) !important; }
body.secondary-screen-active .rewards-group-tabs button,
.rewards-group-tabs button{
  position: relative !important;
  height: 78px !important;
  min-height: 78px !important;
  display: grid !important;
  grid-template-rows: 54px auto !important;
  place-items: center !important;
  align-content: center !important;
  gap: 4px !important;
  padding: 3px 3px 7px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #98a7bb !important;
  overflow: visible !important;
}
body.secondary-screen-active .rewards-group-tabs button::before,
.rewards-group-tabs button::before{ content: none !important; display: none !important; }
body.secondary-screen-active .rewards-group-tabs button::after,
.rewards-group-tabs button::after{
  content: "" !important;
  position: absolute !important;
  left: 26% !important;
  right: 26% !important;
  bottom: 0 !important;
  width: auto !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}
body.secondary-screen-active .rewards-group-tabs button.active::after,
.rewards-group-tabs button.active::after{
  background: #efc65f !important;
  box-shadow: 0 0 8px rgba(239,198,95,.42) !important;
}
body.secondary-screen-active .rewards-group-tabs .rewards-tab-icon,
.rewards-group-tabs .rewards-tab-icon{
  width: 54px !important;
  height: 54px !important;
  display: grid !important;
  place-items: center !important;
}
body.secondary-screen-active .rewards-group-tabs .rewards-tab-icon-img,
.rewards-group-tabs .rewards-tab-icon-img{
  width: 52px !important;
  height: 52px !important;
  max-width: 52px !important;
  max-height: 52px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 5px 8px rgba(0,0,0,.24)) !important;
}
.rewards-group-tabs button.active .rewards-tab-icon-img{
  filter: drop-shadow(0 0 8px rgba(238,187,70,.22)) drop-shadow(0 5px 8px rgba(0,0,0,.22)) !important;
}
.rewards-group-label{
  display: block !important;
  width: 100% !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  color: #b9c2d0 !important;
  font-size: .52rem !important;
  line-height: 1.05 !important;
  letter-spacing: .015em !important;
  font-weight: 700 !important;
  text-align: center !important;
}
.rewards-group-tabs button.active .rewards-group-label{ color: #efcb78 !important; }
.rewards-group-tabs button small{
  right: 1px !important;
  bottom: 17px !important;
  font-size: .34rem !important;
}

/* Characters / Pets and other two-way switches become editorial text tabs. */
body.secondary-screen-active .rewards-subtabs.rewards-text-subtabs,
.rewards-subtabs.rewards-text-subtabs{
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 0 !important;
  margin: 3px 4px 1px !important;
  min-height: 43px !important;
  border-bottom: 1px solid rgba(220,184,102,.18) !important;
}
body.secondary-screen-active .rewards-text-subtabs button,
.rewards-text-subtabs button{
  position: relative !important;
  min-height: 42px !important;
  padding: 0 6px 7px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: rgba(182,190,204,.58) !important;
  display: grid !important;
  place-items: center !important;
  font: inherit !important;
}
.rewards-text-subtabs button::before{ content: none !important; }
.rewards-text-subtabs button::after{
  content: "";
  position: absolute;
  left: 28%;
  right: 28%;
  bottom: -1px;
  height: 3px;
  border-radius: 999px;
  background: transparent;
}
.rewards-text-subtabs button.active{
  color: #efcb78 !important;
  background: transparent !important;
  border: 0 !important;
}
.rewards-text-subtabs button.active::after{
  background: #efc65f;
  box-shadow: 0 0 9px rgba(239,198,95,.46);
}
.rewards-text-subtabs button strong{
  color: inherit !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  letter-spacing: .035em !important;
}
.rewards-text-subtabs button small{
  position: absolute;
  right: 7px;
  top: 4px;
  color: #7f91aa;
  font-size: .34rem;
}

/* Flat reward rows: one surface, no corners artwork, no internal divider. */
body.secondary-screen-active .rewards-mock-list{
  gap: 9px !important;
  padding: 1px 4px 5px !important;
}
body.secondary-screen-active .rewards-mock-row{
  position: relative !important;
  display: grid !important;
  grid-template-columns: 104px minmax(0,1fr) 104px !important;
  align-items: center !important;
  gap: 9px !important;
  min-height: 118px !important;
  height: auto !important;
  max-height: none !important;
  padding: 9px 11px !important;
  border: 1px solid rgba(203,154,71,.28) !important;
  border-radius: 10px !important;
  background:
    radial-gradient(circle at 18% 45%, rgba(21,56,92,.16), transparent 31%),
    linear-gradient(180deg, rgba(6,24,47,.82), rgba(4,17,35,.88)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025), 0 5px 13px rgba(0,0,0,.12) !important;
  overflow: hidden !important;
}
body.secondary-screen-active .rewards-mock-row::before,
body.secondary-screen-active .rewards-mock-row::after{
  content: none !important;
  display: none !important;
  background: none !important;
}
body.secondary-screen-active .rewards-mock-row > *{ z-index: 1 !important; }

/* Companion art is the visual focus. */
body.secondary-screen-active .reward-system-avatars .rewards-mock-art-frame,
body.secondary-screen-active .reward-system-pets .rewards-mock-art-frame{
  width: 92px !important;
  height: 92px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(231,183,73,.78) !important;
  background:
    radial-gradient(circle at 50% 42%, rgba(34,76,126,.30), rgba(4,18,38,.72) 64%, rgba(2,10,24,.96)) !important;
  box-shadow: 0 0 16px rgba(216,158,45,.08), inset 0 0 18px rgba(73,116,174,.08) !important;
  overflow: hidden !important;
}
body.secondary-screen-active .reward-system-avatars .rewards-mock-art,
body.secondary-screen-active .reward-system-pets .rewards-mock-art{
  inset: 2px !important;
  width: calc(100% - 4px) !important;
  height: calc(100% - 4px) !important;
  border-radius: 50% !important;
  object-fit: contain !important;
}
/* Other reward types are plain artwork rather than circles. */
body.secondary-screen-active .rewards-mock-row:not(.reward-system-avatars):not(.reward-system-pets) .rewards-mock-art-frame{
  width: 82px !important;
  height: 82px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
body.secondary-screen-active .rewards-mock-row:not(.reward-system-avatars):not(.reward-system-pets) .rewards-mock-art{
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 0 !important;
  object-fit: contain !important;
  filter: drop-shadow(0 7px 9px rgba(0,0,0,.24));
}
body.secondary-screen-active .rewards-mock-art-bg,
body.secondary-screen-active .rewards-mock-art-frame::before{ display: none !important; }

body.secondary-screen-active .rewards-mock-copy{
  gap: 4px !important;
  align-self: center !important;
}
body.secondary-screen-active .rewards-mock-name{
  color: #efbf69 !important;
  font-size: .96rem !important;
  font-weight: 700 !important;
  line-height: 1.03 !important;
  letter-spacing: .005em !important;
}
body.secondary-screen-active .rewards-mock-rarity{
  font-size: .58rem !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: .025em !important;
  text-shadow: 0 0 8px currentColor !important;
}
body.secondary-screen-active .rewards-mock-rarity.starter{ color: #92bfff !important; text-shadow: none !important; }
body.secondary-screen-active .rewards-mock-rarity.common{ color: #c6ced9 !important; text-shadow: none !important; }
body.secondary-screen-active .rewards-mock-rarity.rare{ color: #65a9ff !important; }
body.secondary-screen-active .rewards-mock-rarity.epic{ color: #b47cff !important; }
body.secondary-screen-active .rewards-mock-rarity.mythic{ color: #ff4fc7 !important; }
body.secondary-screen-active .rewards-mock-rarity.legendary{ color: #f3b747 !important; }
body.secondary-screen-active .rewards-mock-rarity.lumen{ color: #76d7ff !important; }
body.secondary-screen-active .rewards-mock-desc{
  margin: 1px 0 0 !important;
  max-width: 27ch !important;
  color: #c7ced9 !important;
  font-size: .58rem !important;
  line-height: 1.25 !important;
  -webkit-line-clamp: 2 !important;
}

/* Actions sit directly in the row—no separator column. */
body.secondary-screen-active .rewards-mock-side{
  align-self: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  padding: 0 !important;
  border: 0 !important;
  border-left: 0 !important;
}
body.secondary-screen-active .rewards-mock-action,
body.secondary-screen-active .rewards-mock-action.locked{
  width: 96px !important;
  max-width: 96px !important;
  min-width: 0 !important;
  min-height: 43px !important;
  padding: 5px 8px !important;
  border-radius: 9px !important;
  border: 1px solid rgba(222,177,76,.64) !important;
  background: linear-gradient(180deg, rgba(14,28,47,.98), rgba(7,17,30,.98)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;
}
body.secondary-screen-active .rewards-mock-action.equipped{
  border-color: rgba(181,154,96,.36) !important;
  color: #9a8257 !important;
  background: rgba(7,15,27,.86) !important;
}
body.secondary-screen-active .rewards-mock-action.price{
  background: linear-gradient(180deg, rgba(94,65,24,.84), rgba(54,36,15,.94)) !important;
  border-color: rgba(230,179,74,.62) !important;
}
body.secondary-screen-active .rewards-mock-action strong{
  font-size: .72rem !important;
  font-weight: 700 !important;
}
body.secondary-screen-active .rewards-mock-action.price .reward-buy-copy small{ display: none !important; }
body.secondary-screen-active .rewards-mock-action.price img{
  width: 22px !important;
  height: 22px !important;
}
body.secondary-screen-active .rewards-mock-action.locked span{
  font-size: .46rem !important;
}

@media (max-width: 390px) {
  body.secondary-screen-active .rewards-group-tabs button,
  .rewards-group-tabs button{
    height: 72px !important;
    min-height: 72px !important;
    grid-template-rows: 49px auto !important;
  }
  body.secondary-screen-active .rewards-group-tabs .rewards-tab-icon,
  .rewards-group-tabs .rewards-tab-icon{ width: 49px !important; height: 49px !important; }
  body.secondary-screen-active .rewards-group-tabs .rewards-tab-icon-img,
  .rewards-group-tabs .rewards-tab-icon-img{ width: 47px !important; height: 47px !important; max-width: 47px !important; max-height: 47px !important; }
  .rewards-group-label{ font-size: .46rem !important; }
  .rewards-text-subtabs button strong{ font-size: .66rem !important; }
  body.secondary-screen-active .rewards-mock-row{
    grid-template-columns: 88px minmax(0,1fr) 88px !important;
    min-height: 106px !important;
    padding: 8px 9px !important;
    gap: 7px !important;
  }
  body.secondary-screen-active .reward-system-avatars .rewards-mock-art-frame,
  body.secondary-screen-active .reward-system-pets .rewards-mock-art-frame{ width: 82px !important; height: 82px !important; }
  body.secondary-screen-active .rewards-mock-row:not(.reward-system-avatars):not(.reward-system-pets) .rewards-mock-art-frame{ width: 72px !important; height: 72px !important; }
  body.secondary-screen-active .rewards-mock-name{ font-size: .86rem !important; }
  body.secondary-screen-active .rewards-mock-rarity{ font-size: .52rem !important; }
  body.secondary-screen-active .rewards-mock-desc{ font-size: .52rem !important; max-width: 22ch !important; }
  body.secondary-screen-active .rewards-mock-action,
  body.secondary-screen-active .rewards-mock-action.locked{ width: 82px !important; max-width: 82px !important; min-height: 40px !important; padding: 4px 6px !important; }
  body.secondary-screen-active .rewards-mock-action strong{ font-size: .65rem !important; }
  body.secondary-screen-active .rewards-mock-action.price img{ width: 19px !important; height: 19px !important; }
}

/* ===== 2026-09-05 Rewards mockup refinement v2 =====
   Tighten the header stack, make the Characters/Pets switch elegant and flat,
   shrink companion art, enforce coloured rarities, and make purchase buttons
   match the mockup more closely. */
body.secondary-screen-active .rewards-mock-page,
.iphone-rewards-page.rewards-mock-page{
  gap: 3px !important;
}
body.secondary-screen-active .rewards-mock-head,
.iphone-rewards-page .rewards-mock-head{
  margin-bottom: 1px !important;
  gap: 5px !important;
}
body.secondary-screen-active .rewards-nav-stack,
.iphone-rewards-page .rewards-nav-stack{
  gap: 1px !important;
  padding: 0 4px !important;
  margin-top: -1px !important;
}

/* Elegant, flatter secondary switch like the mockup. */
body.secondary-screen-active .rewards-subtabs.rewards-text-subtabs,
.iphone-rewards-page .rewards-subtabs.rewards-text-subtabs{
  display: flex !important;
  justify-content: center !important;
  align-items: flex-end !important;
  gap: 30px !important;
  margin: 0 4px 3px !important;
  min-height: 34px !important;
  border-bottom: 1px solid rgba(210,175,98,.16) !important;
  background: transparent !important;
}
body.secondary-screen-active .rewards-text-subtabs button,
.iphone-rewards-page .rewards-text-subtabs button{
  flex: 0 0 auto !important;
  min-width: 0 !important;
  min-height: 33px !important;
  padding: 0 1px 8px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: rgba(185,192,205,.72) !important;
}
body.secondary-screen-active .rewards-text-subtabs button::after,
.iphone-rewards-page .rewards-text-subtabs button::after{
  left: 10% !important;
  right: 10% !important;
  bottom: -1px !important;
  height: 2px !important;
  border-radius: 999px !important;
}
body.secondary-screen-active .rewards-text-subtabs button.active,
.iphone-rewards-page .rewards-text-subtabs button.active{
  color: #efcb78 !important;
}
body.secondary-screen-active .rewards-text-subtabs button.active::after,
.iphone-rewards-page .rewards-text-subtabs button.active::after{
  background: #efc65f !important;
  box-shadow: 0 0 6px rgba(239,198,95,.36) !important;
}
body.secondary-screen-active .rewards-text-subtabs button strong,
.iphone-rewards-page .rewards-text-subtabs button strong{
  font-size: .76rem !important;
  font-weight: 700 !important;
  letter-spacing: .03em !important;
  color: inherit !important;
}

/* Shrink character / pet art so it feels refined instead of oversized. */
body.secondary-screen-active .rewards-mock-list,
.iphone-rewards-page .rewards-mock-list{
  gap: 8px !important;
  padding: 0 4px 5px !important;
}
body.secondary-screen-active .rewards-mock-row,
.iphone-rewards-page .rewards-mock-row{
  grid-template-columns: 90px minmax(0,1fr) 92px !important;
  min-height: 104px !important;
  padding: 8px 10px !important;
}
body.secondary-screen-active .reward-system-avatars .rewards-mock-art-frame,
body.secondary-screen-active .reward-system-pets .rewards-mock-art-frame,
.iphone-rewards-page .reward-system-avatars .rewards-mock-art-frame,
.iphone-rewards-page .reward-system-pets .rewards-mock-art-frame{
  width: 74px !important;
  height: 74px !important;
}
body.secondary-screen-active .rewards-mock-name,
.iphone-rewards-page .rewards-mock-name{
  font-size: .9rem !important;
}
body.secondary-screen-active .rewards-mock-desc,
.iphone-rewards-page .rewards-mock-desc{
  max-width: 26ch !important;
  font-size: .56rem !important;
}

/* Enforce visible rarity colours on the actual row state, not just the label class. */
body.secondary-screen-active .rewards-mock-row .rewards-mock-rarity,
.iphone-rewards-page .rewards-mock-row .rewards-mock-rarity{
  color: #d8b05d !important;
}
body.secondary-screen-active .rewards-mock-row.rarity-starter .rewards-mock-rarity,
.iphone-rewards-page .rewards-mock-row.rarity-starter .rewards-mock-rarity{ color: #9ebeff !important; text-shadow: none !important; }
body.secondary-screen-active .rewards-mock-row.rarity-common .rewards-mock-rarity,
.iphone-rewards-page .rewards-mock-row.rarity-common .rewards-mock-rarity{ color: #c9d2de !important; text-shadow: none !important; }
body.secondary-screen-active .rewards-mock-row.rarity-rare .rewards-mock-rarity,
.iphone-rewards-page .rewards-mock-row.rarity-rare .rewards-mock-rarity{ color: #63a8ff !important; }
body.secondary-screen-active .rewards-mock-row.rarity-epic .rewards-mock-rarity,
.iphone-rewards-page .rewards-mock-row.rarity-epic .rewards-mock-rarity{ color: #b37cff !important; }
body.secondary-screen-active .rewards-mock-row.rarity-mythic .rewards-mock-rarity,
.iphone-rewards-page .rewards-mock-row.rarity-mythic .rewards-mock-rarity{ color: #ff61cf !important; }
body.secondary-screen-active .rewards-mock-row.rarity-legendary .rewards-mock-rarity,
.iphone-rewards-page .rewards-mock-row.rarity-legendary .rewards-mock-rarity{ color: #f3bd54 !important; }
body.secondary-screen-active .rewards-mock-row.rarity-lumen .rewards-mock-rarity,
.iphone-rewards-page .rewards-mock-row.rarity-lumen .rewards-mock-rarity{ color: #77d7ff !important; }

/* Purchase button: same footprint as equip, dark mockup fill, gold type. */
body.secondary-screen-active .rewards-mock-action,
body.secondary-screen-active .rewards-mock-action.locked,
.iphone-rewards-page .rewards-mock-action,
.iphone-rewards-page .rewards-mock-action.locked{
  width: 90px !important;
  max-width: 90px !important;
  min-height: 40px !important;
  padding: 4px 7px !important;
  border-radius: 8px !important;
}
body.secondary-screen-active .rewards-mock-action strong,
.iphone-rewards-page .rewards-mock-action strong{
  font-size: .68rem !important;
}
body.secondary-screen-active .rewards-mock-action.price,
.iphone-rewards-page .rewards-mock-action.price{
  background: linear-gradient(180deg, rgba(41,49,63,.96), rgba(27,33,45,.98)) !important;
  border-color: rgba(221,178,84,.58) !important;
  color: #efcb78 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 6px 12px rgba(0,0,0,.14) !important;
}
body.secondary-screen-active .rewards-mock-action.price .reward-buy-copy,
.iphone-rewards-page .rewards-mock-action.price .reward-buy-copy{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
body.secondary-screen-active .rewards-mock-action.price .reward-buy-copy strong,
.iphone-rewards-page .rewards-mock-action.price .reward-buy-copy strong{
  color: #efcb78 !important;
}
body.secondary-screen-active .rewards-mock-action.price img,
.iphone-rewards-page .rewards-mock-action.price img{
  width: 18px !important;
  height: 18px !important;
}

@media (max-width: 390px) {
  body.secondary-screen-active .rewards-subtabs.rewards-text-subtabs,
  .iphone-rewards-page .rewards-subtabs.rewards-text-subtabs{
    gap: 22px !important;
  }
  body.secondary-screen-active .rewards-text-subtabs button strong,
  .iphone-rewards-page .rewards-text-subtabs button strong{
    font-size: .69rem !important;
  }
  body.secondary-screen-active .rewards-mock-row,
  .iphone-rewards-page .rewards-mock-row{
    grid-template-columns: 80px minmax(0,1fr) 82px !important;
    min-height: 96px !important;
    gap: 6px !important;
    padding: 7px 8px !important;
  }
  body.secondary-screen-active .reward-system-avatars .rewards-mock-art-frame,
  body.secondary-screen-active .reward-system-pets .rewards-mock-art-frame,
  .iphone-rewards-page .reward-system-avatars .rewards-mock-art-frame,
  .iphone-rewards-page .reward-system-pets .rewards-mock-art-frame{
    width: 66px !important;
    height: 66px !important;
  }
  body.secondary-screen-active .rewards-mock-name,
  .iphone-rewards-page .rewards-mock-name{
    font-size: .82rem !important;
  }
  body.secondary-screen-active .rewards-mock-action,
  body.secondary-screen-active .rewards-mock-action.locked,
  .iphone-rewards-page .rewards-mock-action,
  .iphone-rewards-page .rewards-mock-action.locked{
    width: 82px !important;
    max-width: 82px !important;
    min-height: 38px !important;
  }
  body.secondary-screen-active .rewards-mock-action.price img,
  .iphone-rewards-page .rewards-mock-action.price img{
    width: 16px !important;
    height: 16px !important;
  }
}

/* ===== 2026-09-05 Rewards lower-half mockup replication v3 =====
   Source of truth: supplied Rewards mockup. These rules intentionally only
   reshape the interface beneath the Coins / XP balance bar. */
body.secondary-screen-active .iphone-rewards-page .rewards-nav-stack,
.iphone-rewards-page .rewards-nav-stack{
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 8px !important;
  background: transparent !important;
}

/* Main category row: one continuous strip, no cards, no gaps, subtle separators. */
body.secondary-screen-active .iphone-rewards-page .rewards-mock-tabs.rewards-group-tabs,
.iphone-rewards-page .rewards-mock-tabs.rewards-group-tabs{
  display: grid !important;
  gap: 0 !important;
  padding: 4px 0 2px !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.iphone-rewards-page .rewards-mock-tabs.rewards-group-tabs.no-lumen{
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
}
.iphone-rewards-page .rewards-mock-tabs.rewards-group-tabs.has-lumen{
  grid-template-columns: repeat(5, minmax(0,1fr)) !important;
}
body.secondary-screen-active .iphone-rewards-page .rewards-group-tabs button,
.iphone-rewards-page .rewards-group-tabs button{
  position: relative !important;
  height: 72px !important;
  min-height: 72px !important;
  display: grid !important;
  grid-template-rows: 49px auto !important;
  place-items: center !important;
  align-content: center !important;
  gap: 2px !important;
  padding: 1px 5px 4px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #d7c49c !important;
  overflow: visible !important;
}
body.secondary-screen-active .iphone-rewards-page .rewards-group-tabs button::after,
.iphone-rewards-page .rewards-group-tabs button::after{
  content: none !important;
  display: none !important;
}
body.secondary-screen-active .iphone-rewards-page .rewards-group-tabs button::before,
.iphone-rewards-page .rewards-group-tabs button::before{
  content: "" !important;
  display: block !important;
  position: absolute !important;
  right: 0 !important;
  top: 13px !important;
  bottom: 12px !important;
  width: 1px !important;
  background: linear-gradient(180deg, transparent, rgba(219,176,88,.20) 18%, rgba(219,176,88,.20) 82%, transparent) !important;
}
body.secondary-screen-active .iphone-rewards-page .rewards-group-tabs button:last-child::before,
.iphone-rewards-page .rewards-group-tabs button:last-child::before{
  content: none !important;
  display: none !important;
}
body.secondary-screen-active .iphone-rewards-page .rewards-group-tabs .rewards-tab-icon,
.iphone-rewards-page .rewards-group-tabs .rewards-tab-icon{
  width: 48px !important;
  height: 48px !important;
  display: grid !important;
  place-items: center !important;
  overflow: visible !important;
}
body.secondary-screen-active .iphone-rewards-page .rewards-group-tabs .rewards-tab-icon-img,
.iphone-rewards-page .rewards-group-tabs .rewards-tab-icon-img{
  width: 46px !important;
  height: 46px !important;
  max-width: 46px !important;
  max-height: 46px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 5px 8px rgba(0,0,0,.25)) !important;
}
/* The mockup treats the character selector art differently: current character in a fine gold ring. */
body.secondary-screen-active .iphone-rewards-page .rewards-group-tabs .rewards-tab-icon-avatars,
.iphone-rewards-page .rewards-group-tabs .rewards-tab-icon-avatars{
  width: 45px !important;
  height: 45px !important;
  padding: 2px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(232,185,72,.86) !important;
  background: radial-gradient(circle at 50% 42%, rgba(25,65,109,.34), rgba(3,16,34,.88) 70%) !important;
  box-shadow: 0 0 9px rgba(230,178,57,.10) !important;
}
body.secondary-screen-active .iphone-rewards-page .rewards-group-tabs button.active .rewards-tab-icon-img,
.iphone-rewards-page .rewards-group-tabs button.active .rewards-tab-icon-img{
  filter: drop-shadow(0 0 7px rgba(237,190,73,.22)) drop-shadow(0 5px 8px rgba(0,0,0,.22)) !important;
}
body.secondary-screen-active .iphone-rewards-page .rewards-group-label,
.iphone-rewards-page .rewards-group-label{
  display: block !important;
  width: 100% !important;
  color: #dfc58e !important;
  font-size: .50rem !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: .015em !important;
  text-align: center !important;
  white-space: normal !important;
}
body.secondary-screen-active .iphone-rewards-page .rewards-group-tabs button.active .rewards-group-label,
.iphone-rewards-page .rewards-group-tabs button.active .rewards-group-label{
  color: #efc86b !important;
}

/* Characters / Pets: two editorial labels across the whole width, exactly one underline. */
body.secondary-screen-active .iphone-rewards-page .rewards-subtabs.rewards-text-subtabs,
.iphone-rewards-page .rewards-subtabs.rewards-text-subtabs{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 0 !important;
  min-height: 42px !important;
  margin: 3px 0 8px !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(211,177,100,.18) !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.secondary-screen-active .iphone-rewards-page .rewards-text-subtabs button,
.iphone-rewards-page .rewards-text-subtabs button{
  position: relative !important;
  min-height: 41px !important;
  width: 100% !important;
  padding: 0 4px 9px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: rgba(195,195,199,.58) !important;
  display: grid !important;
  place-items: end center !important;
}
body.secondary-screen-active .iphone-rewards-page .rewards-text-subtabs button::before,
.iphone-rewards-page .rewards-text-subtabs button::before{
  content: none !important;
  display: none !important;
}
body.secondary-screen-active .iphone-rewards-page .rewards-text-subtabs button::after,
.iphone-rewards-page .rewards-text-subtabs button::after{
  content: "" !important;
  position: absolute !important;
  left: 32% !important;
  right: 32% !important;
  bottom: -1px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.secondary-screen-active .iphone-rewards-page .rewards-text-subtabs button.active,
.iphone-rewards-page .rewards-text-subtabs button.active{
  color: #efc86b !important;
  background: transparent !important;
}
body.secondary-screen-active .iphone-rewards-page .rewards-text-subtabs button.active::after,
.iphone-rewards-page .rewards-text-subtabs button.active::after{
  background: #efc65f !important;
  box-shadow: 0 0 7px rgba(239,198,95,.40) !important;
}
body.secondary-screen-active .iphone-rewards-page .rewards-text-subtabs button strong,
.iphone-rewards-page .rewards-text-subtabs button strong{
  color: inherit !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .025em !important;
}

/* Reward list: compact mockup proportions, one clean surface and no dividers. */
body.secondary-screen-active .iphone-rewards-page .rewards-mock-list,
.iphone-rewards-page .rewards-mock-list{
  display: grid !important;
  gap: 7px !important;
  padding: 0 8px 6px !important;
}
body.secondary-screen-active .iphone-rewards-page .rewards-mock-row,
.iphone-rewards-page .rewards-mock-row{
  display: grid !important;
  grid-template-columns: 72px minmax(0,1fr) 82px !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 90px !important;
  height: auto !important;
  padding: 7px 10px !important;
  border: 1px solid rgba(207,159,74,.40) !important;
  border-radius: 8px !important;
  background: linear-gradient(180deg, rgba(5,23,47,.88), rgba(3,17,36,.92)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.02) !important;
  overflow: hidden !important;
}
body.secondary-screen-active .iphone-rewards-page .rewards-mock-row::before,
body.secondary-screen-active .iphone-rewards-page .rewards-mock-row::after,
.iphone-rewards-page .rewards-mock-row::before,
.iphone-rewards-page .rewards-mock-row::after{
  content: none !important;
  display: none !important;
}
body.secondary-screen-active .iphone-rewards-page .reward-system-avatars .rewards-mock-art-frame,
body.secondary-screen-active .iphone-rewards-page .reward-system-pets .rewards-mock-art-frame,
.iphone-rewards-page .reward-system-avatars .rewards-mock-art-frame,
.iphone-rewards-page .reward-system-pets .rewards-mock-art-frame{
  width: 62px !important;
  height: 62px !important;
  justify-self: center !important;
  border-radius: 50% !important;
  border: 1px solid rgba(231,183,73,.86) !important;
  background: radial-gradient(circle at 50% 42%, rgba(27,69,116,.28), rgba(3,16,35,.88) 70%) !important;
  box-shadow: 0 0 11px rgba(216,158,45,.08) !important;
  overflow: hidden !important;
}
body.secondary-screen-active .iphone-rewards-page .reward-system-avatars .rewards-mock-art,
body.secondary-screen-active .iphone-rewards-page .reward-system-pets .rewards-mock-art,
.iphone-rewards-page .reward-system-avatars .rewards-mock-art,
.iphone-rewards-page .reward-system-pets .rewards-mock-art{
  inset: 2px !important;
  width: calc(100% - 4px) !important;
  height: calc(100% - 4px) !important;
  border-radius: 50% !important;
  object-fit: contain !important;
}
body.secondary-screen-active .iphone-rewards-page .rewards-mock-row:not(.reward-system-avatars):not(.reward-system-pets) .rewards-mock-art-frame,
.iphone-rewards-page .rewards-mock-row:not(.reward-system-avatars):not(.reward-system-pets) .rewards-mock-art-frame{
  width: 58px !important;
  height: 58px !important;
  justify-self: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.secondary-screen-active .iphone-rewards-page .rewards-mock-art-bg,
.iphone-rewards-page .rewards-mock-art-bg,
body.secondary-screen-active .iphone-rewards-page .rewards-mock-art-frame::before,
.iphone-rewards-page .rewards-mock-art-frame::before{
  display: none !important;
}
body.secondary-screen-active .iphone-rewards-page .rewards-mock-copy,
.iphone-rewards-page .rewards-mock-copy{
  min-width: 0 !important;
  display: grid !important;
  gap: 3px !important;
  align-self: center !important;
}
body.secondary-screen-active .iphone-rewards-page .rewards-mock-name,
.iphone-rewards-page .rewards-mock-name{
  color: #eebf69 !important;
  
  
  line-height: 1.05 !important;
  
}
body.secondary-screen-active .iphone-rewards-page .rewards-mock-rarity,
.iphone-rewards-page .rewards-mock-rarity{
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  width: fit-content !important;
  font-size: .52rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  
  text-shadow: none !important;
}
body.secondary-screen-active .iphone-rewards-page .rewards-mock-rarity::before,
.iphone-rewards-page .rewards-mock-rarity::before{
  content: "" !important;
  display: inline-block !important;
  width: 6px !important;
  height: 6px !important;
  border: 1px solid currentColor !important;
  transform: rotate(45deg) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08) !important;
  flex: 0 0 auto !important;
}
/* Rarity palette from the mockup. */
body.secondary-screen-active .iphone-rewards-page .rewards-mock-row.rarity-starter .rewards-mock-rarity,
.iphone-rewards-page .rewards-mock-row.rarity-starter .rewards-mock-rarity{ color: #8eb9ff !important; }
body.secondary-screen-active .iphone-rewards-page .rewards-mock-row.rarity-common .rewards-mock-rarity,
.iphone-rewards-page .rewards-mock-row.rarity-common .rewards-mock-rarity{ color: #c7d0dc !important; }
body.secondary-screen-active .iphone-rewards-page .rewards-mock-row.rarity-rare .rewards-mock-rarity,
.iphone-rewards-page .rewards-mock-row.rarity-rare .rewards-mock-rarity{ color: #62a8ff !important; }
body.secondary-screen-active .iphone-rewards-page .rewards-mock-row.rarity-epic .rewards-mock-rarity,
.iphone-rewards-page .rewards-mock-row.rarity-epic .rewards-mock-rarity{ color: #c084ff !important; }
body.secondary-screen-active .iphone-rewards-page .rewards-mock-row.rarity-mythic .rewards-mock-rarity,
.iphone-rewards-page .rewards-mock-row.rarity-mythic .rewards-mock-rarity{ color: #ff58c8 !important; }
body.secondary-screen-active .iphone-rewards-page .rewards-mock-row.rarity-legendary .rewards-mock-rarity,
.iphone-rewards-page .rewards-mock-row.rarity-legendary .rewards-mock-rarity{ color: #f2bc51 !important; }
body.secondary-screen-active .iphone-rewards-page .rewards-mock-row.rarity-lumen .rewards-mock-rarity,
.iphone-rewards-page .rewards-mock-row.rarity-lumen .rewards-mock-rarity{ color: #73d6ff !important; }
body.secondary-screen-active .iphone-rewards-page .rewards-mock-desc,
.iphone-rewards-page .rewards-mock-desc{
  margin: 1px 0 0 !important;
  
  color: #d3c8b5 !important;
  
  
  -webkit-line-clamp: 2 !important;
}

/* Right-hand controls mirror the reference: Equip and price share one footprint. */
body.secondary-screen-active .iphone-rewards-page .rewards-mock-side,
.iphone-rewards-page .rewards-mock-side{
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  padding: 0 !important;
  border: 0 !important;
}
body.secondary-screen-active .iphone-rewards-page .rewards-mock-action,
body.secondary-screen-active .iphone-rewards-page .rewards-mock-action.locked,
.iphone-rewards-page .rewards-mock-action,
.iphone-rewards-page .rewards-mock-action.locked{
  width: 78px !important;
  max-width: 78px !important;
  min-width: 78px !important;
  min-height: 38px !important;
  height: 38px !important;
  padding: 4px 7px !important;
  border-radius: 7px !important;
  border: 1px solid rgba(227,178,75,.72) !important;
  background: linear-gradient(180deg, rgba(15,28,44,.98), rgba(7,17,29,.99)) !important;
  color: #efc96d !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;
}
body.secondary-screen-active .iphone-rewards-page .rewards-mock-action strong,
.iphone-rewards-page .rewards-mock-action strong{
  color: inherit !important;
  font-size: .64rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}
body.secondary-screen-active .iphone-rewards-page .rewards-mock-action.equipped,
.iphone-rewards-page .rewards-mock-action.equipped{
  border-color: rgba(195,155,80,.42) !important;
  background: linear-gradient(180deg, rgba(14,25,39,.96), rgba(7,15,26,.98)) !important;
  color: rgba(197,164,99,.68) !important;
}
body.secondary-screen-active .iphone-rewards-page .rewards-mock-action.price,
.iphone-rewards-page .rewards-mock-action.price{
  background: linear-gradient(180deg, rgba(76,58,30,.93), rgba(43,32,18,.98)) !important;
  border-color: rgba(224,176,76,.72) !important;
  color: #efc96d !important;
}
body.secondary-screen-active .iphone-rewards-page .rewards-mock-action.price:disabled,
.iphone-rewards-page .rewards-mock-action.price:disabled{
  opacity: .88 !important;
  filter: none !important;
}
body.secondary-screen-active .iphone-rewards-page .rewards-mock-action.price .reward-buy-copy small,
.iphone-rewards-page .rewards-mock-action.price .reward-buy-copy small{
  display: none !important;
}
body.secondary-screen-active .iphone-rewards-page .rewards-mock-action.price .reward-buy-copy,
.iphone-rewards-page .rewards-mock-action.price .reward-buy-copy{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
body.secondary-screen-active .iphone-rewards-page .rewards-mock-action.price .reward-buy-copy strong,
.iphone-rewards-page .rewards-mock-action.price .reward-buy-copy strong{
  color: #efc96d !important;
}
body.secondary-screen-active .iphone-rewards-page .rewards-mock-action.price img,
.iphone-rewards-page .rewards-mock-action.price img{
  width: 17px !important;
  height: 17px !important;
}

@media (max-width: 390px) {
  body.secondary-screen-active .iphone-rewards-page .rewards-group-tabs button,
  .iphone-rewards-page .rewards-group-tabs button{
    height: 68px !important;
    min-height: 68px !important;
    grid-template-rows: 46px auto !important;
  }
  body.secondary-screen-active .iphone-rewards-page .rewards-group-tabs .rewards-tab-icon,
  .iphone-rewards-page .rewards-group-tabs .rewards-tab-icon{
    width: 45px !important;
    height: 45px !important;
  }
  body.secondary-screen-active .iphone-rewards-page .rewards-group-tabs .rewards-tab-icon-img,
  .iphone-rewards-page .rewards-group-tabs .rewards-tab-icon-img{
    width: 43px !important;
    height: 43px !important;
    max-width: 43px !important;
    max-height: 43px !important;
  }
  body.secondary-screen-active .iphone-rewards-page .rewards-group-tabs .rewards-tab-icon-avatars,
  .iphone-rewards-page .rewards-group-tabs .rewards-tab-icon-avatars{
    width: 42px !important;
    height: 42px !important;
  }
  body.secondary-screen-active .iphone-rewards-page .rewards-group-label,
  .iphone-rewards-page .rewards-group-label{
    font-size: .46rem !important;
  }
  body.secondary-screen-active .iphone-rewards-page .rewards-mock-row,
  .iphone-rewards-page .rewards-mock-row{
    grid-template-columns: 66px minmax(0,1fr) 76px !important;
    min-height: 86px !important;
    gap: 6px !important;
    padding: 6px 8px !important;
  }
  body.secondary-screen-active .iphone-rewards-page .reward-system-avatars .rewards-mock-art-frame,
  body.secondary-screen-active .iphone-rewards-page .reward-system-pets .rewards-mock-art-frame,
  .iphone-rewards-page .reward-system-avatars .rewards-mock-art-frame,
  .iphone-rewards-page .reward-system-pets .rewards-mock-art-frame{
    width: 58px !important;
    height: 58px !important;
  }
  
  body.secondary-screen-active .iphone-rewards-page .rewards-mock-rarity,
  .iphone-rewards-page .rewards-mock-rarity{
    font-size: .48rem !important;
  }
  
  body.secondary-screen-active .iphone-rewards-page .rewards-mock-action,
  body.secondary-screen-active .iphone-rewards-page .rewards-mock-action.locked,
  .iphone-rewards-page .rewards-mock-action,
  .iphone-rewards-page .rewards-mock-action.locked{
    width: 72px !important;
    max-width: 72px !important;
    min-width: 72px !important;
    height: 36px !important;
    min-height: 36px !important;
  }
}

/* ===== 2026-09-05 Rewards purchase button size/cardless coin refinement ===== */
body.secondary-screen-active .rewards-mock-action.price,
.iphone-rewards-page .rewards-mock-action.price,
body.secondary-screen-active .iphone-rewards-page .rewards-mock-action.price{
  width: 74px !important;
  min-width: 74px !important;
  max-width: 74px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 7px !important;
  gap: 5px !important;
  border-radius: 7px !important;
  justify-content: center !important;
  background: linear-gradient(180deg, rgba(70,53,28,.96), rgba(39,29,16,.99)) !important;
  border: 1px solid rgba(224,176,76,.70) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 4px 10px rgba(0,0,0,.12) !important;
}

body.secondary-screen-active .rewards-mock-action.price .reward-buy-coin,
.iphone-rewards-page .rewards-mock-action.price .reward-buy-coin,
body.secondary-screen-active .iphone-rewards-page .rewards-mock-action.price .reward-buy-coin{
  width: auto !important;
  height: auto !important;
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.secondary-screen-active .rewards-mock-action.price .reward-buy-coin img,
.iphone-rewards-page .rewards-mock-action.price .reward-buy-coin img,
body.secondary-screen-active .iphone-rewards-page .rewards-mock-action.price .reward-buy-coin img{
  width: 15px !important;
  height: 15px !important;
  flex: 0 0 15px !important;
  filter: drop-shadow(0 1px 1px rgba(0,0,0,.18)) !important;
}

body.secondary-screen-active .rewards-mock-action.price .reward-buy-copy,
.iphone-rewards-page .rewards-mock-action.price .reward-buy-copy,
body.secondary-screen-active .iphone-rewards-page .rewards-mock-action.price .reward-buy-copy{
  min-width: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
}

body.secondary-screen-active .rewards-mock-action.price .reward-buy-copy small,
.iphone-rewards-page .rewards-mock-action.price .reward-buy-copy small,
body.secondary-screen-active .iphone-rewards-page .rewards-mock-action.price .reward-buy-copy small{
  display: none !important;
}

body.secondary-screen-active .rewards-mock-action.price .reward-buy-copy strong,
.iphone-rewards-page .rewards-mock-action.price .reward-buy-copy strong,
body.secondary-screen-active .iphone-rewards-page .rewards-mock-action.price .reward-buy-copy strong{
  color: #efcb78 !important;
  
  
  
  text-align: center !important;
}

@media (max-width: 390px) {
  body.secondary-screen-active .rewards-mock-action.price,
  .iphone-rewards-page .rewards-mock-action.price,
  body.secondary-screen-active .iphone-rewards-page .rewards-mock-action.price{
    width: 68px !important;
    min-width: 68px !important;
    max-width: 68px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 6px !important;
    gap: 4px !important;
  }

  body.secondary-screen-active .rewards-mock-action.price .reward-buy-coin img,
  .iphone-rewards-page .rewards-mock-action.price .reward-buy-coin img,
  body.secondary-screen-active .iphone-rewards-page .rewards-mock-action.price .reward-buy-coin img{
    width: 14px !important;
    height: 14px !important;
    flex-basis: 14px !important;
  }

  body.secondary-screen-active .rewards-mock-action.price .reward-buy-copy strong,
  .iphone-rewards-page .rewards-mock-action.price .reward-buy-copy strong,
  body.secondary-screen-active .iphone-rewards-page .rewards-mock-action.price .reward-buy-copy strong{
    font-size: .60rem !important;
  }
}

/* ===== 2026-09-05 Rewards subtabs underline-only + mockup typography ===== */



/* Reward page typography closer to the mockup while keeping numbers aligned. */
body.secondary-screen-active .iphone-rewards-page .rewards-mock-name,
body.secondary-screen-active .iphone-rewards-page .rewards-mock-rarity,
body.secondary-screen-active .iphone-rewards-page .rewards-mock-desc,
body.secondary-screen-active .iphone-rewards-page .rewards-mock-action strong,
body.secondary-screen-active .iphone-rewards-page .rewards-group-label,
body.secondary-screen-active .iphone-rewards-page .rewards-text-subtabs button strong,
.iphone-rewards-page .rewards-mock-name,
.iphone-rewards-page .rewards-mock-rarity,
.iphone-rewards-page .rewards-mock-desc,
.iphone-rewards-page .rewards-mock-action strong,
.iphone-rewards-page .rewards-group-label,
.iphone-rewards-page .rewards-text-subtabs button strong{
  
  font-variant-numeric: lining-nums tabular-nums !important;
  font-feature-settings: "lnum" 1, "tnum" 1 !important;
}

body.secondary-screen-active .iphone-rewards-page .rewards-mock-name,
.iphone-rewards-page .rewards-mock-name{
  font-size: 1.18rem !important;
  font-weight: 600 !important;
  letter-spacing: .01em !important;
}

body.secondary-screen-active .iphone-rewards-page .rewards-mock-rarity,
.iphone-rewards-page .rewards-mock-rarity{
  letter-spacing: .06em !important;
}



/* Characters / Pets tabs: underline only, no gold box highlight. */
body.secondary-screen-active .iphone-rewards-page .rewards-subtabs.rewards-text-subtabs,
body.secondary-screen-active .rewards-subtabs.rewards-text-subtabs,
.iphone-rewards-page .rewards-subtabs.rewards-text-subtabs,
.rewards-subtabs.rewards-text-subtabs{
  position: relative !important;
  display: flex !important;
  
  align-items: flex-end !important;
  gap: 34px !important;
  margin: 4px 0 14px !important;
  padding: 0 0 12px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.secondary-screen-active .iphone-rewards-page .rewards-subtabs.rewards-text-subtabs::after,
body.secondary-screen-active .rewards-subtabs.rewards-text-subtabs::after,
.iphone-rewards-page .rewards-subtabs.rewards-text-subtabs::after,
.rewards-subtabs.rewards-text-subtabs::after{
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 1px !important;
  background: linear-gradient(90deg, rgba(210,160,68,.24) 0%, rgba(228,188,106,.58) 18%, rgba(228,188,106,.58) 82%, rgba(210,160,68,.24) 100%) !important;
}

body.secondary-screen-active .iphone-rewards-page .rewards-text-subtabs button,
body.secondary-screen-active .rewards-text-subtabs button,
.iphone-rewards-page .rewards-text-subtabs button,
.rewards-text-subtabs button{
  position: relative !important;
  min-width: 0 !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 0 10px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.secondary-screen-active .iphone-rewards-page .rewards-text-subtabs button::before,
body.secondary-screen-active .rewards-text-subtabs button::before,
.iphone-rewards-page .rewards-text-subtabs button::before,
.rewards-text-subtabs button::before{
  content: none !important;
}

body.secondary-screen-active .iphone-rewards-page .rewards-text-subtabs button::after,
body.secondary-screen-active .rewards-text-subtabs button::after,
.iphone-rewards-page .rewards-text-subtabs button::after,
.rewards-text-subtabs button::after{
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -1px !important;
  height: 4px !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #f4d992 0%, #d9a94a 100%) !important;
  opacity: 0 !important;
  transform: scaleX(.72) !important;
  transform-origin: center !important;
  transition: opacity .18s ease, transform .18s ease !important;
}

body.secondary-screen-active .iphone-rewards-page .rewards-text-subtabs button.active,
body.secondary-screen-active .rewards-text-subtabs button.active,
.iphone-rewards-page .rewards-text-subtabs button.active,
.rewards-text-subtabs button.active{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.secondary-screen-active .iphone-rewards-page .rewards-text-subtabs button.active::after,
body.secondary-screen-active .rewards-text-subtabs button.active::after,
.iphone-rewards-page .rewards-text-subtabs button.active::after,
.rewards-text-subtabs button.active::after{
  opacity: 1 !important;
  transform: scaleX(1) !important;
}

body.secondary-screen-active .iphone-rewards-page .rewards-text-subtabs button strong,
body.secondary-screen-active .rewards-text-subtabs button strong,
.iphone-rewards-page .rewards-text-subtabs button strong,
.rewards-text-subtabs button strong{
  
  font-size: .82rem !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  line-height: 1 !important;
  color: rgba(230, 221, 201, .68) !important;
}

body.secondary-screen-active .iphone-rewards-page .rewards-text-subtabs button.active strong,
body.secondary-screen-active .rewards-text-subtabs button.active strong,
.iphone-rewards-page .rewards-text-subtabs button.active strong,
.rewards-text-subtabs button.active strong{
  color: #efcc7b !important;
}

body.secondary-screen-active .iphone-rewards-page .rewards-text-subtabs button small,
body.secondary-screen-active .rewards-text-subtabs button small,
.iphone-rewards-page .rewards-text-subtabs button small,
.rewards-text-subtabs button small{
  display: none !important;
}

@media (max-width: 390px) {
  body.secondary-screen-active .iphone-rewards-page .rewards-subtabs.rewards-text-subtabs,
  body.secondary-screen-active .rewards-subtabs.rewards-text-subtabs,
  .iphone-rewards-page .rewards-subtabs.rewards-text-subtabs,
  .rewards-subtabs.rewards-text-subtabs{
    
    margin: 2px 0 10px !important;
    padding-bottom: 10px !important;
  }

  body.secondary-screen-active .iphone-rewards-page .rewards-text-subtabs button,
  body.secondary-screen-active .rewards-text-subtabs button,
  .iphone-rewards-page .rewards-text-subtabs button,
  .rewards-text-subtabs button{
    padding-bottom: 8px !important;
  }

  body.secondary-screen-active .iphone-rewards-page .rewards-text-subtabs button strong,
  body.secondary-screen-active .rewards-text-subtabs button strong,
  .iphone-rewards-page .rewards-text-subtabs button strong,
  .rewards-text-subtabs button strong{
    font-size: .73rem !important;
    letter-spacing: .05em !important;
  }

  body.secondary-screen-active .iphone-rewards-page .rewards-text-subtabs button::after,
  body.secondary-screen-active .rewards-text-subtabs button::after,
  .iphone-rewards-page .rewards-text-subtabs button::after,
  .rewards-text-subtabs button::after{
    height: 3px !important;
  }

  body.secondary-screen-active .iphone-rewards-page .rewards-mock-name,
  .iphone-rewards-page .rewards-mock-name{
    font-size: .98rem !important;
  }

  
}


/* ===== 2026-09-05 Rewards centering + reserved Lumen slot + equip stability ===== */
body.secondary-screen-active .iphone-rewards-page .rewards-subtabs.rewards-text-subtabs,
body.secondary-screen-active .rewards-subtabs.rewards-text-subtabs,
.iphone-rewards-page .rewards-subtabs.rewards-text-subtabs,
.rewards-subtabs.rewards-text-subtabs{
  justify-content: center !important;
}

body.secondary-screen-active .iphone-rewards-page .rewards-mock-desc,
.iphone-rewards-page .rewards-mock-desc{
  font-size: .70rem !important;
  line-height: 1.14 !important;
  max-width: 24ch !important;
}

body.secondary-screen-active .iphone-rewards-page .rewards-mock-tabs.rewards-group-tabs,
.iphone-rewards-page .rewards-mock-tabs.rewards-group-tabs,
.rewards-mock-tabs.rewards-group-tabs{
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

body.secondary-screen-active .iphone-rewards-page .rewards-group-tabs button.rewards-group-placeholder,
.iphone-rewards-page .rewards-group-tabs button.rewards-group-placeholder,
.rewards-group-tabs button.rewards-group-placeholder{
  opacity: 0 !important;
  pointer-events: none !important;
  user-select: none !important;
}

body.secondary-screen-active .iphone-rewards-page .rewards-group-tabs button.dev-lumen-tab .rewards-group-label,
.iphone-rewards-page .rewards-group-tabs button.dev-lumen-tab .rewards-group-label,
.rewards-group-tabs button.dev-lumen-tab .rewards-group-label{
  letter-spacing: .05em !important;
}

body.secondary-screen-active .iphone-rewards-page .rewards-group-tabs button.dev-lumen-tab,
.iphone-rewards-page .rewards-group-tabs button.dev-lumen-tab,
.rewards-group-tabs button.dev-lumen-tab{
  grid-template-rows: 44px auto !important;
}

@media (max-width: 390px) {
  body.secondary-screen-active .iphone-rewards-page .rewards-subtabs.rewards-text-subtabs,
  body.secondary-screen-active .rewards-subtabs.rewards-text-subtabs,
  .iphone-rewards-page .rewards-subtabs.rewards-text-subtabs,
  .rewards-subtabs.rewards-text-subtabs{
    gap: 30px !important;
  }

  body.secondary-screen-active .iphone-rewards-page .rewards-mock-desc,
  .iphone-rewards-page .rewards-mock-desc{
    font-size: .60rem !important;
    max-width: 22ch !important;
  }

  body.secondary-screen-active .iphone-rewards-page .rewards-group-tabs button.dev-lumen-tab .rewards-group-label,
  .iphone-rewards-page .rewards-group-tabs button.dev-lumen-tab .rewards-group-label,
  .rewards-group-tabs button.dev-lumen-tab .rewards-group-label{
    font-size: .50rem !important;
  }
}

/* ===== 2026-09-05 Rewards subtabs: centered underline slider + lighter larger purchase price ===== */
body.secondary-screen-active .iphone-rewards-page .rewards-subtabs.rewards-text-subtabs,
.iphone-rewards-page .rewards-subtabs.rewards-text-subtabs,
body.secondary-screen-active .rewards-subtabs.rewards-text-subtabs,
.rewards-subtabs.rewards-text-subtabs{
  display: flex !important;
  justify-content: center !important;
  align-items: flex-end !important;
  gap: 56px !important;
  min-height: 48px !important;
  margin: 4px 0 10px !important;
  padding: 0 18px !important;
  position: relative !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.secondary-screen-active .iphone-rewards-page .rewards-subtabs.rewards-text-subtabs::after,
.iphone-rewards-page .rewards-subtabs.rewards-text-subtabs::after,
body.secondary-screen-active .rewards-subtabs.rewards-text-subtabs::after,
.rewards-subtabs.rewards-text-subtabs::after{
  content: "" !important;
  position: absolute !important;
  left: 12px !important;
  right: 12px !important;
  bottom: 0 !important;
  height: 1px !important;
  background: linear-gradient(90deg, rgba(212,177,91,.38), rgba(240,201,104,.82) 28%, rgba(212,177,91,.38) 100%) !important;
  box-shadow: 0 0 4px rgba(240,201,104,.16) !important;
}

body.secondary-screen-active .iphone-rewards-page .rewards-text-subtabs button,
.iphone-rewards-page .rewards-text-subtabs button,
body.secondary-screen-active .rewards-text-subtabs button,
.rewards-text-subtabs button{
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 106px !important;
  min-height: 44px !important;
  padding: 0 2px 10px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: inline-flex !important;
  justify-content: center !important;
  align-items: flex-end !important;
  color: rgba(218, 214, 208, .58) !important;
}

body.secondary-screen-active .iphone-rewards-page .rewards-text-subtabs button::before,
.iphone-rewards-page .rewards-text-subtabs button::before,
body.secondary-screen-active .rewards-text-subtabs button::before,
.rewards-text-subtabs button::before{
  content: none !important;
  display: none !important;
}

body.secondary-screen-active .iphone-rewards-page .rewards-text-subtabs button::after,
.iphone-rewards-page .rewards-text-subtabs button::after,
body.secondary-screen-active .rewards-text-subtabs button::after,
.rewards-text-subtabs button::after{
  content: "" !important;
  position: absolute !important;
  left: 14px !important;
  right: 14px !important;
  bottom: -1px !important;
  height: 4px !important;
  border-radius: 999px !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.secondary-screen-active .iphone-rewards-page .rewards-text-subtabs button.active,
.iphone-rewards-page .rewards-text-subtabs button.active,
body.secondary-screen-active .rewards-text-subtabs button.active,
.rewards-text-subtabs button.active{
  color: #efc86b !important;
  background: transparent !important;
}

body.secondary-screen-active .iphone-rewards-page .rewards-text-subtabs button.active::after,
.iphone-rewards-page .rewards-text-subtabs button.active::after,
body.secondary-screen-active .rewards-text-subtabs button.active::after,
.rewards-text-subtabs button.active::after{
  background: linear-gradient(180deg, #f5d67a, #e5b94c) !important;
  box-shadow: 0 0 8px rgba(240, 200, 104, .42) !important;
}

body.secondary-screen-active .iphone-rewards-page .rewards-text-subtabs button strong,
.iphone-rewards-page .rewards-text-subtabs button strong,
body.secondary-screen-active .rewards-text-subtabs button strong,
.rewards-text-subtabs button strong{
  color: inherit !important;
  font-size: .92rem !important;
  font-weight: 600 !important;
  letter-spacing: .045em !important;
  line-height: 1 !important;
}

body.secondary-screen-active .iphone-rewards-page .rewards-text-subtabs button small,
.iphone-rewards-page .rewards-text-subtabs button small,
body.secondary-screen-active .rewards-text-subtabs button small,
.rewards-text-subtabs button small{
  display: none !important;
}

body.secondary-screen-active .rewards-mock-action.price .reward-buy-copy strong,
.iphone-rewards-page .rewards-mock-action.price .reward-buy-copy strong,
body.secondary-screen-active .iphone-rewards-page .rewards-mock-action.price .reward-buy-copy strong{
  font-size: .78rem !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: .01em !important;
  font-variant-numeric: lining-nums tabular-nums !important;
}

@media (max-width: 420px) {
  body.secondary-screen-active .iphone-rewards-page .rewards-subtabs.rewards-text-subtabs,
  .iphone-rewards-page .rewards-subtabs.rewards-text-subtabs,
  body.secondary-screen-active .rewards-subtabs.rewards-text-subtabs,
  .rewards-subtabs.rewards-text-subtabs{
    gap: 42px !important;
  }

  body.secondary-screen-active .iphone-rewards-page .rewards-text-subtabs button,
  .iphone-rewards-page .rewards-text-subtabs button,
  body.secondary-screen-active .rewards-text-subtabs button,
  .rewards-text-subtabs button{
    min-width: 92px !important;
  }

  body.secondary-screen-active .iphone-rewards-page .rewards-text-subtabs button strong,
  .iphone-rewards-page .rewards-text-subtabs button strong,
  body.secondary-screen-active .rewards-text-subtabs button strong,
  .rewards-text-subtabs button strong{
    font-size: .84rem !important;
  }
}

/* ===== 2026-09-05 Stats page mockup replication =====
   Keep the existing title card dimensions untouched; restyle everything below it. */


body.secondary-screen-active .stats-mock-page > .iphone-surface{
  margin-left: 0 !important;
  margin-right: 0 !important;
  border: 1px solid rgba(93, 119, 151, .28) !important;
  border-radius: 8px !important;
  background: linear-gradient(180deg, rgba(5, 22, 43, .96), rgba(4, 17, 34, .98)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;
  overflow: hidden !important;
}
body.secondary-screen-active .stats-mock-page > .iphone-surface::before,
body.secondary-screen-active .stats-mock-page > .iphone-surface::after{
  content: none !important;
  display: none !important;
}

.stats-mock-section-head{
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin-bottom: 9px !important;
}
.stats-mock-section-head > span{
  color: rgba(121, 139, 164, .55) !important;
  font-size: .38rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}
.stats-mock-section-title{
  margin: 0 !important;
  color: #e7c879 !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .08em !important;
}
.stats-mock-section-title::before,
.stats-mock-section-title::after{ content: none !important; display: none !important; }

/* Focus summary: one continuous section with four clean stat columns. */

body.secondary-screen-active .stats-mock-summary-grid{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  
  overflow: visible !important;
}
body.secondary-screen-active .stats-mock-summary-tile{
  position: relative !important;
  
  max-height: none !important;
  height: auto !important;
  
  display: grid !important;
  
  align-items: center !important;
  justify-items: center !important;
  row-gap: 2px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
body.secondary-screen-active .stats-mock-summary-tile::before{
  content: "" !important;
  display: block !important;
  position: absolute !important;
  right: 0 !important;
  top: 12px !important;
  bottom: 10px !important;
  width: 1px !important;
  background: rgba(135, 149, 169, .18) !important;
}

body.secondary-screen-active .stats-mock-summary-tile::after{ content: none !important; display: none !important; }
body.secondary-screen-active .stats-mock-summary-icon{
  
  
  object-fit: contain !important;
  filter: none !important;
}
body.secondary-screen-active .stats-mock-value{
  color: #efd084 !important;
  
  font-weight: 700 !important;
  line-height: 1 !important;
  font-variant-numeric: lining-nums tabular-nums !important;
}
body.secondary-screen-active .stats-mock-caption{
  min-height: 0 !important;
  color: rgba(200, 209, 222, .62) !important;
  
  font-weight: 700 !important;
  line-height: 1.12 !important;
  letter-spacing: .04em !important;
  text-align: center !important;
  text-transform: uppercase !important;
}
body.secondary-screen-active .stats-mock-caption::before,
body.secondary-screen-active .stats-mock-caption::after{ content: none !important; display: none !important; }

/* Goal progress: compact rings on the left, progress bars spanning the remaining width. */

.stats-goal-list-mockup{
  display: grid !important;
  gap: 0 !important;
}
body.secondary-screen-active .stats-mock-goal-row.compact{
  display: grid !important;
  grid-template-columns: 48px minmax(0,1fr) !important;
  align-items: center !important;
  gap: 9px !important;
  min-height: 66px !important;
  padding: 7px 2px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
body.secondary-screen-active .stats-mock-goal-row.compact + .stats-mock-goal-row.compact{
  border-top: 1px solid rgba(120, 142, 169, .16) !important;
}
body.secondary-screen-active .stats-mock-goal-row.compact::before,
body.secondary-screen-active .stats-mock-goal-row.compact::after{ content: none !important; display: none !important; }
.stats-goal-ring{
  --ring-color: #415b78;
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  background: conic-gradient(var(--ring-color) calc(var(--goal-pct) * 1%), rgba(54, 75, 101, .32) 0) !important;
  position: relative !important;
  box-shadow: 0 0 0 1px rgba(91, 119, 151, .14) !important;
}
.stats-goal-ring::after{
  content: "" !important;
  position: absolute !important;
  inset: 5px !important;
  border-radius: 50% !important;
  background: #06162b !important;
  box-shadow: inset 0 0 0 1px rgba(109, 133, 161, .16) !important;
}
.stats-goal-ring.weekly{
  --ring-color: #63c3ff;
  box-shadow: 0 0 9px rgba(55, 170, 255, .45), 0 0 0 1px rgba(89, 189, 255, .28) !important;
}
.stats-goal-ring > span{
  position: relative !important;
  z-index: 1 !important;
  color: #e7c979 !important;
  font-size: .57rem !important;
  font-weight: 700 !important;
  font-variant-numeric: lining-nums tabular-nums !important;
}
.stats-goal-ring.weekly > span{ color: #edf7ff !important; }
.stats-mock-goal-content{
  min-width: 0 !important;
  display: grid !important;
  gap: 7px !important;
}
.stats-mock-goal-top{
  display: flex !important;
  justify-content: space-between !important;
  align-items: end !important;
  gap: 8px !important;
}
.stats-mock-goal-top > div{
  min-width: 0 !important;
  display: grid !important;
  gap: 2px !important;
}
.stats-mock-goal-top strong{
  color: #e9c975 !important;
  font-size: .57rem !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
}
.stats-mock-goal-top small{
  color: rgba(207, 217, 230, .67) !important;
  font-size: .44rem !important;
}
.stats-mock-goal-top > span{
  color: #e9cf8a !important;
  font-size: .48rem !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  font-variant-numeric: lining-nums tabular-nums !important;
}
body.secondary-screen-active .stats-mock-goal-track{
  width: 100% !important;
  
  margin: 0 !important;
  border: 1px solid rgba(93, 121, 151, .32) !important;
  border-radius: 99px !important;
  background: rgba(9, 23, 42, .96) !important;
  overflow: hidden !important;
  box-shadow: inset 0 1px 2px rgba(0,0,0,.48) !important;
}
body.secondary-screen-active .stats-mock-goal-fill{
  height: 100% !important;
  border-radius: inherit !important;
  background: linear-gradient(90deg, #d7a646, #f3d47f) !important;
  box-shadow: 0 0 8px rgba(241, 203, 111, .30) !important;
}

/* Activity panel: thin range selector, open chart and clean detail readout. */

body.secondary-screen-active .stats-mock-activity-head{
  
  padding: 0 8px !important;
  border-bottom: 1px solid rgba(88, 116, 148, .18) !important;
}
body.secondary-screen-active .stats-range-tabs{
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 0 !important;
  width: 100% !important;
}
body.secondary-screen-active .stats-range-tabs button{
  min-height: 38px !important;
  padding: 0 3px 8px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: rgba(150, 169, 194, .72) !important;
  font-size: .47rem !important;
  font-weight: 700 !important;
  letter-spacing: .05em !important;
  position: relative !important;
}
body.secondary-screen-active .stats-range-tabs button.active{
  color: #dcecff !important;
  background: transparent !important;
}
body.secondary-screen-active .stats-range-tabs button.active::after{
  content: "" !important;
  position: absolute !important;
  display: block !important;
  left: 16% !important;
  right: 16% !important;
  bottom: 0 !important;
  height: 2px !important;
  border-radius: 99px !important;
  background: #48b8ff !important;
  box-shadow: 0 0 8px rgba(50, 178, 255, .72) !important;
}
body.secondary-screen-active .stats-mock-chart-shell{
  position: relative !important;
  
  
  
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  
}
.stats-chart-yaxis{
  position: absolute !important;
  left: 0 !important;
  top: 8px !important;
  bottom: 21px !important;
  width: 20px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  color: rgba(190, 203, 221, .58) !important;
  font-size: .39rem !important;
  line-height: 1 !important;
  font-variant-numeric: lining-nums tabular-nums !important;
}


body.secondary-screen-active .stats-mock-chart .stats-bar-button .iphone-bar{
  width: min(24px, 68%) !important;
  border-radius: 2px 2px 0 0 !important;
  background: linear-gradient(90deg, #d7aa52 0%, #f1d787 52%, #d7aa52 100%) !important;
  border: 0 !important;
  box-shadow: 0 0 7px rgba(231, 191, 103, .12) !important;
}
body.secondary-screen-active .stats-mock-chart .stats-bar-button.selected .iphone-bar{
  filter: brightness(1.06) !important;
  box-shadow: 0 0 9px rgba(240, 202, 112, .22) !important;
}
body.secondary-screen-active .stats-x-label{
  color: rgba(184, 197, 215, .68) !important;
  font-size: .38rem !important;
  bottom: 1px !important;
}
body.secondary-screen-active .stats-mock-detail-row{
  display: grid !important;
  grid-template-columns: 36px minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: 9px !important;
  
  
  
  border: 0 !important;
  border-top: 1px solid rgba(106, 131, 159, .16) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.secondary-screen-active .stats-mock-detail-row::before,
body.secondary-screen-active .stats-mock-detail-row::after{ content: none !important; display: none !important; }
body.secondary-screen-active .stats-mock-detail-icon{
  width: 30px !important;
  height: 30px !important;
  object-fit: contain !important;
}
body.secondary-screen-active .stats-mock-detail-copy{
  display: grid !important;
  gap: 2px !important;
  padding: 0 !important;
}
body.secondary-screen-active .stats-mock-detail-copy::before,
body.secondary-screen-active .stats-mock-detail-copy::after{ content: none !important; display: none !important; }
body.secondary-screen-active .stats-mock-detail-copy strong{
  color: #e8c878 !important;
  
  font-weight: 700 !important;
}
body.secondary-screen-active .stats-mock-detail-copy span{
  color: rgba(206, 216, 230, .70) !important;
  font-size: .44rem !important;
}
body.secondary-screen-active .stats-mock-detail-value{
  padding-left: 11px !important;
  border-left: 1px solid rgba(112, 137, 164, .17) !important;
  text-align: right !important;
}
body.secondary-screen-active .stats-mock-detail-value strong{
  display: block !important;
  color: #f0d181 !important;
  
  font-weight: 700 !important;
  line-height: 1 !important;
  font-variant-numeric: lining-nums tabular-nums !important;
}
body.secondary-screen-active .stats-mock-detail-value span{
  display: block !important;
  margin-top: 2px !important;
  color: rgba(196, 207, 222, .55) !important;
  font-size: .38rem !important;
  letter-spacing: .08em !important;
}

/* Extended stats: a restrained single navigation row. */
body.secondary-screen-active .stats-mock-lifetime-panel.stats-extended-entry-panel{
  
  
  border-radius: 6px !important;
}
body.secondary-screen-active .stats-extended-button{
  min-height: 45px !important;
  width: 100% !important;
  padding: 0 10px !important;
  display: grid !important;
  grid-template-columns: 25px minmax(0,1fr) 12px !important;
  align-items: center !important;
  gap: 8px !important;
  border: 0 !important;
  background: transparent !important;
  color: #e7c676 !important;
  text-align: left !important;
}
body.secondary-screen-active .stats-extended-button-icon{
  width: 22px !important;
  height: 22px !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
body.secondary-screen-active .stats-extended-button-icon img{
  width: 19px !important;
  height: 19px !important;
  object-fit: contain !important;
}
body.secondary-screen-active .stats-extended-button-copy strong{
  color: #e7c676 !important;
  font-size: .57rem !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
}
body.secondary-screen-active .stats-extended-button-chevron{
  color: #e7c676 !important;
  font-size: 1rem !important;
}

@media (max-width: 390px) {
  body.secondary-screen-active .stats-mock-page{ gap: 7px !important; }
  .stats-mock-section-head > span{ font-size: .34rem !important; }
  
  
  
  
  
  
  body.secondary-screen-active .stats-mock-goal-row.compact{ grid-template-columns: 45px minmax(0,1fr) !important; min-height: 60px !important; gap: 7px !important; }
  .stats-goal-ring{ width: 38px !important; height: 38px !important; }
  .stats-mock-goal-top strong{ font-size: .52rem !important; }
  .stats-mock-goal-top small{ font-size: .40rem !important; }
  .stats-mock-goal-top > span{ font-size: .43rem !important; }
  body.secondary-screen-active .stats-mock-chart-shell{ height: 118px !important; padding-left: 20px !important; }
  body.secondary-screen-active .stats-mock-chart{ height: 105px !important; min-height: 105px !important; }
  body.secondary-screen-active .stats-range-tabs button{ min-height: 35px !important; font-size: .43rem !important; }
}


/* ===== 2026-09-05 Stats structural baseline + goal containment fix ===== */
body.secondary-screen-active .stats-mock-page{
  
  overflow-y: auto !important;
  overflow-x: hidden !important;
  
}

body.secondary-screen-active .stats-mock-goals-panel{
  min-height: max-content !important;
  height: auto !important;
  overflow: visible !important;
  padding-bottom: 10px !important;
}

body.secondary-screen-active .stats-goal-list-mockup{
  display: flex !important;
  flex-direction: column !important;
  
  min-height: max-content !important;
  height: auto !important;
  overflow: visible !important;
}

body.secondary-screen-active .stats-goal-list-mockup .stats-mock-goal-row.compact{
  flex: 0 0 auto !important;
  width: 100% !important;
  
  height: auto !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}



body.secondary-screen-active .stats-goal-list-mockup .stats-mock-goal-content{
  min-width: 0 !important;
  width: 100% !important;
  overflow: visible !important;
}

body.secondary-screen-active .stats-goal-list-mockup .stats-mock-goal-top{
  min-width: 0 !important;
  width: 100% !important;
  overflow: visible !important;
}

/* The chart has two explicit rows: one plot row and one label row. */


body.secondary-screen-active .stats-mock-chart{
  position: relative !important;
  
  
  
  
  overflow: visible !important;
  background:
    repeating-linear-gradient(to bottom, rgba(101,127,158,.12) 0, rgba(101,127,158,.12) 1px, transparent 1px, transparent 25%) !important;
}

body.secondary-screen-active .stats-mock-chart::after{
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 18px !important;
  height: 1.5px !important;
  background: rgba(214,173,92,.62) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

body.secondary-screen-active .stats-mock-chart .stats-bar-button{
  flex: 1 1 0 !important;
  
  
  
  
  
  
  
  
  
  overflow: visible !important;
}

body.secondary-screen-active .stats-mock-chart .stats-bar-plot{
  
  
  
  
  
  
  
  
  overflow: visible !important;
}

body.secondary-screen-active .stats-mock-chart .stats-bar-plot .iphone-bar{
  flex: 0 0 auto !important;
  min-height: 3px !important;
  margin: 0 !important;
  transform: none !important;
}

body.secondary-screen-active .stats-mock-chart .stats-x-label{
  position: static !important;
  
  
  
  
  
  
  
  
  
  transform: none !important;
  z-index: 2 !important;
}

body.secondary-screen-active .stats-chart-yaxis{
  bottom: 18px !important;
}




/* ===== 2026-09-05 Stats thicker bars + no vertical axis ===== */
body.secondary-screen-active .stats-mock-chart-shell{
  padding-left: 0 !important;
  
}

body.secondary-screen-active .stats-chart-yaxis,
.stats-chart-yaxis{
  display: none !important;
}



/* Seven-day view should feel substantial like the reference mockup. */


/* Ten-bucket month view stays chunky without crowding. */


/* Twelve-bucket long-range views need slightly narrower bars, but not hairlines. */





/* ===== 2026-09-05 Stats bars much wider + top-half space rebalanced ===== */


/* Use a bit more of the available vertical space directly under the title card
   by enlarging the summary and goal content rather than changing the titlecard. */
body.secondary-screen-active .stats-mock-summary-panel{
  min-height: 124px !important;
  
}
body.secondary-screen-active .stats-mock-summary-grid{
  align-items: stretch !important;
}
body.secondary-screen-active .stats-mock-summary-tile{
  
  grid-template-rows: 32px auto auto !important;
  
}





body.secondary-screen-active .stats-goal-list-mockup .stats-mock-goal-row.compact{
  
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}
body.secondary-screen-active .stats-goal-list-mockup .stats-mock-goal-row.compact.weekly{
  padding-bottom: 10px !important;
}

body.secondary-screen-active .stats-mock-goal-content{
  gap: 8px !important;
}

body.secondary-screen-active .stats-mock-goal-top small{
  font-size: .45rem !important;
}
body.secondary-screen-active .stats-mock-goal-top > span{
  font-size: .50rem !important;
}

/* Make chart columns feel dense and substantial: bars should nearly touch with
   only a small visible gap between them. */


body.secondary-screen-active .stats-mock-chart .stats-bar-plot .iphone-bar,
body.secondary-screen-active .stats-mock-chart .stats-bar-button .iphone-bar{
  width: min(36px, 94%) !important;
  max-width: 36px !important;
}
body.secondary-screen-active .stats-mock-chart.range-7 .stats-bar-plot .iphone-bar,
body.secondary-screen-active .stats-mock-chart.range-7 .stats-bar-button .iphone-bar{
  width: min(38px, 96%) !important;
  max-width: 38px !important;
}
body.secondary-screen-active .stats-mock-chart.range-30 .stats-bar-plot .iphone-bar,
body.secondary-screen-active .stats-mock-chart.range-30 .stats-bar-button .iphone-bar{
  width: min(26px, 95%) !important;
  max-width: 26px !important;
}
body.secondary-screen-active .stats-mock-chart.range-90 .stats-bar-plot .iphone-bar,
body.secondary-screen-active .stats-mock-chart.range-90 .stats-bar-button .iphone-bar,
body.secondary-screen-active .stats-mock-chart.range-365 .stats-bar-plot .iphone-bar,
body.secondary-screen-active .stats-mock-chart.range-365 .stats-bar-button .iphone-bar{
  width: min(21px, 92%) !important;
  max-width: 21px !important;
}

@media (max-width: 390px) {
  body.secondary-screen-active .stats-mock-summary-panel{
    min-height: 116px !important;
    padding: 12px 8px 10px !important;
  }
  body.secondary-screen-active .stats-mock-summary-tile{
    
    grid-template-rows: 29px auto auto !important;
    padding-left: 3px !important;
    padding-right: 3px !important;
  }
  
  
  
  body.secondary-screen-active .stats-mock-goals-panel{
    padding: 11px 8px 8px !important;
  }
  
  
  body.secondary-screen-active .stats-mock-goal-top strong{
    font-size: .54rem !important;
  }
  body.secondary-screen-active .stats-mock-goal-top small{
    font-size: .41rem !important;
  }
  body.secondary-screen-active .stats-mock-goal-top > span{
    font-size: .45rem !important;
  }
  body.secondary-screen-active .stats-mock-chart.range-7 .stats-bar-plot .iphone-bar,
  body.secondary-screen-active .stats-mock-chart.range-7 .stats-bar-button .iphone-bar{
    width: min(35px, 96%) !important;
    max-width: 35px !important;
  }
  body.secondary-screen-active .stats-mock-chart.range-30 .stats-bar-plot .iphone-bar,
  body.secondary-screen-active .stats-mock-chart.range-30 .stats-bar-button .iphone-bar{
    width: min(24px, 94%) !important;
    max-width: 24px !important;
  }
  body.secondary-screen-active .stats-mock-chart.range-90 .stats-bar-plot .iphone-bar,
  body.secondary-screen-active .stats-mock-chart.range-90 .stats-bar-button .iphone-bar,
  body.secondary-screen-active .stats-mock-chart.range-365 .stats-bar-plot .iphone-bar,
  body.secondary-screen-active .stats-mock-chart.range-365 .stats-bar-button .iphone-bar{
    width: min(19px, 90%) !important;
    max-width: 19px !important;
  }
}


/* ===== 2026-09-05 Stats true near-edge-to-edge bars =====
   Remove every fixed pixel cap. The column owns the width; the plot gets only
   2px horizontal breathing room per side, so neighbouring bars have a small gap. */
body.secondary-screen-active .stats-mock-chart{
  gap: 0 !important;
}

body.secondary-screen-active .stats-mock-chart .stats-bar-button{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.secondary-screen-active .stats-mock-chart .stats-bar-plot{
  
  
  padding-left: 2px !important;
  padding-right: 2px !important;
}

body.secondary-screen-active .stats-mock-chart .stats-bar-plot .iphone-bar,
body.secondary-screen-active .stats-mock-chart .stats-bar-button .iphone-bar,
body.secondary-screen-active .stats-mock-chart.range-7 .stats-bar-plot .iphone-bar,
body.secondary-screen-active .stats-mock-chart.range-7 .stats-bar-button .iphone-bar,
body.secondary-screen-active .stats-mock-chart.range-30 .stats-bar-plot .iphone-bar,
body.secondary-screen-active .stats-mock-chart.range-30 .stats-bar-button .iphone-bar,
body.secondary-screen-active .stats-mock-chart.range-90 .stats-bar-plot .iphone-bar,
body.secondary-screen-active .stats-mock-chart.range-90 .stats-bar-button .iphone-bar,
body.secondary-screen-active .stats-mock-chart.range-365 .stats-bar-plot .iphone-bar,
body.secondary-screen-active .stats-mock-chart.range-365 .stats-bar-button .iphone-bar{
  
  
  
  
  flex: 0 0 auto !important;
  
}

@media (max-width: 390px) {
  body.secondary-screen-active .stats-mock-chart .stats-bar-plot{
    padding-left: 2px !important;
    padding-right: 2px !important;
  }
}

/* ===== 2026-09-05 Stats genuinely near-touching bars v3 =====
   Give every time bucket a full equal-width column and use the column gap as
   the only horizontal spacing. This makes the gold bars fill almost the whole
   available bucket instead of sitting as narrow pills in the middle. */











/* ===== 2026-09-05 Stats definitive layout + edge-to-edge bars v4 =====
   This override intentionally comes last so it wins over all earlier stats rules. */
body.secondary-screen-active .stats-mock-page{
  
  
  align-content: start !important;
}



body.secondary-screen-active .stats-mock-page > .secondary-page-header .secondary-page-title h2{
  
  line-height: 1 !important;
}

body.secondary-screen-active .stats-mock-summary-panel,
body.secondary-screen-active .stats-mock-goals-panel,
body.secondary-screen-active .stats-mock-activity-panel{
  margin-top: 0 !important;
}

body.secondary-screen-active .stats-mock-summary-panel{
  padding: 7px 8px 6px !important;
}



body.secondary-screen-active .stats-mock-summary-panel .stats-mock-section-title,
body.secondary-screen-active .stats-mock-goals-panel .stats-mock-section-title{
  margin-bottom: 4px !important;
}

body.secondary-screen-active .stats-mock-summary-grid{
  gap: 5px !important;
}

body.secondary-screen-active .stats-mock-summary-tile{
  min-height: 72px !important;
  padding: 6px 4px !important;
  gap: 2px !important;
}

body.secondary-screen-active .stats-mock-summary-icon{
  width: 28px !important;
  height: 28px !important;
}

body.secondary-screen-active .stats-mock-value{
  font-size: .98rem !important;
}

body.secondary-screen-active .stats-mock-caption{
  font-size: .42rem !important;
}





body.secondary-screen-active .stats-goal-ring{
  width: 40px !important;
  height: 40px !important;
}

body.secondary-screen-active .stats-mock-goal-top strong{
  font-size: .56rem !important;
}

body.secondary-screen-active .stats-mock-goal-top small,
body.secondary-screen-active .stats-mock-goal-top > span{
  font-size: .44rem !important;
}

body.secondary-screen-active .stats-mock-goal-track{
  margin-top: 3px !important;
  height: 7px !important;
}

body.secondary-screen-active .stats-mock-activity-panel{
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  align-content: start !important;
  gap: 3px !important;
  padding: 6px 8px 6px !important;
}

body.secondary-screen-active .stats-mock-activity-head{
  margin: 0 !important;
}

body.secondary-screen-active .stats-mock-chart-shell{
  grid-template-columns: minmax(0, 1fr) !important;
  padding: 3px 0 0 !important;
  margin: 0 !important;
  height: 150px !important;
  min-height: 150px !important;
  overflow: hidden !important;
}

body.secondary-screen-active .stats-mock-chart{
  display: grid !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  height: 150px !important;
  min-height: 150px !important;
  padding: 2px 0 0 !important;
  margin: 0 !important;
  column-gap: 2px !important;
  row-gap: 0 !important;
  border-bottom: 0 !important;
}

body.secondary-screen-active .stats-mock-chart.range-7{
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
}
body.secondary-screen-active .stats-mock-chart.range-30{
  grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
}
body.secondary-screen-active .stats-mock-chart.range-90,
body.secondary-screen-active .stats-mock-chart.range-365{
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
}

body.secondary-screen-active .stats-mock-chart .stats-bar-button{
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) 16px !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  gap: 2px !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.secondary-screen-active .stats-mock-chart .stats-bar-plot{
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: stretch !important;
  padding: 0 1px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

body.secondary-screen-active .stats-mock-chart .stats-bar-plot .iphone-bar,
body.secondary-screen-active .stats-mock-chart .stats-bar-button .iphone-bar,
body.secondary-screen-active .stats-mock-chart.range-7 .stats-bar-plot .iphone-bar,
body.secondary-screen-active .stats-mock-chart.range-7 .stats-bar-button .iphone-bar,
body.secondary-screen-active .stats-mock-chart.range-30 .stats-bar-plot .iphone-bar,
body.secondary-screen-active .stats-mock-chart.range-30 .stats-bar-button .iphone-bar,
body.secondary-screen-active .stats-mock-chart.range-90 .stats-bar-plot .iphone-bar,
body.secondary-screen-active .stats-mock-chart.range-90 .stats-bar-button .iphone-bar,
body.secondary-screen-active .stats-mock-chart.range-365 .stats-bar-plot .iphone-bar,
body.secondary-screen-active .stats-mock-chart.range-365 .stats-bar-button .iphone-bar{
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 3px !important;
  max-height: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  border-radius: 2px 2px 0 0 !important;
}

body.secondary-screen-active .stats-mock-chart .stats-x-label{
  width: 100% !important;
  height: 16px !important;
  min-height: 16px !important;
  font-size: .49rem !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.secondary-screen-active .stats-mock-detail-row{
  min-height: 48px !important;
  padding: 4px 8px 5px !important;
  margin: 0 !important;
}

body.secondary-screen-active .stats-mock-detail-copy strong{
  font-size: .72rem !important;
}

body.secondary-screen-active .stats-mock-detail-copy span,
body.secondary-screen-active .stats-mock-detail-value span{
  font-size: .48rem !important;
}

body.secondary-screen-active .stats-mock-detail-value strong{
  font-size: .92rem !important;
}

body.secondary-screen-active .stats-extended-entry-panel .stats-extended-button{
  padding-top: 6px !important;
}

@media (max-width: 390px) {
  

  body.secondary-screen-active .stats-mock-page > .secondary-page-header{
    height: 56px !important;
    min-height: 56px !important;
    padding: 5px 8px 4px !important;
  }

  body.secondary-screen-active .stats-mock-page > .secondary-page-header .secondary-page-title h2{
    font-size: 1.08rem !important;
  }

  body.secondary-screen-active .stats-mock-summary-panel,
  body.secondary-screen-active .stats-mock-goals-panel,
  body.secondary-screen-active .stats-mock-activity-panel{
    padding-left: 7px !important;
    padding-right: 7px !important;
  }

  body.secondary-screen-active .stats-mock-summary-tile{
    min-height: 68px !important;
    padding: 5px 3px !important;
  }

  body.secondary-screen-active .stats-mock-summary-icon{
    width: 26px !important;
    height: 26px !important;
  }

  body.secondary-screen-active .stats-mock-value{
    font-size: .92rem !important;
  }

  body.secondary-screen-active .stats-mock-caption{
    font-size: .39rem !important;
  }

  

  body.secondary-screen-active .stats-goal-ring{
    width: 36px !important;
    height: 36px !important;
  }

  body.secondary-screen-active .stats-mock-chart-shell,
  body.secondary-screen-active .stats-mock-chart{
    height: 142px !important;
    min-height: 142px !important;
  }

  body.secondary-screen-active .stats-mock-chart{
    column-gap: 2px !important;
  }

  body.secondary-screen-active .stats-mock-detail-row{
    min-height: 44px !important;
    padding: 3px 7px 4px !important;
    grid-template-columns: 34px minmax(0, 1fr) auto !important;
    gap: 6px !important;
  }

  body.secondary-screen-active .stats-mock-detail-icon{
    width: 32px !important;
    height: 32px !important;
  }

  body.secondary-screen-active .stats-mock-detail-copy strong{
    font-size: .68rem !important;
  }

  body.secondary-screen-active .stats-mock-detail-value strong{
    font-size: .88rem !important;
  }
}


/* ===== 2026-09-05 Remade stats chart from scratch v5 =====
   Uses unique classes so older experimental chart CSS cannot keep fighting it. */






body.secondary-screen-active .stats-remade-chart-shell{
  
  
  border-radius: 8px;
  border: 1px solid rgba(206, 160, 82, .16);
  background:
    linear-gradient(180deg, rgba(14, 23, 38, .82), rgba(10, 18, 30, .92)),
    linear-gradient(to bottom,
      rgba(214,173,92,.16) 0 1px,
      transparent 1px calc(50% - .5px),
      rgba(214,173,92,.10) calc(50% - .5px) calc(50% + .5px),
      transparent calc(50% + .5px) calc(100% - 18px),
      rgba(214,173,92,.16) calc(100% - 18px) calc(100% - 17px),
      transparent calc(100% - 17px));
  
  
  
}
body[data-theme="light"] .stats-remade-chart-shell{
  background:
    linear-gradient(180deg, rgba(255, 249, 238, .98), rgba(243, 231, 209, .96)),
    linear-gradient(to bottom,
      rgba(181,132,49,.16) 0 1px,
      transparent 1px calc(50% - .5px),
      rgba(181,132,49,.08) calc(50% - .5px) calc(50% + .5px),
      transparent calc(50% + .5px) calc(100% - 18px),
      rgba(181,132,49,.14) calc(100% - 18px) calc(100% - 17px),
      transparent calc(100% - 17px));
}

body.secondary-screen-active .stats-remade-chart{
  position: relative;
  display: grid;
  
  
  
  
  
  
}
body.secondary-screen-active .stats-remade-chart.range-7{ grid-template-columns: repeat(7, minmax(0, 1fr)); }
body.secondary-screen-active .stats-remade-chart.range-30{ grid-template-columns: repeat(10, minmax(0, 1fr)); }
body.secondary-screen-active .stats-remade-chart.range-90,
body.secondary-screen-active .stats-remade-chart.range-365{ grid-template-columns: repeat(12, minmax(0, 1fr)); }
body.secondary-screen-active .stats-remade-chart::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 18px;
  height: 1px;
  background: rgba(214, 173, 92, .55);
  pointer-events: none;
}

body.secondary-screen-active .stats-remade-bar-button{
  width: 100%;
  min-width: 0;
  
  
  display: grid;
  
  
  padding: 0;
  margin: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: inherit;
  align-items: stretch;
  justify-items: stretch;
}

body.secondary-screen-active .stats-remade-bar-zone{
  
  min-width: 0;
  
  
  display: flex;
  
  justify-content: stretch;
  
  box-sizing: border-box;
}

body.secondary-screen-active .stats-remade-bar{
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 4px;
  border-radius: 4px 4px 0 0;
  border: 1px solid rgba(244, 213, 137, .35);
  background: linear-gradient(180deg, #f3d07b 0%, #d59a3c 26%, #9b641e 70%, #7c4d16 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 1px 3px rgba(0,0,0,.16);
}
body[data-theme="light"] .stats-remade-bar{
  border-color: rgba(169, 113, 31, .28);
  background: linear-gradient(180deg, #ddb86d 0%, #c88e39 28%, #a36724 72%, #88531e 100%);
}
body.secondary-screen-active .stats-remade-bar-button.selected .stats-remade-bar,
body.secondary-screen-active .stats-remade-bar-button:focus-visible .stats-remade-bar{
  filter: brightness(1.06) drop-shadow(0 0 6px rgba(232,191,102,.26));
}

body.secondary-screen-active .stats-remade-x-label{
  width: 100%;
  min-width: 0;
  
  display: flex;
  align-items: center;
  justify-content: center;
  color: #dabb81;
  
  letter-spacing: .05em;
  line-height: 1;
}
body[data-theme="light"] .stats-remade-x-label{
  color: #8a663c;
}

body.secondary-screen-active .stats-remade-readout{
  display: grid;
  
  align-items: center;
  
  
  
  border-radius: 8px;
  border: 1px solid rgba(208,162,82,.18);
  background: linear-gradient(180deg, rgba(20, 32, 50, .90), rgba(12, 21, 34, .94));
}
body[data-theme="light"] .stats-remade-readout{
  background: linear-gradient(180deg, rgba(255, 251, 244, .99), rgba(247, 237, 215, .98));
}
body.secondary-screen-active .stats-remade-readout-icon{
  
  
  object-fit: contain;
}
body.secondary-screen-active .stats-remade-readout-copy,
body.secondary-screen-active .stats-remade-readout-value{
  min-width: 0;
}
body.secondary-screen-active .stats-remade-readout-copy strong{
  display: block;
  color: #efcb81;
  
  line-height: 1.04;
}
body.secondary-screen-active .stats-remade-readout-copy span{
  display: block;
  margin-top: 2px;
  color: #cfb58a;
  font-size: .48rem;
  line-height: 1.05;
}
body.secondary-screen-active .stats-remade-readout-value{
  text-align: right;
}
body.secondary-screen-active .stats-remade-readout-value strong{
  display: block;
  color: #f2d796;
  
  line-height: 1.02;
}
body.secondary-screen-active .stats-remade-readout-value span{
  display: block;
  margin-top: 2px;
  color: #cfb58a;
  font-size: .48rem;
  line-height: 1.05;
}
body[data-theme="light"] .stats-remade-readout-copy strong,
body[data-theme="light"] .stats-remade-readout-value strong{ color: #8d5a1f; }
body[data-theme="light"] .stats-remade-readout-copy span,
body[data-theme="light"] .stats-remade-readout-value span{ color: #816240; }

@media (max-width: 390px) {
  
  
  
  
  body.secondary-screen-active .stats-remade-x-label{
    height: 16px;
    font-size: .45rem;
  }
  body.secondary-screen-active .stats-remade-readout{
    
    
    gap: 6px;
    
  }
  
  body.secondary-screen-active .stats-remade-readout-copy strong{
    font-size: .67rem;
  }
  body.secondary-screen-active .stats-remade-readout-copy span,
  body.secondary-screen-active .stats-remade-readout-value span{
    font-size: .44rem;
  }
  body.secondary-screen-active .stats-remade-readout-value strong{
    font-size: .85rem;
  }
}


/* ===== 2026-09-05 Stats spacing/taller bars follow-up v6 =====
   Make bars taller, but move the chart block down and give Goal Progress a bit
   more breathing room so the weekly goal no longer clips. */








body.secondary-screen-active .stats-remade-chart{
  column-gap: 3px !important;
}















@media (max-width: 390px) {
  

  

  

  body.secondary-screen-active .stats-remade-chart{
    column-gap: 2px !important;
  }

  body.secondary-screen-active .stats-remade-bar-button{
    grid-template-rows: minmax(0, 1fr) 16px !important;
    gap: 3px !important;
  }

  

  
}


/* ===== 2026-09-05 Goal progress bar layout refinement v7 =====
   Stretch daily/weekly progress bars across the card and place the
   hours/hours value over the bar on the right side. */




body.secondary-screen-active .stats-mock-goal-top{
  display: block !important;
}

body.secondary-screen-active .stats-mock-goal-top > span{
  display: none !important;
}



body.secondary-screen-active .stats-mock-goal-track.goal-track-inline{
  
  
  
  margin-top: 0 !important;
  padding-right: 86px !important;
  
  
  
  background: rgba(8, 14, 23, .72) !important;
  border: 1px solid rgba(206,160,82,.18) !important;
}

body[data-theme="light"] .stats-mock-goal-track.goal-track-inline{
  background: rgba(171,123,51,.08) !important;
}



body.secondary-screen-active .stats-mock-goal-inline-value{
  position: absolute !important;
  top: 50% !important;
  right: 10px !important;
  transform: translateY(-50%) !important;
  z-index: 2 !important;
  color: #f0dfbc !important;
  font-size: .51rem !important;
  line-height: 1 !important;
  letter-spacing: .02em !important;
  white-space: nowrap !important;
  text-shadow: 0 1px 0 rgba(0,0,0,.25) !important;
}

body[data-theme="light"] .stats-mock-goal-inline-value{
  color: #7b5630 !important;
  text-shadow: none !important;
}

body.secondary-screen-active .stats-mock-goal-top strong{
  display: block !important;
  margin-bottom: 1px !important;
}

body.secondary-screen-active .stats-mock-goal-top small{
  display: block !important;
}

@media (max-width: 390px) {
  

  body.secondary-screen-active .stats-mock-goal-track.goal-track-inline{
    
    padding-right: 78px !important;
  }

  body.secondary-screen-active .stats-mock-goal-inline-value{
    right: 8px !important;
    font-size: .47rem !important;
  }
}


/* ===== 2026-09-05 Stats goal bars + taller chart refinement v9 =====
   Keep the goal bars long but make them slim, put the hours above the track,
   anchor the chart readout to the bottom of its card, and give the plot more
   vertical room so the individual bars are visibly taller. */


/* Goal rows: long, thin progress lines with value above the right edge. */




body.secondary-screen-active .stats-mock-goal-progress-wrap{
  
  grid-template-rows: 11px 7px !important;
  gap: 2px !important;
  
  
  align-content: end !important;
}

body.secondary-screen-active .stats-mock-goal-progress-meta{
  
  align-items: end !important;
  justify-content: flex-end !important;
  
  padding-right: 3px !important;
}

body.secondary-screen-active .stats-mock-goal-progress-meta span{
  
  
  
  
  
  text-shadow: 0 1px 0 rgba(0,0,0,.22) !important;
}
body[data-theme="light"] .stats-mock-goal-progress-meta span{
  
  text-shadow: none !important;
}





body.secondary-screen-active .stats-mock-goal-inline-value{
  display: none !important;
}

/* Bar chart: keep the selector at the top, push the plot/readout down, and
   pin the selected-period information to the bottom edge of the card. */






body.secondary-screen-active .stats-remade-chart-shell{
  
  
  
  margin-top: 5px !important;
  
}





body.secondary-screen-active .stats-remade-bar-zone{
  
  
  padding-bottom: 1px !important;
}

body.secondary-screen-active .stats-remade-readout{
  
  margin-top: 0 !important;
  
  
}

@media (max-width: 390px) {
  

  

  body.secondary-screen-active .stats-mock-goal-progress-wrap{
    grid-template-rows: 10px 6px !important;
    gap: 2px !important;
  }

  

  

  body.secondary-screen-active .stats-remade-chart-shell{
    
    
    margin-top: 4px !important;
    
  }

  
}


/* ===== 2026-09-05 Stats layout correction v10 =====
   Give Goal Progress more vertical room, restore full-length goal bars with the
   hours value fixed to their upper-right, and compact the activity card while
   keeping the chart/readout locked together at the bottom. */


body.secondary-screen-active .stats-mock-goals-panel{
  padding: 7px 8px 8px !important;
}
body.secondary-screen-active .stats-goal-list-mockup{
  gap: 5px !important;
}
body.secondary-screen-active .stats-goal-list-mockup .stats-mock-goal-row.compact{
  grid-template-columns: 40px minmax(0, 1fr) !important;
  min-height: 62px !important;
  padding: 5px 7px !important;
  gap: 7px !important;
}
body.secondary-screen-active .stats-mock-goal-content-wide{
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  display: grid !important;
  grid-template-rows: auto 1fr !important;
  gap: 3px !important;
  align-self: stretch !important;
}

body.secondary-screen-active .stats-mock-goal-progress-meta{
  
  
  
  
  
  min-width: 0 !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  
  pointer-events: none !important;
}
body.secondary-screen-active .stats-mock-goal-progress-meta span{
  
  
  color: #e7d4ad !important;
  font-size: .48rem !important;
  line-height: 1 !important;
  letter-spacing: .015em !important;
  
}
body[data-theme="light"] .stats-mock-goal-progress-meta span{
  color: #765330 !important;
}
body.secondary-screen-active .stats-mock-goal-track.goal-track-inline{
  display: block !important;
  position: relative !important;
  
  
  min-width: 0 !important;
  height: 6px !important;
  min-height: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  border-radius: 999px !important;
}
body.secondary-screen-active .stats-mock-goal-track.goal-track-inline .stats-mock-goal-fill{
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  height: 100% !important;
  max-width: 100% !important;
  border-radius: inherit !important;
}








body.secondary-screen-active .stats-remade-x-label{
  height: 15px !important;
  min-height: 15px !important;
  font-size: .47rem !important;
}

body.secondary-screen-active .stats-remade-readout-icon{
  width: 28px !important;
  height: 28px !important;
}




@media (max-width: 390px) {
  
  body.secondary-screen-active .stats-goal-list-mockup .stats-mock-goal-row.compact{
    grid-template-columns: 36px minmax(0, 1fr) !important;
    min-height: 58px !important;
    padding: 4px 6px !important;
    gap: 6px !important;
  }
  body.secondary-screen-active .stats-mock-goal-progress-wrap{
    width: calc(100% + 1px) !important;
    margin-right: -1px !important;
    
  }
  body.secondary-screen-active .stats-mock-goal-track.goal-track-inline{
    height: 5px !important;
    min-height: 5px !important;
  }
  body.secondary-screen-active .stats-mock-goal-progress-meta span{
    font-size: .44rem !important;
  }
  
  
  
  body.secondary-screen-active .stats-remade-readout-icon{
    width: 26px !important;
    height: 26px !important;
  }
}


/* ===== 2026-09-05 Stats activity gap fill refinement v12 =====
   Pull the chart section further down, give the plot more vertical room, keep
   the readout pinned to the bottom of the card, and tighten the Extended Stats
   row so the dead gap under the activity card is absorbed by the chart instead. */
body.secondary-screen-active .stats-mock-page{
  
  gap: 3px !important;
}





body.secondary-screen-active .stats-remade-activity-head{
  
  
  padding-bottom: 1px !important;
}



body.secondary-screen-active .stats-remade-chart{
  
  
  
  
  
  row-gap: 0 !important;
}



body.secondary-screen-active .stats-remade-bar-zone{
  width: 100% !important;
  
  
  padding: 0 1px 0 !important;
  
  
}

body.secondary-screen-active .stats-remade-readout{
  
  
  
  
  
  
  padding: 2px 7px 1px !important;
  box-sizing: border-box !important;
  grid-template-columns: 30px minmax(0, 1fr) auto !important;
  gap: 6px !important;
}

body.secondary-screen-active .stats-remade-readout-copy strong{
  font-size: .67rem !important;
}
body.secondary-screen-active .stats-remade-readout-copy span,
body.secondary-screen-active .stats-remade-readout-value span{
  font-size: .43rem !important;
}
body.secondary-screen-active .stats-remade-readout-value strong{
  font-size: .86rem !important;
}

/* Keep goal bars long, but keep the time value on the upper-right. */
body.secondary-screen-active .stats-mock-goal-progress-wrap{
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin-right: 0 !important;
  padding-top: 12px !important;
  box-sizing: border-box !important;
  align-self: end !important;
}
body.secondary-screen-active .stats-mock-goal-progress-meta{
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  left: auto !important;
  width: auto !important;
  text-align: right !important;
}
body.secondary-screen-active .stats-mock-goal-progress-meta span{
  display: block !important;
  text-align: right !important;
  white-space: nowrap !important;
}
body.secondary-screen-active .stats-mock-goal-track.goal-track-inline{
  width: 100% !important;
  max-width: none !important;
}

/* Tighten the Extended Stats row so the extra vertical space is used by the chart. */
body.secondary-screen-active .stats-mock-lifetime-panel.stats-extended-entry-panel{
  min-height: 42px !important;
  height: 42px !important;
  padding: 0 !important;
}
body.secondary-screen-active .stats-extended-entry-panel .stats-extended-button{
  min-height: 42px !important;
  height: 42px !important;
  padding: 0 10px !important;
  align-items: center !important;
}

@media (max-width: 390px) {
  body.secondary-screen-active .stats-mock-page{
    grid-template-rows: 56px minmax(0, .65fr) minmax(0, .92fr) minmax(0, 1.24fr) minmax(39px, .10fr) !important;
  }

  

  

  body.secondary-screen-active .stats-remade-readout{
    
    
    padding: 2px 6px 1px !important;
    grid-template-columns: 28px minmax(0,1fr) auto !important;
  }

  body.secondary-screen-active .stats-mock-goal-progress-wrap{
    padding-top: 11px !important;
  }

  body.secondary-screen-active .stats-mock-lifetime-panel.stats-extended-entry-panel,
  body.secondary-screen-active .stats-extended-entry-panel .stats-extended-button{
    min-height: 39px !important;
    height: 39px !important;
  }
}


/* ===== 2026-09-05 Stats chart bottom anchoring v14 =====
   The activity panel still inherited an older three-row grid, so its single
   .stats-remade-card child was not truly filling the panel. That left a large
   dead area underneath the readout. Make the remade card own the full panel,
   pin chart + readout to its bottom, and give the plot enough height for the
   generated bars to fit without touching the top edge. */
body.secondary-screen-active .stats-remade-activity-panel{
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) !important;
  align-items: stretch !important;
  align-content: stretch !important;
  padding: 4px 8px 2px !important;
  overflow: hidden !important;
}

body.secondary-screen-active .stats-remade-card{
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  align-items: stretch !important;
  align-content: stretch !important;
  gap: 2px !important;
}

body.secondary-screen-active .stats-remade-activity-head{
  align-self: start !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* The middle grid row is the spacer. The chart is bottom-aligned inside it,
   so the chart/readout block sits immediately above Extended Stats. */
body.secondary-screen-active .stats-remade-chart-shell{
  align-self: end !important;
  justify-self: stretch !important;
  width: 100% !important;
  height: 184px !important;
  min-height: 184px !important;
  max-height: 184px !important;
  margin: 0 !important;
  padding: 4px 8px 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

body.secondary-screen-active .stats-remade-chart{
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  align-items: stretch !important;
}

body.secondary-screen-active .stats-remade-bar-button{
  height: 100% !important;
  min-height: 0 !important;
  grid-template-rows: minmax(0, 1fr) 15px !important;
  gap: 2px !important;
}

body.secondary-screen-active .stats-remade-bar-zone{
  height: 100% !important;
  min-height: 0 !important;
  align-items: flex-end !important;
  overflow: hidden !important;
}

body.secondary-screen-active .stats-remade-readout{
  align-self: end !important;
  justify-self: stretch !important;
  width: 100% !important;
  height: 37px !important;
  min-height: 37px !important;
  margin: 0 !important;
}

/* Leave only the normal page gap between the activity card and Extended Stats. */
body.secondary-screen-active .stats-mock-lifetime-panel.stats-extended-entry-panel{
  align-self: stretch !important;
  margin-top: 0 !important;
}

@media (max-width: 390px) {
  body.secondary-screen-active .stats-remade-activity-panel{
    padding: 4px 7px 2px !important;
  }

  body.secondary-screen-active .stats-remade-chart-shell{
    height: 172px !important;
    min-height: 172px !important;
    max-height: 172px !important;
    padding: 4px 7px 0 !important;
  }

  body.secondary-screen-active .stats-remade-readout{
    height: 35px !important;
    min-height: 35px !important;
  }
}


/* ===== 2026-09-05 Stats selected bar subtle emphasis v18 =====
   Keep the selection noticeable but restrained: no dimming of other bars,
   no blue marker, and only a small lift in brightness/border/glow. */
body.secondary-screen-active .stats-remade-bar-button{
  position: relative !important;
}

body.secondary-screen-active .stats-remade-bar-button:not(.selected) .stats-remade-bar{
  opacity: 1 !important;
  filter: none !important;
}

body.secondary-screen-active .stats-remade-bar-button.selected .stats-remade-bar{
  opacity: 1 !important;
  border-color: rgba(248, 218, 145, .68) !important;
  background: linear-gradient(180deg, #f6d685 0%, #e2ad4d 28%, #b97928 72%, #8f571d 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    0 0 0 1px rgba(231,190,103,.20),
    0 0 5px rgba(229,180,78,.20) !important;
  filter: brightness(1.04) saturate(1.03) !important;
}

body.secondary-screen-active .stats-remade-bar-button.selected .stats-remade-bar-zone{
  background: transparent !important;
  box-shadow: none !important;
}

body.secondary-screen-active .stats-remade-bar-button.selected .stats-remade-x-label{
  color: #f0cf83 !important;
  font-weight: 700 !important;
  text-shadow: none !important;
}

body.secondary-screen-active .stats-remade-bar-button.selected::after{
  display: none !important;
  content: none !important;
}

body[data-theme="light"].secondary-screen-active .stats-remade-bar-button:not(.selected) .stats-remade-bar{
  opacity: 1 !important;
  filter: none !important;
}
body[data-theme="light"].secondary-screen-active .stats-remade-bar-button.selected .stats-remade-bar{
  border-color: rgba(169,112,38,.42) !important;
  background: linear-gradient(180deg, #e1bd72 0%, #cd9844 30%, #aa6927 72%, #87511d 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    0 0 0 1px rgba(164,106,34,.12),
    0 0 4px rgba(162,105,34,.12) !important;
  filter: brightness(1.03) saturate(1.02) !important;
}
body[data-theme="light"].secondary-screen-active .stats-remade-bar-button.selected .stats-remade-x-label{
  color: #8a591f !important;
  text-shadow: none !important;
}


/* ===== 2026-09-05 Teams no-team modern academy landing v19 =====
   Match the supplied direction: one immersive hero rather than an academy card,
   followed by three large elegant pill actions. No ornate corners/panels. */
body.secondary-screen-active .iphone-teams-page.teams-empty-modern-page,
body[data-reward-theme] .iphone-teams-page.teams-empty-modern-page{
  position: relative !important;
  padding: 0 7px 2px !important;
  gap: 0 !important;
  overflow: hidden !important;
  background:
    linear-gradient(180deg, rgba(2,8,18,.02) 0%, rgba(2,8,18,.15) 46%, rgba(2,8,18,.78) 76%, #030b16 100%),
    var(--mq-bg-image) center 15% / cover no-repeat !important;
}

body.secondary-screen-active .teams-empty-modern-page::before{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(circle at 78% 18%, rgba(84,145,216,.12), transparent 24%),
    linear-gradient(90deg, rgba(0,0,0,.30) 0%, rgba(0,0,0,.08) 53%, rgba(0,0,0,.05) 100%);
}

body.secondary-screen-active .teams-empty-modern-page > *{
  position: relative;
  z-index: 1;
}

body.secondary-screen-active .teams-empty-modern-page .teams-empty-modern-hero,
body[data-reward-theme] .teams-empty-modern-page .teams-empty-modern-hero{
  position: relative !important;
  flex: 0 0 clamp(248px, 43%, 316px) !important;
  min-height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
  background: none !important;
  box-shadow: none !important;
}

body.secondary-screen-active .teams-empty-modern-page .teams-empty-modern-hero::before,
body.secondary-screen-active .teams-empty-modern-page .teams-empty-modern-hero::after{
  display: none !important;
  content: none !important;
}

body.secondary-screen-active .teams-empty-modern-page .secondary-page-header,
body[data-reward-theme] .teams-empty-modern-page .secondary-page-header{
  position: relative !important;
  z-index: 2 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, rgba(3,10,20,.44), rgba(3,10,20,.03)) !important;
  box-shadow: none !important;
}

body.secondary-screen-active .teams-empty-modern-page .secondary-page-header::before,
body.secondary-screen-active .teams-empty-modern-page .secondary-page-header::after{
  display: none !important;
  content: none !important;
}

body.secondary-screen-active .teams-empty-modern-page .secondary-page-title h2{
  color: #f0cc82 !important;
  
  font-size: 1.23rem !important;
  font-weight: 500 !important;
  letter-spacing: .08em !important;
  text-shadow: 0 2px 9px rgba(0,0,0,.56) !important;
}

body.secondary-screen-active .teams-empty-modern-page .secondary-page-title span{
  height: 1px !important;
  max-width: 78px !important;
  background: linear-gradient(90deg, transparent, rgba(235,193,105,.78)) !important;
  box-shadow: none !important;
}
body.secondary-screen-active .teams-empty-modern-page .secondary-page-title span:last-child{
  background: linear-gradient(90deg, rgba(235,193,105,.78), transparent) !important;
}

body.secondary-screen-active .teams-empty-modern-intro{
  position: absolute;
  left: 20px;
  right: 18px;
  bottom: 22px;
  display: grid;
  justify-items: start;
  text-align: left;
  gap: 0;
  padding: 0 !important;
}

body.secondary-screen-active .teams-empty-modern-intro h3{
  width: min(280px, 82%);
  margin: 0 !important;
  color: #f5d99d !important;
  
  font-size: clamp(1.78rem, 8.7vw, 2.46rem) !important;
  font-weight: 400 !important;
  line-height: .98 !important;
  letter-spacing: .018em !important;
  text-wrap: balance;
  text-shadow: 0 3px 14px rgba(0,0,0,.86), 0 0 18px rgba(231,183,86,.08) !important;
}

body.secondary-screen-active .teams-empty-modern-motto{
  margin: 11px 0 0 !important;
  color: #e8bb61 !important;
  font-size: .72rem !important;
  font-style: italic !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: .012em !important;
  text-shadow: 0 2px 7px rgba(0,0,0,.72) !important;
}

body.secondary-screen-active .teams-empty-modern-copy{
  max-width: 315px;
  margin: 8px 0 0 !important;
  color: rgba(226,232,242,.78) !important;
  font-size: .62rem !important;
  line-height: 1.44 !important;
  letter-spacing: .006em !important;
  text-shadow: 0 2px 8px rgba(0,0,0,.78) !important;
}

body.secondary-screen-active .teams-empty-modern-actions{
  flex: 0 0 auto !important;
  width: 100%;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 11px !important;
  padding: 8px 10px 12px !important;
  box-sizing: border-box !important;
  background: linear-gradient(180deg, rgba(3,11,23,.54), rgba(3,11,23,.22) 68%, rgba(3,11,23,.05));
}

body.secondary-screen-active .teams-empty-modern-action,
body[data-reward-theme] .teams-empty-modern-action{
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 78px !important;
  display: grid !important;
  grid-template-columns: 58px minmax(0,1fr) 22px !important;
  align-items: center !important;
  gap: 11px !important;
  padding: 8px 15px 8px 10px !important;
  border: 1px solid rgba(224,176,72,.74) !important;
  border-image: none !important;
  border-radius: 999px !important;
  clip-path: none !important;
  -webkit-mask: none !important;
  mask: none !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 12% 50%, rgba(38,77,124,.22), transparent 29%),
    linear-gradient(100deg, rgba(10,28,51,.97) 0%, rgba(7,21,40,.97) 56%, rgba(5,16,31,.98) 100%) !important;
  color: #f2cf82 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.055),
    inset 0 -1px 0 rgba(0,0,0,.30),
    0 5px 16px rgba(0,0,0,.22),
    0 0 12px rgba(222,171,61,.035) !important;
  text-align: left !important;
  cursor: pointer !important;
  touch-action: manipulation !important;
  transition: transform .14s ease, border-color .18s ease, filter .18s ease, box-shadow .18s ease !important;
}

body.secondary-screen-active .teams-empty-modern-action::before,
body.secondary-screen-active .teams-empty-modern-action::after,
body[data-reward-theme] .teams-empty-modern-action::before,
body[data-reward-theme] .teams-empty-modern-action::after{
  display: none !important;
  content: none !important;
}

body.secondary-screen-active .teams-empty-modern-action:hover{
  border-color: rgba(240,198,105,.90) !important;
  filter: brightness(1.055) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 6px 18px rgba(0,0,0,.24),
    0 0 13px rgba(224,174,66,.07) !important;
}
body.secondary-screen-active .teams-empty-modern-action:active{
  transform: scale(.988) !important;
  filter: brightness(.98) !important;
}

body.secondary-screen-active .teams-empty-modern-action-icon{
  width: 54px !important;
  height: 54px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid rgba(226,179,73,.72) !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 50% 42%, rgba(34,78,131,.84), rgba(6,21,42,.98) 66%) !important;
  box-shadow:
    inset 0 0 0 4px rgba(226,178,70,.08),
    inset 0 1px 0 rgba(255,255,255,.08),
    0 0 10px rgba(232,181,71,.18) !important;
  overflow: hidden !important;
}

body.secondary-screen-active .teams-empty-modern-action-icon img{
  width: 46px !important;
  height: 46px !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  transform: scale(1.02) !important;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.35)) !important;
}

body.secondary-screen-active .teams-empty-modern-action-copy{
  min-width: 0 !important;
  display: grid !important;
  gap: 4px !important;
  align-content: center !important;
}

body.secondary-screen-active .teams-empty-modern-action-copy strong{
  color: #efcd82 !important;
  
  font-size: .72rem !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: .07em !important;
  white-space: nowrap !important;
  text-shadow: 0 1px 5px rgba(0,0,0,.56) !important;
}

body.secondary-screen-active .teams-empty-modern-action-copy small{
  max-width: 260px;
  color: rgba(208,217,232,.72) !important;
  font-size: .54rem !important;
  font-weight: 500 !important;
  line-height: 1.32 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
}

body.secondary-screen-active .teams-empty-modern-action-arrow{
  justify-self: end !important;
  color: #f0bd5c !important;
  
  font-size: 1.72rem !important;
  font-weight: 200 !important;
  line-height: 1 !important;
  transform: translateY(-1px) !important;
  text-shadow: 0 0 7px rgba(238,181,71,.12) !important;
}

/* Academy Night gets a slightly stronger castle crop, mirroring the supplied mockup. */
body[data-reward-theme="academy_night"].secondary-screen-active .iphone-teams-page.teams-empty-modern-page,
body:not([data-reward-theme]).secondary-screen-active .iphone-teams-page.teams-empty-modern-page{
  background-position: center 12% !important;
}

/* Keep the no-team landing usable on shorter/smaller phones without returning
   to compact square cards. */
@media (max-width: 390px), (max-height: 760px) {
  body.secondary-screen-active .teams-empty-modern-page .teams-empty-modern-hero,
  body[data-reward-theme] .teams-empty-modern-page .teams-empty-modern-hero{
    flex-basis: clamp(222px, 41%, 270px) !important;
  }
  body.secondary-screen-active .teams-empty-modern-intro{
    left: 17px;
    right: 15px;
    bottom: 15px;
  }
  body.secondary-screen-active .teams-empty-modern-intro h3{
    font-size: clamp(1.62rem, 8.5vw, 2.05rem) !important;
  }
  body.secondary-screen-active .teams-empty-modern-motto{
    margin-top: 8px !important;
    font-size: .65rem !important;
  }
  body.secondary-screen-active .teams-empty-modern-copy{
    margin-top: 6px !important;
    font-size: .56rem !important;
    line-height: 1.34 !important;
  }
  body.secondary-screen-active .teams-empty-modern-actions{
    gap: 8px !important;
    padding: 7px 7px 8px !important;
  }
  body.secondary-screen-active .teams-empty-modern-action,
  body[data-reward-theme] .teams-empty-modern-action{
    min-height: 68px !important;
    grid-template-columns: 49px minmax(0,1fr) 18px !important;
    gap: 9px !important;
    padding: 6px 12px 6px 8px !important;
  }
  body.secondary-screen-active .teams-empty-modern-action-icon{
    width: 47px !important;
    height: 47px !important;
  }
  body.secondary-screen-active .teams-empty-modern-action-icon img{
    width: 40px !important;
    height: 40px !important;
  }
  body.secondary-screen-active .teams-empty-modern-action-copy strong{
    font-size: .65rem !important;
  }
  body.secondary-screen-active .teams-empty-modern-action-copy small{
    font-size: .48rem !important;
    line-height: 1.25 !important;
  }
  body.secondary-screen-active .teams-empty-modern-action-arrow{
    font-size: 1.5rem !important;
  }
}

@media (max-width: 350px) {
  body.secondary-screen-active .teams-empty-modern-action-copy small{
    font-size: .45rem !important;
  }
  body.secondary-screen-active .teams-empty-modern-intro h3{
    font-size: 1.52rem !important;
  }
}

/* ===== 2026-09-06 Stats goal ring fill + subtle summary dividers v28 =====
   Use an explicit angle supplied by stats.js instead of calculating a percentage
   stop in the gradient. This keeps the ring reliable at every value, including
   an exact 360deg fill at 100%. */
body.secondary-screen-active .stats-goal-ring{
  --goal-angle: 0deg;
  background: conic-gradient(
    from -90deg,
    var(--ring-color) 0deg var(--goal-angle),
    rgba(54, 75, 101, .32) var(--goal-angle) 360deg
  ) !important;
}

body.secondary-screen-active .stats-goal-ring.daily{
  --ring-color: #e7c66f;
  box-shadow: 0 0 8px rgba(231, 198, 111, .20), 0 0 0 1px rgba(231, 198, 111, .20) !important;
}

/* Keep the four focus-summary stats visually separate without turning them into
   individual cards. The divider sits in the grid gap and fades at both ends. */
body.secondary-screen-active .stats-mock-summary-tile:not(:last-child)::before{
  content: "" !important;
  display: block !important;
  position: absolute !important;
  right: -3px !important;
  top: 13px !important;
  bottom: 11px !important;
  width: 1px !important;
  background: linear-gradient(
    to bottom,
    transparent,
    rgba(137, 156, 181, .22) 22%,
    rgba(137, 156, 181, .22) 78%,
    transparent
  ) !important;
  pointer-events: none !important;
}
body.secondary-screen-active .stats-mock-summary-tile:last-child::before{
  content: none !important;
  display: none !important;
}



/* ===== 2026-09-06 Focus CTA refinement v30 =====
   Smaller navy / electric-blue / gold CTA with lighter FOCUS lettering
   and a restrained breathing pulse that remains visible on touch devices. */
body.focus-screen-active .focus-mega-button,
body[data-reward-theme].focus-screen-active .focus-mega-button{
  position: relative !important;
  isolation: isolate;
  width: min(310px, 89%) !important;
  max-width: 310px !important;
  min-width: 0 !important;
  min-height: 58px !important;
  height: 58px !important;
  
  padding: 0 !important;
  overflow: visible !important;
  border: 2px solid transparent !important;
  border-radius: 999px !important;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(25, 128, 255, .42) 0%, rgba(9, 76, 168, .16) 42%, transparent 70%) padding-box,
    linear-gradient(180deg, #083d88 0%, #041f4d 48%, #010814 100%) padding-box,
    linear-gradient(180deg, #fff0b5 0%, #e1ad43 32%, #bd7e1f 72%, #ffe89a 100%) border-box !important;
  color: #fff7df !important;
  
  box-shadow:
    inset 0 0 0 2px rgba(10, 151, 255, .96),
    inset 0 0 0 4px rgba(1, 35, 80, .88),
    inset 0 0 17px rgba(0, 111, 255, .58),
    inset 0 -10px 19px rgba(0, 0, 0, .32),
    0 0 7px rgba(13, 132, 255, .68),
    0 0 0 1px rgba(255, 209, 102, .22),
    0 6px 13px rgba(0, 0, 0, .40) !important;
  text-shadow: none !important;
  transform-origin: 50% 50%;
  animation: lumenFocusButtonPulseV30 2.65s ease-in-out infinite;
  transition: transform .16s ease, filter .16s ease, box-shadow .16s ease !important;
  -webkit-tap-highlight-color: transparent;
}

/* Bright inner blue rail, inset from the warm gold outside rim. */
body.focus-screen-active .focus-mega-button::before,
body[data-reward-theme].focus-screen-active .focus-mega-button::before{
  content: "" !important;
  display: block !important;
  position: absolute !important;
  z-index: 0 !important;
  inset: 4px !important;
  border: 1px solid rgba(64, 181, 255, .95) !important;
  border-radius: 999px !important;
  background: transparent !important;
  box-shadow:
    0 0 5px rgba(32, 164, 255, .86),
    inset 0 0 7px rgba(0, 132, 255, .54) !important;
  opacity: .84;
  animation: lumenFocusRailPulseV30 2.65s ease-in-out infinite;
  pointer-events: none !important;
}

/* Soft glassy highlight through the upper half, as in the reference. */
body.focus-screen-active .focus-mega-button::after,
body[data-reward-theme].focus-screen-active .focus-mega-button::after{
  content: "" !important;
  display: block !important;
  position: absolute !important;
  z-index: 0 !important;
  left: 16px !important;
  right: 16px !important;
  top: 7px !important;
  height: 40% !important;
  border-radius: 999px 999px 50% 50% !important;
  background: linear-gradient(180deg, rgba(137, 207, 255, .17), rgba(63, 154, 255, .05) 58%, transparent) !important;
  pointer-events: none !important;
}

.focus-mega-button .focus-button-compass,
.focus-mega-button .focus-button-label,
.focus-mega-button .focus-button-chevron{
  position: absolute;
  z-index: 2;
  pointer-events: none;
}

/* Thin compass rose: gold ring + crosshairs + luminous central star. */
.focus-mega-button .focus-button-compass{
  left: 34px;
  top: 50%;
  width: 28px;
  height: 28px;
  transform: translateY(-50%);
  
  place-items: center;
  border: 1px solid rgba(235, 194, 95, .90);
  border-radius: 50%;
  box-shadow: 0 0 5px rgba(242, 194, 75, .22), inset 0 0 5px rgba(32, 129, 255, .14);
}
.focus-mega-button .focus-button-compass::before,
.focus-mega-button .focus-button-compass::after{
  content: "";
  position: absolute;
  z-index: -1;
  background: linear-gradient(90deg, transparent, rgba(224, 183, 79, .82), transparent);
  pointer-events: none;
}
.focus-mega-button .focus-button-compass::before{
  left: 50%;
  top: -5px;
  bottom: -5px;
  width: 1px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, transparent, rgba(224, 183, 79, .82) 18%, rgba(224, 183, 79, .82) 82%, transparent);
}
.focus-mega-button .focus-button-compass::after{
  top: 50%;
  left: -5px;
  right: -5px;
  height: 1px;
  transform: translateY(-50%);
}
.focus-mega-button .focus-button-star{
  
  color: #fff7dd;
  
  font-size: 21px;
  font-weight: 400;
  
  
  text-shadow:
    0 0 2px #fff8dc,
    0 0 5px rgba(255, 204, 75, .74),
    0 0 8px rgba(41, 144, 255, .34);
}

.focus-mega-button .focus-button-label{
  left: 50%;
  top: 50%;
  transform: translate(-50%, -52%);
  color: #fff8e7 !important;
  
  font-size: clamp(1.08rem, 4.7vw, 1.28rem) !important;
  font-weight: 400 !important;
  line-height: 1;
  letter-spacing: .045em;
  white-space: nowrap;
  text-shadow:
    0 1px 0 rgba(91, 61, 13, .76),
    0 2px 3px rgba(0, 0, 0, .68),
    0 0 5px rgba(255, 227, 157, .18);
}

.focus-mega-button .focus-button-chevron{
  right: 27px;
  top: 50%;
  transform: translateY(-55%);
  color: #fff6d8;
  
  font-size: 1.8rem;
  font-weight: 200;
  line-height: 1;
  text-shadow: 0 1px 3px rgba(0,0,0,.72), 0 0 5px rgba(255,224,144,.24);
}

@keyframes lumenFocusButtonPulseV30 {
  0%, 100% {
    transform: scale(1);
    filter: brightness(1) drop-shadow(0 0 0 rgba(25, 143, 255, 0));
  }
  50% {
    transform: scale(1.012);
    filter: brightness(1.045) drop-shadow(0 0 5px rgba(25, 143, 255, .42));
  }
}

@keyframes lumenFocusRailPulseV30 {
  0%, 100% { opacity: .78; }
  50% { opacity: 1; }
}

body.focus-screen-active .focus-mega-button:not(:disabled):hover,
body[data-reward-theme].focus-screen-active .focus-mega-button:not(:disabled):hover{
  box-shadow:
    inset 0 0 0 2px rgba(36, 169, 255, 1),
    inset 0 0 0 4px rgba(1, 35, 80, .88),
    inset 0 0 19px rgba(0, 122, 255, .68),
    inset 0 -10px 19px rgba(0, 0, 0, .30),
    0 0 9px rgba(26, 149, 255, .78),
    0 0 0 1px rgba(255, 219, 124, .30),
    0 7px 14px rgba(0, 0, 0, .40) !important;
}
body.focus-screen-active .focus-mega-button:not(:disabled):active,
body[data-reward-theme].focus-screen-active .focus-mega-button:not(:disabled):active{
  animation: none !important;
  transform: translateY(1px) scale(.992);
  filter: brightness(.97);
}
body.focus-screen-active .focus-mega-button:disabled,
body[data-reward-theme].focus-screen-active .focus-mega-button:disabled{
  animation: none !important;
  opacity: .48;
  filter: grayscale(.18) saturate(.72);
}
body.focus-screen-active .focus-mega-button:disabled::before,
body[data-reward-theme].focus-screen-active .focus-mega-button:disabled::before{
  animation: none !important;
}

@media (max-width: 350px) {
  body.focus-screen-active .focus-mega-button,
  body[data-reward-theme].focus-screen-active .focus-mega-button{
    width: min(282px, 92%) !important;
    min-height: 54px !important;
    height: 54px !important;
  }
  .focus-mega-button .focus-button-compass{ left: 28px; width: 25px; height: 25px; }
  .focus-mega-button .focus-button-star{ font-size: 19px; }
  .focus-mega-button .focus-button-chevron{ right: 22px; font-size: 1.65rem; }
  .focus-mega-button .focus-button-label{ font-size: 1.02rem !important; }
}

@media (max-height: 820px) {
  body.focus-screen-active .focus-mega-button,
  body[data-reward-theme].focus-screen-active .focus-mega-button{
    min-height: 54px !important;
    height: 54px !important;
  }
  .focus-mega-button .focus-button-compass{ width: 25px; height: 25px; }
  .focus-mega-button .focus-button-star{ font-size: 19px; }
  .focus-mega-button .focus-button-label{ font-size: 1.05rem !important; }
}

@media (prefers-reduced-motion: reduce) {
  body.focus-screen-active .focus-mega-button,
  body[data-reward-theme].focus-screen-active .focus-mega-button,
  body.focus-screen-active .focus-mega-button::before,
  body[data-reward-theme].focus-screen-active .focus-mega-button::before{
    animation: none !important;
  }
}

/* ===== 2026-09-06 Focus setup selectors v31 =====
   Match the navy / antique-gold reference controls: an outlined subject pill,
   four individual selector capsules, and a soft gold halo on the active choice. */
body.focus-screen-active .focus-subject-row,
body[data-reward-theme].focus-screen-active .focus-subject-row{
  position: relative !important;
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  color: #e8bf62 !important;
  cursor: pointer;
}

body.focus-screen-active .focus-subject-row::before,
body.focus-screen-active .focus-subject-row::after,
body[data-reward-theme].focus-screen-active .focus-subject-row::before,
body[data-reward-theme].focus-screen-active .focus-subject-row::after{
  content: none !important;
  display: none !important;
}

body.focus-screen-active .focus-subject-row select,
body[data-reward-theme].focus-screen-active .focus-subject-row select{
  width: 100% !important;
  min-width: 0 !important;
  height: 46px !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background: transparent !important;
  color: #f0d394 !important;
  
  font-size: .94rem !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: .075em !important;
  text-align: center !important;
  text-align-last: center !important;
  text-transform: uppercase !important;
  cursor: pointer;
  box-shadow: none !important;
}

body.focus-screen-active .focus-subject-row select:focus-visible,
body[data-reward-theme].focus-screen-active .focus-subject-row select:focus-visible{
  outline: 0 !important;
}

body.focus-screen-active .focus-subject-row:focus-within,
body[data-reward-theme].focus-screen-active .focus-subject-row:focus-within{
  border-color: rgba(239, 190, 92, .96) !important;
  box-shadow:
    inset 0 0 11px rgba(231, 181, 76, .07),
    0 0 0 1px rgba(239, 190, 92, .12),
    0 0 12px rgba(236, 185, 77, .13) !important;
}

body.focus-screen-active .focus-subject-row select option,
body[data-reward-theme].focus-screen-active .focus-subject-row select option{
  background: #07121f !important;
  color: #ecd09a !important;
}

.focus-subject-icon,
.focus-subject-chevron{
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  color: #edc76e;
  pointer-events: none;
}
.focus-subject-icon{ width: 25px; height: 25px; }
.focus-subject-chevron{ width: 24px; height: 24px; justify-self: end; }
.focus-subject-chevron svg{ width: 21px; height: 21px; stroke-width: 2.4 !important; }

.focus-selector-icon{
  flex: 0 0 auto;
  width: 19px;
  height: 19px;
  display: inline-grid;
  place-items: center;
  color: #e4b654;
  filter: drop-shadow(0 0 2px rgba(222, 174, 71, .16));
}
.focus-selector-icon svg,
.focus-subject-chevron svg{
  display: block;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}





body.focus-screen-active .focus-timer-choice-row,
body[data-reward-theme].focus-screen-active .focus-timer-choice-row{
  
  
  margin: 0 !important;
  padding: 0 !important;
}

.focus-selector-divider{
  width: 1px;
  height: 34px;
  align-self: center;
  background: linear-gradient(180deg, transparent, rgba(196, 142, 65, .55) 20%, rgba(196, 142, 65, .55) 80%, transparent);
  box-shadow: 1px 0 0 rgba(255, 220, 146, .05);
}

body.focus-screen-active .focus-mode-option,
body[data-reward-theme].focus-screen-active .focus-mode-option,
body.focus-screen-active .focus-timer-option,
body[data-reward-theme].focus-screen-active .focus-timer-option{
  
  isolation: isolate;
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  -webkit-tap-highlight-color: transparent;
}



/* Selected controls stay navy rather than becoming solid gold. The brighter rim,
   inner warmth, and broad low-opacity halo create the reference's lit state. */
body.focus-screen-active .focus-mode-option.active,
body.focus-screen-active .focus-mode-option.strict-active,
body.focus-screen-active .focus-timer-option.active,
body[data-reward-theme].focus-screen-active .focus-mode-option.active,
body[data-reward-theme].focus-screen-active .focus-mode-option.strict-active,
body[data-reward-theme].focus-screen-active .focus-timer-option.active{
  border-color: rgba(248, 210, 112, .98) !important;
  
  
  
  
}



@media (hover: hover) and (pointer: fine) {
  body.focus-screen-active .focus-mode-option:not(.active):hover,
  body.focus-screen-active .focus-timer-option:not(.active):hover,
  body[data-reward-theme].focus-screen-active .focus-mode-option:not(.active):hover,
  body[data-reward-theme].focus-screen-active .focus-timer-option:not(.active):hover{
    border-color: rgba(222, 169, 79, .90) !important;
    
    
  }
}

body.focus-screen-active .focus-mode-option:active,
body.focus-screen-active .focus-timer-option:active,
body[data-reward-theme].focus-screen-active .focus-mode-option:active,
body[data-reward-theme].focus-screen-active .focus-timer-option:active{
  transform: translateY(1px) scale(.985) !important;
}

@media (max-width: 390px) {
  body.focus-screen-active .focus-subject-row,
  body[data-reward-theme].focus-screen-active .focus-subject-row{
    width: min(342px, 91%) !important;
    
    
    
    
    
  }
  body.focus-screen-active .focus-subject-row select,
  body[data-reward-theme].focus-screen-active .focus-subject-row select{
    height: 42px !important;
    font-size: .82rem !important;
  }
  .focus-subject-icon{ width: 22px; height: 22px; }
  .focus-subject-chevron{ width: 21px; height: 21px; }
  
  body.focus-screen-active .focus-mode-switch,
  body[data-reward-theme].focus-screen-active .focus-mode-switch,
  body.focus-screen-active .focus-timer-switch,
  body[data-reward-theme].focus-screen-active .focus-timer-switch{
    gap: 4px !important;
  }
  body.focus-screen-active .focus-mode-option,
  body[data-reward-theme].focus-screen-active .focus-mode-option,
  body.focus-screen-active .focus-timer-option,
  body[data-reward-theme].focus-screen-active .focus-timer-option{
    
    
    padding-inline: 4px !important;
    
    
    
  }
  .focus-selector-icon{ width: 16px; height: 16px; }
  .focus-selector-divider{ height: 30px; }
}

@media (max-width: 340px) {
  body.focus-screen-active .focus-mode-option,
  body[data-reward-theme].focus-screen-active .focus-mode-option,
  body.focus-screen-active .focus-timer-option,
  body[data-reward-theme].focus-screen-active .focus-timer-option{
    height: 38px !important;
    min-height: 38px !important;
    font-size: .47rem !important;
    gap: 2px !important;
  }
  .focus-selector-icon{ width: 14px; height: 14px; }
}

@media (max-height: 760px) {
  body.focus-screen-active .focus-subject-row,
  body[data-reward-theme].focus-screen-active .focus-subject-row{
    height: 43px !important;
    min-height: 43px !important;
  }
  body.focus-screen-active .focus-subject-row select,
  body[data-reward-theme].focus-screen-active .focus-subject-row select{ height: 39px !important; }
  body.focus-screen-active .focus-mode-option,
  body[data-reward-theme].focus-screen-active .focus-mode-option,
  body.focus-screen-active .focus-timer-option,
  body[data-reward-theme].focus-screen-active .focus-timer-option{
    height: 37px !important;
    min-height: 37px !important;
  }
  .focus-selector-divider{ height: 27px; }
}

/* ===== v32 focus selector layout repair =====
   Explicit grid placement neutralises older order/display rules that were squeezing
   the mode controls into the divider column and hiding the subject icon/chevron. */
body.focus-screen-active .focus-subject-row,
body[data-reward-theme].focus-screen-active .focus-subject-row{
  
  
  
  
  
  display: grid !important;
  
  align-items: center !important;
  justify-content: stretch !important;
  
  
  overflow: visible !important;
}

/* Older focus cleanup hid every direct span in this label. Restore the book and chevron
   and pin all three children to their intended grid columns so the select can never collapse. */
body.focus-screen-active .focus-subject-row > .focus-subject-icon,
body[data-reward-theme].focus-screen-active .focus-subject-row > .focus-subject-icon{
  display: grid !important;
  grid-column: 1 !important;
  
  
  justify-self: start !important;
}
body.focus-screen-active .focus-subject-row > .focus-subject-chevron,
body[data-reward-theme].focus-screen-active .focus-subject-row > .focus-subject-chevron{
  display: grid !important;
  grid-column: 3 !important;
  
  
  justify-self: end !important;
}
body.focus-screen-active .focus-subject-row > select,
body[data-reward-theme].focus-screen-active .focus-subject-row > select{
  display: block !important;
  grid-column: 2 !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  
  margin: 0 !important;
  
  
  -webkit-text-fill-color: #f0d394 !important;
  opacity: 1 !important;
  text-indent: 0 !important;
  text-align: center !important;
  text-align-last: center !important;
  white-space: nowrap !important;
  overflow: visible !important;
  
  
}

body.focus-screen-active .focus-selector-row,
body[data-reward-theme].focus-screen-active .focus-selector-row{
  
  
  
  
  
  
  grid-auto-flow: row !important;
  
  
}




body.focus-screen-active .focus-mode-switch,
body[data-reward-theme].focus-screen-active .focus-mode-switch{
  order: 0 !important;
  
  
}
body.focus-screen-active .focus-timer-choice-row,
body[data-reward-theme].focus-screen-active .focus-timer-choice-row{
  order: 0 !important;
  
  
  
  
}
body.focus-screen-active .focus-selector-divider,
body[data-reward-theme].focus-screen-active .focus-selector-divider{
  order: 0 !important;
  
}

body.focus-screen-active .focus-mode-switch,
body[data-reward-theme].focus-screen-active .focus-mode-switch,
body.focus-screen-active .focus-timer-switch,
body[data-reward-theme].focus-screen-active .focus-timer-switch{
  
  max-width: none !important;
  
  
  
}




/* A calmer selected halo: bright enough to read as selected, but contained so it does
   not visually merge adjacent capsules. */


/* Laptop/tablet: match the reference with mode and timer groups in one clean row. */
@media (min-width: 700px) {
  body.focus-screen-active .focus-subject-row,
  body[data-reward-theme].focus-screen-active .focus-subject-row{
    
    
    
    
    
    padding-inline: 20px !important;
  }
  
  body.focus-screen-active .focus-subject-row > .focus-subject-icon,
  body[data-reward-theme].focus-screen-active .focus-subject-row > .focus-subject-icon{
    width: 28px !important;
    height: 28px !important;
  }
  body.focus-screen-active .focus-subject-row > .focus-subject-chevron,
  body[data-reward-theme].focus-screen-active .focus-subject-row > .focus-subject-chevron{
    width: 26px !important;
    height: 26px !important;
  }
  body.focus-screen-active .focus-selector-row,
  body[data-reward-theme].focus-screen-active .focus-selector-row{
    
    
    
    align-items: center !important;
    
  }
  body.focus-screen-active .focus-mode-switch,
  body[data-reward-theme].focus-screen-active .focus-mode-switch{
    grid-column: 1 !important;
    grid-row: 1 !important;
  }
  body.focus-screen-active .focus-selector-divider,
  body[data-reward-theme].focus-screen-active .focus-selector-divider{
    display: block !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 1px !important;
    height: 40px !important;
  }
  body.focus-screen-active .focus-timer-choice-row,
  body[data-reward-theme].focus-screen-active .focus-timer-choice-row{
    grid-column: 3 !important;
    grid-row: 1 !important;
  }
  body.focus-screen-active .focus-mode-option,
  body[data-reward-theme].focus-screen-active .focus-mode-option,
  body.focus-screen-active .focus-timer-option,
  body[data-reward-theme].focus-screen-active .focus-timer-option{
    
    
    padding-inline: 13px !important;
    gap: 8px !important;
    
  }
  
}

@media (max-width: 390px) {
  body.focus-screen-active .focus-subject-row,
  body[data-reward-theme].focus-screen-active .focus-subject-row,
  body.focus-screen-active .focus-selector-row,
  body[data-reward-theme].focus-screen-active .focus-selector-row{
    width: min(350px, 92%) !important;
    max-width: 350px !important;
  }
  body.focus-screen-active .focus-subject-row,
  body[data-reward-theme].focus-screen-active .focus-subject-row{
    height: 46px !important;
    min-height: 46px !important;
    grid-template-columns: 25px minmax(0, 1fr) 25px !important;
    padding-inline: 13px !important;
    gap: 7px !important;
  }
  body.focus-screen-active .focus-subject-row > select,
  body[data-reward-theme].focus-screen-active .focus-subject-row > select{
    height: 42px !important;
    font-size: .83rem !important;
    letter-spacing: .055em !important;
  }
  body.focus-screen-active .focus-mode-option,
  body[data-reward-theme].focus-screen-active .focus-mode-option,
  body.focus-screen-active .focus-timer-option,
  body[data-reward-theme].focus-screen-active .focus-timer-option{
    
    
    padding-inline: 7px !important;
    
    
    
  }
  
}

@media (max-height: 760px) and (max-width: 699px) {
  body.focus-screen-active .focus-subject-row,
  body[data-reward-theme].focus-screen-active .focus-subject-row{
    height: 44px !important;
    min-height: 44px !important;
  }
  body.focus-screen-active .focus-subject-row > select,
  body[data-reward-theme].focus-screen-active .focus-subject-row > select{
    height: 40px !important;
  }
  body.focus-screen-active .focus-selector-row,
  body[data-reward-theme].focus-screen-active .focus-selector-row{
    gap: 6px !important;
    margin-top: 2px !important;
  }
  body.focus-screen-active .focus-mode-option,
  body[data-reward-theme].focus-screen-active .focus-mode-option,
  body.focus-screen-active .focus-timer-option,
  body[data-reward-theme].focus-screen-active .focus-timer-option{
    height: 39px !important;
    min-height: 39px !important;
  }
}

/* ===== v33 compact focus-control hierarchy =====
   Time stays first. Subject is slimmer. Mode and timer direction are paired
   segmented controls instead of four independent pills. */
body.focus-screen-active .focus-duration-block,
body[data-reward-theme].focus-screen-active .focus-duration-block{
  order: 1 !important;
  
  
}
body.focus-screen-active .focus-subject-row,
body[data-reward-theme].focus-screen-active .focus-subject-row{
  
  
  
  
  
  
  
  gap: 7px !important;
  
  border-radius: 999px !important;
}
body.focus-screen-active .focus-subject-row > .focus-subject-icon,
body[data-reward-theme].focus-screen-active .focus-subject-row > .focus-subject-icon{
  width: 19px !important;
  height: 19px !important;
}
body.focus-screen-active .focus-subject-row > .focus-subject-chevron,
body[data-reward-theme].focus-screen-active .focus-subject-row > .focus-subject-chevron{
  width: 18px !important;
  height: 18px !important;
}
body.focus-screen-active .focus-subject-row > select,
body[data-reward-theme].focus-screen-active .focus-subject-row > select{
  
  
  
  
  
  
  line-height: 1 !important;
}


body.focus-screen-active .focus-mode-switch,
body[data-reward-theme].focus-screen-active .focus-mode-switch,
body.focus-screen-active .focus-timer-choice-row,
body[data-reward-theme].focus-screen-active .focus-timer-choice-row{
  order: 0 !important;
  grid-row: 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.focus-screen-active .focus-timer-choice-row,
body[data-reward-theme].focus-screen-active .focus-timer-choice-row{
  
  display: block !important;
}
body.focus-screen-active .focus-selector-divider,
body[data-reward-theme].focus-screen-active .focus-selector-divider{
  display: none !important;
}

body.focus-screen-active .focus-mode-switch,
body[data-reward-theme].focus-screen-active .focus-mode-switch,
body.focus-screen-active .focus-timer-switch,
body[data-reward-theme].focus-screen-active .focus-timer-switch{
  position: relative !important;
  
  
  
  display: grid !important;
  
  gap: 0 !important;
  overflow: visible !important;
  
  border-radius: 999px !important;
  
  
}

body.focus-screen-active .focus-mode-option,
body[data-reward-theme].focus-screen-active .focus-mode-option,
body.focus-screen-active .focus-timer-option,
body[data-reward-theme].focus-screen-active .focus-timer-option{
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  
  
  margin: 0 !important;
  
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  
  
  
  font-weight: 500 !important;
  line-height: 1 !important;
  
  white-space: nowrap !important;
  box-shadow: none !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.62) !important;
  transition: background .18s ease, color .18s ease, box-shadow .18s ease, filter .18s ease !important;
}
body.focus-screen-active .focus-mode-option:first-child,
body[data-reward-theme].focus-screen-active .focus-mode-option:first-child,
body.focus-screen-active .focus-timer-option:first-child,
body[data-reward-theme].focus-screen-active .focus-timer-option:first-child{
  border-radius: 999px 0 0 999px !important;
}
body.focus-screen-active .focus-mode-option:last-child,
body[data-reward-theme].focus-screen-active .focus-mode-option:last-child,
body.focus-screen-active .focus-timer-option:last-child,
body[data-reward-theme].focus-screen-active .focus-timer-option:last-child{
  border-radius: 0 999px 999px 0 !important;
  
}
body.focus-screen-active .focus-mode-option::before,
body.focus-screen-active .focus-mode-option::after,
body.focus-screen-active .focus-timer-option::before,
body.focus-screen-active .focus-timer-option::after,
body[data-reward-theme].focus-screen-active .focus-mode-option::before,
body[data-reward-theme].focus-screen-active .focus-mode-option::after,
body[data-reward-theme].focus-screen-active .focus-timer-option::before,
body[data-reward-theme].focus-screen-active .focus-timer-option::after{
  content: none !important;
  display: none !important;
}
body.focus-screen-active .focus-selector-icon,
body[data-reward-theme].focus-screen-active .focus-selector-icon{
  
  
  
  color: #d9ad55 !important;
}

/* The selected half is illuminated, while the enclosing two-way control stays one pill. */
body.focus-screen-active .focus-mode-option.active,
body.focus-screen-active .focus-mode-option.strict-active,
body.focus-screen-active .focus-timer-option.active,
body[data-reward-theme].focus-screen-active .focus-mode-option.active,
body[data-reward-theme].focus-screen-active .focus-mode-option.strict-active,
body[data-reward-theme].focus-screen-active .focus-timer-option.active{
  z-index: 2 !important;
  
  
  
  
  
}



@media (hover: hover) and (pointer: fine) {
  body.focus-screen-active .focus-mode-option:not(.active):hover,
  body.focus-screen-active .focus-timer-option:not(.active):hover,
  body[data-reward-theme].focus-screen-active .focus-mode-option:not(.active):hover,
  body[data-reward-theme].focus-screen-active .focus-timer-option:not(.active):hover{
    color: #ead39f !important;
    background: rgba(216, 160, 65, .045) !important;
    box-shadow: inset 0 0 8px rgba(219,166,67,.05) !important;
  }
}

@media (max-width: 380px) {
  body.focus-screen-active .focus-subject-row,
  body[data-reward-theme].focus-screen-active .focus-subject-row{
    width: min(326px, 86%) !important;
    height: 38px !important;
    min-height: 38px !important;
    grid-template-columns: 20px minmax(0, 1fr) 20px !important;
    padding-inline: 11px !important;
  }
  body.focus-screen-active .focus-subject-row > select,
  body[data-reward-theme].focus-screen-active .focus-subject-row > select{
    height: 34px !important;
    min-height: 34px !important;
    font-size: .72rem !important;
    letter-spacing: .045em !important;
  }
  body.focus-screen-active .focus-selector-row,
  body[data-reward-theme].focus-screen-active .focus-selector-row{
    width: min(348px, 96%) !important;
    grid-template-columns: minmax(0, .90fr) minmax(0, 1.16fr) !important;
    gap: 6px !important;
  }
  body.focus-screen-active .focus-mode-option,
  body[data-reward-theme].focus-screen-active .focus-mode-option,
  body.focus-screen-active .focus-timer-option,
  body[data-reward-theme].focus-screen-active .focus-timer-option{
    padding-inline: 4px !important;
    gap: 3px !important;
    font-size: .50rem !important;
    letter-spacing: .005em !important;
  }
  body.focus-screen-active .focus-selector-icon,
  body[data-reward-theme].focus-screen-active .focus-selector-icon{
    width: 13px !important;
    height: 13px !important;
    min-width: 13px !important;
  }
}

@media (min-width: 700px) {
  body.focus-screen-active .focus-subject-row,
  body[data-reward-theme].focus-screen-active .focus-subject-row{
    
    
    
    
    grid-template-columns: 23px minmax(0,1fr) 23px !important;
    padding-inline: 15px !important;
  }
  
  body.focus-screen-active .focus-selector-row,
  body[data-reward-theme].focus-screen-active .focus-selector-row{
    
    
    grid-template-columns: minmax(0, .90fr) minmax(0, 1.10fr) !important;
    
    
  }
  
  
  body.focus-screen-active .focus-selector-icon,
  body[data-reward-theme].focus-screen-active .focus-selector-icon{
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
  }
}


/* ===== v34 softer focus controls + compact boosts =====
   Reduce the boxed feel: shells are quiet navy glass; selection is communicated
   by a warm luminous fill rather than a gold outline. Timer chrome is simplified. */


body.focus-screen-active .focus-time-label,
body[data-reward-theme].focus-screen-active .focus-time-label,
body.focus-screen-active .focus-range-row > span,
body[data-reward-theme].focus-screen-active .focus-range-row > span{
  display: none !important;
}

body.focus-screen-active .focus-range-row,
body[data-reward-theme].focus-screen-active .focus-range-row{
  width: 100% !important;
  display: block !important;
  
  padding: 0 3px !important;
}
body.focus-screen-active .focus-duration-range,
body[data-reward-theme].focus-screen-active .focus-duration-range{
  width: 100% !important;
  
}

/* Subject stays pill-shaped, but its edge is a muted bronze rather than a bright box. */
body.focus-screen-active .focus-subject-row,
body[data-reward-theme].focus-screen-active .focus-subject-row{
  border-color: rgba(190, 141, 62, .36) !important;
  
  
}

/* Two quiet segmented rails. No bright gold perimeter. */
body.focus-screen-active .focus-mode-switch,
body[data-reward-theme].focus-screen-active .focus-mode-switch,
body.focus-screen-active .focus-timer-switch,
body[data-reward-theme].focus-screen-active .focus-timer-switch{
  border: 1px solid rgba(158, 171, 187, .16) !important;
  
  
}
body.focus-screen-active .focus-mode-option:last-child,
body[data-reward-theme].focus-screen-active .focus-mode-option:last-child,
body.focus-screen-active .focus-timer-option:last-child,
body[data-reward-theme].focus-screen-active .focus-timer-option:last-child{
  border-left: 1px solid rgba(195, 164, 102, .16) !important;
}

/* Selected = soft illuminated field, not another outlined capsule. */



/* Give COUNT DOWN a little more room than COUNT UP and clip no copy. */

body.focus-screen-active .focus-timer-switch,
body[data-reward-theme].focus-screen-active .focus-timer-switch{
  grid-template-columns: minmax(0, 1.16fr) minmax(0, .84fr) !important;
}
body.focus-screen-active .focus-timer-option,
body[data-reward-theme].focus-screen-active .focus-timer-option{
  
  gap: 3px !important;
  overflow: hidden !important;
  text-overflow: clip !important;
}
body.focus-screen-active .focus-timer-option > span:last-child,
body[data-reward-theme].focus-screen-active .focus-timer-option > span:last-child{
  min-width: 0 !important;
  white-space: nowrap !important;
}

/* Boost disclosure: the clickable heading itself is the pill; expansion hangs below it. */
.focus-quote-overlay .focus-boosts-strip,
body[data-reward-theme] .focus-quote-overlay .focus-boosts-strip{
  
  margin-top: 7px !important;
}
.focus-boosts-dropdown,
body[data-reward-theme] .focus-boosts-dropdown{
  
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.focus-boosts-heading,
body[data-reward-theme] .focus-boosts-heading{
  
  
  
  
  border: 1px solid rgba(204, 159, 77, .28) !important;
  border-radius: 999px !important;
  
  
}


.focus-boosts-heading .focus-loadout-title-copy strong,
body[data-reward-theme] .focus-boosts-heading .focus-loadout-title-copy strong{
  
  font-weight:600 !important;  
  
}
.focus-boosts-expanded,
body[data-reward-theme] .focus-boosts-expanded{
  margin-top: 6px !important;
  
  border: 1px solid rgba(204, 159, 77, .18) !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, rgba(7,17,31,.90), rgba(4,11,22,.94)) !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.25) !important;
}

/* Optical centering for the compass star. */
.focus-mega-button .focus-button-compass{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.focus-mega-button .focus-button-star{
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  display: block !important;
  width: 1em !important;
  height: 1em !important;
  margin: 0 !important;
  line-height: 1em !important;
  text-align: center !important;
  transform: translate(-50%, -50%) !important;
  transform-origin: 50% 50% !important;
}

@media (max-width: 390px) {
  body.focus-screen-active .focus-selector-row,
  body[data-reward-theme].focus-screen-active .focus-selector-row{
    
    grid-template-columns: minmax(0, .88fr) minmax(0, 1.20fr) !important;
    
  }
  body.focus-screen-active .focus-timer-switch,
  body[data-reward-theme].focus-screen-active .focus-timer-switch{
    grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr) !important;
  }
  body.focus-screen-active .focus-timer-option,
  body[data-reward-theme].focus-screen-active .focus-timer-option{
    font-size: .48rem !important;
    letter-spacing: 0 !important;
  }
  body.focus-screen-active .focus-timer-option .focus-selector-icon,
  body[data-reward-theme].focus-screen-active .focus-timer-option .focus-selector-icon{
    width: 12px !important;
    height: 12px !important;
    min-width: 12px !important;
  }
}


/* ===== v35 focus-control spacing + active-boost pill refinement =====
   Shorter active-boost disclosure, vertically stacked wide segmented controls,
   and quieter, more bookish timer typography with lining/tabular numerals. */
.focus-quote-overlay .focus-boosts-strip,
body[data-reward-theme] .focus-quote-overlay .focus-boosts-strip{
  width: min(88%, 340px) !important;
  max-width: 340px !important;
  margin: 7px auto 0 !important;
}
.focus-boosts-heading,
body[data-reward-theme] .focus-boosts-heading{
  
  
  
  margin-left: auto !important;
  margin-right: auto !important;
  
  
  
  border-color: rgba(211, 166, 82, .30) !important;
  background: linear-gradient(180deg, rgba(7, 21, 36, .91), rgba(3, 12, 23, .95)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.035),
    inset 0 0 13px rgba(213, 164, 75, .035),
    0 2px 8px rgba(0,0,0,.20) !important;
}
.focus-boosts-heading .focus-loadout-mini-art,
body[data-reward-theme] .focus-boosts-heading .focus-loadout-mini-art{
  
  
  display: grid !important;
  place-items: center !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.focus-boosts-heading .focus-loadout-mini-art img,
body[data-reward-theme] .focus-boosts-heading .focus-loadout-mini-art img{
  
  
  object-fit: contain !important;
  filter: drop-shadow(0 0 4px rgba(229, 179, 76, .20)) !important;
}
.focus-boosts-heading .focus-loadout-title-copy,
body[data-reward-theme] .focus-boosts-heading .focus-loadout-title-copy{
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}
.focus-boosts-heading .focus-loadout-title-copy strong,
body[data-reward-theme] .focus-boosts-heading .focus-loadout-title-copy strong{
  width: 100% !important;
  color: #ead29a !important;
  
  letter-spacing: .065em !important;
  text-align: center !important;
  white-space: nowrap !important;
}
.focus-boosts-heading .focus-loadout-toggle,
body[data-reward-theme] .focus-boosts-heading .focus-loadout-toggle{
  
  text-align: right !important;
}

/* Stack the two two-way controls. Each option gets a much larger tap target. */
body.focus-screen-active .focus-selector-row,
body[data-reward-theme].focus-screen-active .focus-selector-row{
  
  
  height: auto !important;
  min-height: 0 !important;
  
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  
  
  align-items: stretch !important;
}
body.focus-screen-active .focus-mode-switch,
body[data-reward-theme].focus-screen-active .focus-mode-switch{
  grid-column: 1 !important;
  grid-row: 1 !important;
}
body.focus-screen-active .focus-timer-choice-row,
body[data-reward-theme].focus-screen-active .focus-timer-choice-row{
  grid-column: 1 !important;
  grid-row: 2 !important;
  width: 100% !important;
  max-width: none !important;
}

body.focus-screen-active .focus-mode-option,
body[data-reward-theme].focus-screen-active .focus-mode-option,
body.focus-screen-active .focus-timer-option,
body[data-reward-theme].focus-screen-active .focus-timer-option{
  
  
  padding: 0 10px !important;
  
  
  
  overflow: visible !important;
}
body.focus-screen-active .focus-timer-option,
body[data-reward-theme].focus-screen-active .focus-timer-option{
  padding-inline: 9px !important;
}
body.focus-screen-active .focus-selector-icon,
body[data-reward-theme].focus-screen-active .focus-selector-icon{
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
}

/* Timer readout: smaller and more scholarly. Lining/tabular figures keep digits
   on the baseline and visually stable while dragging the range control. */
body.focus-screen-active .focus-time-value,
body[data-reward-theme].focus-screen-active .focus-time-value{
  
  color: #efd494 !important;
  
  
  font-weight: 500 !important;
  line-height: 1 !important;
  
  font-variant-numeric: lining-nums tabular-nums !important;
  font-feature-settings: "lnum" 1, "tnum" 1 !important;
  text-shadow: 0 1px 4px rgba(0,0,0,.58) !important;
}
body.focus-screen-active .focus-duration-block,
body[data-reward-theme].focus-screen-active .focus-duration-block{
  
  margin-bottom: 3px !important;
}

@media (max-width: 390px) {
  .focus-quote-overlay .focus-boosts-strip,
  body[data-reward-theme] .focus-quote-overlay .focus-boosts-strip{
    width: min(88%, 330px) !important;
    max-width: 330px !important;
  }
  .focus-boosts-heading,
  body[data-reward-theme] .focus-boosts-heading{
    width: min(194px, 60%) !important;
    max-width: 194px !important;
  }
  body.focus-screen-active .focus-selector-row,
  body[data-reward-theme].focus-screen-active .focus-selector-row{
    width: min(340px, 88%) !important;
    grid-template-rows: 41px 41px !important;
    gap: 6px !important;
  }
  body.focus-screen-active .focus-mode-switch,
  body[data-reward-theme].focus-screen-active .focus-mode-switch,
  body.focus-screen-active .focus-timer-switch,
  body[data-reward-theme].focus-screen-active .focus-timer-switch{
    height: 41px !important;
    min-height: 41px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.focus-screen-active .focus-mode-option,
  body[data-reward-theme].focus-screen-active .focus-mode-option,
  body.focus-screen-active .focus-timer-option,
  body[data-reward-theme].focus-screen-active .focus-timer-option{
    height: 39px !important;
    min-height: 39px !important;
    padding-inline: 8px !important;
    gap: 5px !important;
    font-size: .53rem !important;
    letter-spacing: .01em !important;
  }
  body.focus-screen-active .focus-selector-icon,
  body[data-reward-theme].focus-screen-active .focus-selector-icon{
    width: 15px !important;
    height: 15px !important;
    min-width: 15px !important;
  }
  body.focus-screen-active .focus-time-value,
  body[data-reward-theme].focus-screen-active .focus-time-value{
    font-size: clamp(1.08rem, 5.6vw, 1.34rem) !important;
  }
}

@media (min-width: 700px) {
  .focus-quote-overlay .focus-boosts-strip,
  body[data-reward-theme] .focus-quote-overlay .focus-boosts-strip{
    width: min(88%, 360px) !important;
    max-width: 360px !important;
  }
  .focus-boosts-heading,
  body[data-reward-theme] .focus-boosts-heading{
    width: 218px !important;
    max-width: 218px !important;
  }
  body.focus-screen-active .focus-selector-row,
  body[data-reward-theme].focus-screen-active .focus-selector-row{
    width: min(390px, 56%) !important;
    max-width: 390px !important;
    
    
  }
  body.focus-screen-active .focus-mode-switch,
  body[data-reward-theme].focus-screen-active .focus-mode-switch,
  body.focus-screen-active .focus-timer-switch,
  body[data-reward-theme].focus-screen-active .focus-timer-switch{
    
    
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.focus-screen-active .focus-mode-option,
  body[data-reward-theme].focus-screen-active .focus-mode-option,
  body.focus-screen-active .focus-timer-option,
  body[data-reward-theme].focus-screen-active .focus-timer-option{
    
    
    font-size: .61rem !important;
  }
}


/* ===== v36 focus landing + tighter control stack =====
   Focus is the landing screen (handled in state.js). Keep the timer immediately
   above the mode selector and size both segmented rails to the FOCUS CTA width. */


body.focus-screen-active .focus-duration-block,
body[data-reward-theme].focus-screen-active .focus-duration-block{
  width: min(310px, 89%) !important;
  max-width: 310px !important;
  margin: 0 auto 1px !important;
}
body.focus-screen-active .focus-countdown-controls,
body[data-reward-theme].focus-screen-active .focus-countdown-controls{
  gap: 2px !important;
}
body.focus-screen-active .focus-time-value,
body[data-reward-theme].focus-screen-active .focus-time-value{
  margin: 0 auto !important;
}
body.focus-screen-active .focus-range-row,
body[data-reward-theme].focus-screen-active .focus-range-row{
  margin: 0 !important;
}

/* Exact visual width match with the 310px FOCUS button. */

body.focus-screen-active .focus-mode-switch,
body[data-reward-theme].focus-screen-active .focus-mode-switch,
body.focus-screen-active .focus-timer-switch,
body[data-reward-theme].focus-screen-active .focus-timer-switch{
  width: 100% !important;
  
  
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
body.focus-screen-active .focus-mode-option,
body[data-reward-theme].focus-screen-active .focus-mode-option,
body.focus-screen-active .focus-timer-option,
body[data-reward-theme].focus-screen-active .focus-timer-option{
  
  
  padding-inline: 8px !important;
  
}

@media (max-width: 350px) {
  
  body.focus-screen-active .focus-selector-row,
  body[data-reward-theme].focus-screen-active .focus-selector-row{
    grid-template-rows: 36px 36px !important;
    gap: 4px !important;
  }
  body.focus-screen-active .focus-mode-switch,
  body[data-reward-theme].focus-screen-active .focus-mode-switch,
  body.focus-screen-active .focus-timer-switch,
  body[data-reward-theme].focus-screen-active .focus-timer-switch{
    height: 36px !important;
    min-height: 36px !important;
  }
  body.focus-screen-active .focus-mode-option,
  body[data-reward-theme].focus-screen-active .focus-mode-option,
  body.focus-screen-active .focus-timer-option,
  body[data-reward-theme].focus-screen-active .focus-timer-option{
    height: 34px !important;
    min-height: 34px !important;
  }
}

@media (min-width: 700px) {
  body.focus-screen-active .focus-duration-block,
  body[data-reward-theme].focus-screen-active .focus-duration-block,
  body.focus-screen-active .focus-selector-row,
  body[data-reward-theme].focus-screen-active .focus-selector-row{
    width: 310px !important;
    max-width: 310px !important;
  }
  body.focus-screen-active .focus-selector-row,
  body[data-reward-theme].focus-screen-active .focus-selector-row{
    grid-template-rows: 39px 39px !important;
    gap: 5px !important;
  }
  body.focus-screen-active .focus-mode-switch,
  body[data-reward-theme].focus-screen-active .focus-mode-switch,
  body.focus-screen-active .focus-timer-switch,
  body[data-reward-theme].focus-screen-active .focus-timer-switch{
    height: 39px !important;
    min-height: 39px !important;
  }
  body.focus-screen-active .focus-mode-option,
  body[data-reward-theme].focus-screen-active .focus-mode-option,
  body.focus-screen-active .focus-timer-option,
  body[data-reward-theme].focus-screen-active .focus-timer-option{
    height: 37px !important;
    min-height: 37px !important;
  }
}


/* ===== v37 reward-card interaction + iPhone Focus pulse =====
   Reward descriptions open from the whole non-action surface of each card.
   The Focus pulse uses transform + box-shadow rather than filter so WebKit/iOS
   keeps the breathing effect visible. Lumen's in-app Reduce Motion toggle still
   remains authoritative via body.reduce-motion. */
body.secondary-screen-active .rewards-mock-row[data-reward-card-detail],
.iphone-rewards-page .rewards-mock-row[data-reward-card-detail]{
  cursor: pointer !important;
  -webkit-tap-highlight-color: transparent;
}
body.secondary-screen-active .rewards-mock-row[data-reward-card-detail]:active,
.iphone-rewards-page .rewards-mock-row[data-reward-card-detail]:active{
  transform: translateY(1px) !important;
}

@-webkit-keyframes lumenFocusButtonPulseV37 {
  0%, 100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    box-shadow:
      inset 0 0 0 2px rgba(10, 151, 255, .96),
      inset 0 0 0 4px rgba(1, 35, 80, .88),
      inset 0 0 17px rgba(0, 111, 255, .58),
      inset 0 -10px 19px rgba(0, 0, 0, .32),
      0 0 7px rgba(13, 132, 255, .62),
      0 0 0 1px rgba(255, 209, 102, .22),
      0 6px 13px rgba(0, 0, 0, .40);
  }
  50% {
    -webkit-transform: scale(1.011);
    transform: scale(1.011);
    box-shadow:
      inset 0 0 0 2px rgba(32, 170, 255, 1),
      inset 0 0 0 4px rgba(1, 35, 80, .88),
      inset 0 0 21px rgba(0, 124, 255, .69),
      inset 0 -10px 19px rgba(0, 0, 0, .30),
      0 0 11px rgba(22, 151, 255, .80),
      0 0 0 1px rgba(255, 218, 119, .30),
      0 7px 14px rgba(0, 0, 0, .40);
  }
}
@keyframes lumenFocusButtonPulseV37 {
  0%, 100% {
    transform: scale(1);
    box-shadow:
      inset 0 0 0 2px rgba(10, 151, 255, .96),
      inset 0 0 0 4px rgba(1, 35, 80, .88),
      inset 0 0 17px rgba(0, 111, 255, .58),
      inset 0 -10px 19px rgba(0, 0, 0, .32),
      0 0 7px rgba(13, 132, 255, .62),
      0 0 0 1px rgba(255, 209, 102, .22),
      0 6px 13px rgba(0, 0, 0, .40);
  }
  50% {
    transform: scale(1.011);
    box-shadow:
      inset 0 0 0 2px rgba(32, 170, 255, 1),
      inset 0 0 0 4px rgba(1, 35, 80, .88),
      inset 0 0 21px rgba(0, 124, 255, .69),
      inset 0 -10px 19px rgba(0, 0, 0, .30),
      0 0 11px rgba(22, 151, 255, .80),
      0 0 0 1px rgba(255, 218, 119, .30),
      0 7px 14px rgba(0, 0, 0, .40);
  }
}
@-webkit-keyframes lumenFocusRailPulseV37 {
  0%, 100% { opacity: .76; }
  50% { opacity: 1; }
}
@keyframes lumenFocusRailPulseV37 {
  0%, 100% { opacity: .76; }
  50% { opacity: 1; }
}

body.focus-screen-active:not(.reduce-motion) .focus-mega-button:not(:disabled),
body[data-reward-theme].focus-screen-active:not(.reduce-motion) .focus-mega-button:not(:disabled){
  -webkit-animation: lumenFocusButtonPulseV37 2.55s ease-in-out infinite !important;
  animation: lumenFocusButtonPulseV37 2.55s ease-in-out infinite !important;
  will-change: transform, box-shadow;
}
body.focus-screen-active:not(.reduce-motion) .focus-mega-button:not(:disabled)::before,
body[data-reward-theme].focus-screen-active:not(.reduce-motion) .focus-mega-button:not(:disabled)::before{
  -webkit-animation: lumenFocusRailPulseV37 2.55s ease-in-out infinite !important;
  animation: lumenFocusRailPulseV37 2.55s ease-in-out infinite !important;
  will-change: opacity;
}

/* ===== v39 focus timer placement cleanup =====
   The DOM already has the desired hierarchy. Older v33/theme rules were still
   putting duration before subject and reserving a hidden label row/min-height.
   This final cascade makes the intended order explicit and removes that dead space. */
body.focus-screen-active .focus-subject-row,
body[data-reward-theme].focus-screen-active .focus-subject-row{
  
  margin-bottom: 2px !important;
}
body.focus-screen-active .focus-duration-block,
body[data-reward-theme].focus-screen-active .focus-duration-block,
body.focus-screen-active .focus-duration-block.is-open-ended,
body[data-reward-theme].focus-screen-active .focus-duration-block.is-open-ended{
  
  
  
  min-height: 0 !important;
  height: auto !important;
  
  padding: 0 !important;
  align-self: end !important;
}
body.focus-screen-active .focus-countdown-controls,
body[data-reward-theme].focus-screen-active .focus-countdown-controls,
body.focus-screen-active .focus-duration-block.is-open-ended .focus-countdown-controls,
body[data-reward-theme].focus-screen-active .focus-duration-block.is-open-ended .focus-countdown-controls{
  min-height: 0 !important;
  height: auto !important;
  display: grid !important;
  grid-template-rows: 27px 25px !important;
  align-content: end !important;
  align-items: end !important;
  justify-items: center !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.focus-screen-active .focus-time-value,
body[data-reward-theme].focus-screen-active .focus-time-value,
body.focus-screen-active .focus-duration-block.is-open-ended .focus-time-value,
body[data-reward-theme].focus-screen-active .focus-duration-block.is-open-ended .focus-time-value{
  height: 27px !important;
  min-height: 27px !important;
  margin: 0 !important;
  align-self: end !important;
}
body.focus-screen-active .focus-range-row,
body[data-reward-theme].focus-screen-active .focus-range-row,
body.focus-screen-active .focus-duration-block.is-open-ended .focus-range-row,
body[data-reward-theme].focus-screen-active .focus-duration-block.is-open-ended .focus-range-row{
  min-height: 25px !important;
  height: 25px !important;
  margin: 0 !important;
  padding: 0 3px !important;
  align-self: end !important;
  display: flex !important;
  align-items: center !important;
}
body.focus-screen-active .focus-duration-range,
body[data-reward-theme].focus-screen-active .focus-duration-range{
  height: 25px !important;
  margin: 0 !important;
}
body.focus-screen-active .focus-selector-row,
body[data-reward-theme].focus-screen-active .focus-selector-row{
  
  margin-top: 0 !important;
}



@media (max-width: 350px) {
  body.focus-screen-active .focus-duration-block,
  body[data-reward-theme].focus-screen-active .focus-duration-block,
  body.focus-screen-active .focus-duration-block.is-open-ended,
  body[data-reward-theme].focus-screen-active .focus-duration-block.is-open-ended{
    width: min(282px, 92%) !important;
    max-width: 282px !important;
  }
}

/* ===== v41 quieter Focus hierarchy =====
   Primary action comes forward: time -> FOCUS -> subject -> secondary settings.
   Explicit final-cascade orders neutralise legacy v31-v39 order rules. */
body.focus-screen-active .focus-live-controls,
body[data-reward-theme].focus-screen-active .focus-live-controls{
  gap: 4px !important;
}

/* Timer stays immediately above the primary action. */
body.focus-screen-active .focus-duration-block,
body[data-reward-theme].focus-screen-active .focus-duration-block,
body.focus-screen-active .focus-duration-block.is-open-ended,
body[data-reward-theme].focus-screen-active .focus-duration-block.is-open-ended{
  order: 1 !important;
  width: min(304px, 87%) !important;
  max-width: 304px !important;
  margin: 0 auto 0 !important;
}
body.focus-screen-active .focus-time-value,
body[data-reward-theme].focus-screen-active .focus-time-value{
  font-size: clamp(1.05rem, 4.8vw, 1.34rem) !important;
  letter-spacing: .045em !important;
}

/* The CTA is the strongest element and now sits above every selector option. */
body.focus-screen-active .focus-mega-button,
body[data-reward-theme].focus-screen-active .focus-mega-button{
  order: 2 !important;
  margin: 1px auto 6px !important;
}

/* Smaller, translucent subject control: readable but clearly secondary. */
body.focus-screen-active .focus-subject-row,
body[data-reward-theme].focus-screen-active .focus-subject-row{
  order: 3 !important;
  width: min(270px, 76%) !important;
  max-width: 270px !important;
  height: 36px !important;
  min-height: 36px !important;
  margin: 0 auto 2px !important;
  padding: 0 10px !important;
  grid-template-columns: 18px minmax(0, 1fr) 18px !important;
  border: 1px solid rgba(205, 164, 86, .18) !important;
  background: linear-gradient(180deg, rgba(5, 18, 32, .48), rgba(2, 10, 19, .56)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.018),
    0 2px 7px rgba(0,0,0,.12) !important;
  -webkit-backdrop-filter: blur(5px) !important;
  backdrop-filter: blur(5px) !important;
}
body.focus-screen-active .focus-subject-row > select,
body[data-reward-theme].focus-screen-active .focus-subject-row > select{
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 4px !important;
  border: 0 !important;
  background: transparent !important;
  color: rgba(239, 215, 159, .90) !important;
  
  font-weight: 600 !important;
  letter-spacing: .055em !important;
  text-shadow: 0 1px 3px rgba(0,0,0,.50) !important;
}
body.focus-screen-active .focus-subject-row .focus-subject-icon,
body.focus-screen-active .focus-subject-row .focus-subject-chevron,
body[data-reward-theme].focus-screen-active .focus-subject-row .focus-subject-icon,
body[data-reward-theme].focus-screen-active .focus-subject-row .focus-subject-chevron{
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  opacity: .82 !important;
}

/* Quiet secondary settings. Keep the wide tap targets but lower the visual weight. */
body.focus-screen-active .focus-selector-row,
body[data-reward-theme].focus-screen-active .focus-selector-row{
  order: 4 !important;
  width: min(310px, 89%) !important;
  max-width: 310px !important;
  grid-template-rows: 36px 36px !important;
  gap: 4px !important;
  margin: 0 auto 2px !important;
}
body.focus-screen-active .focus-mode-switch,
body[data-reward-theme].focus-screen-active .focus-mode-switch,
body.focus-screen-active .focus-timer-switch,
body[data-reward-theme].focus-screen-active .focus-timer-switch{
  height: 36px !important;
  min-height: 36px !important;
  border-color: rgba(151, 167, 186, .085) !important;
  background: linear-gradient(180deg, rgba(6, 18, 31, .46), rgba(3, 11, 21, .54)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.014),
    0 1px 4px rgba(0,0,0,.10) !important;
}
body.focus-screen-active .focus-mode-option,
body[data-reward-theme].focus-screen-active .focus-mode-option,
body.focus-screen-active .focus-timer-option,
body[data-reward-theme].focus-screen-active .focus-timer-option{
  height: 34px !important;
  min-height: 34px !important;
  color: rgba(229, 213, 177, .82) !important;
  
  gap: 5px !important;
}
body.focus-screen-active .focus-mode-option:last-child,
body[data-reward-theme].focus-screen-active .focus-mode-option:last-child,
body.focus-screen-active .focus-timer-option:last-child,
body[data-reward-theme].focus-screen-active .focus-timer-option:last-child{
  border-left-color: rgba(195, 164, 102, .09) !important;
}
body.focus-screen-active .focus-mode-option.active,
body.focus-screen-active .focus-mode-option.strict-active,
body.focus-screen-active .focus-timer-option.active,
body[data-reward-theme].focus-screen-active .focus-mode-option.active,
body[data-reward-theme].focus-screen-active .focus-mode-option.strict-active,
body[data-reward-theme].focus-screen-active .focus-timer-option.active{
  color: rgba(255, 239, 191, .94) !important;
  background:
    radial-gradient(ellipse at 50% 48%, rgba(241, 197, 92, .13) 0%, rgba(204, 147, 51, .065) 48%, transparent 82%),
    linear-gradient(180deg, rgba(42, 39, 28, .17), rgba(14, 18, 22, .10)) !important;
  box-shadow:
    inset 0 0 10px rgba(239, 190, 73, .075),
    inset 0 1px 0 rgba(255, 235, 180, .055) !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.58) !important;
  filter: none !important;
}
body.focus-screen-active .focus-mode-option.active .focus-selector-icon,
body.focus-screen-active .focus-mode-option.strict-active .focus-selector-icon,
body.focus-screen-active .focus-timer-option.active .focus-selector-icon,
body[data-reward-theme].focus-screen-active .focus-mode-option.active .focus-selector-icon,
body[data-reward-theme].focus-screen-active .focus-mode-option.strict-active .focus-selector-icon,
body[data-reward-theme].focus-screen-active .focus-timer-option.active .focus-selector-icon{
  color: rgba(255, 213, 111, .90) !important;
  filter: none !important;
}

@media (max-width: 350px) {
  body.focus-screen-active .focus-duration-block,
  body[data-reward-theme].focus-screen-active .focus-duration-block,
  body.focus-screen-active .focus-selector-row,
  body[data-reward-theme].focus-screen-active .focus-selector-row{
    width: min(282px, 92%) !important;
    max-width: 282px !important;
  }
  body.focus-screen-active .focus-subject-row,
  body[data-reward-theme].focus-screen-active .focus-subject-row{
    width: min(250px, 82%) !important;
    max-width: 250px !important;
    height: 34px !important;
    min-height: 34px !important;
  }
  body.focus-screen-active .focus-subject-row > select,
  body[data-reward-theme].focus-screen-active .focus-subject-row > select{
    height: 32px !important;
    min-height: 32px !important;
    font-size: .61rem !important;
  }
}

@media (min-width: 700px) {
  body.focus-screen-active .focus-duration-block,
  body[data-reward-theme].focus-screen-active .focus-duration-block{
    width: 304px !important;
    max-width: 304px !important;
  }
  body.focus-screen-active .focus-subject-row,
  body[data-reward-theme].focus-screen-active .focus-subject-row{
    width: 280px !important;
    max-width: 280px !important;
    height: 38px !important;
    min-height: 38px !important;
  }
  body.focus-screen-active .focus-subject-row > select,
  body[data-reward-theme].focus-screen-active .focus-subject-row > select{
    height: 36px !important;
    min-height: 36px !important;
    font-size: .69rem !important;
  }
}

/* ========================================================================== */
/* Lumen Academy v45 — modern Ally Profile modal                              */
/* Single-panel hierarchy based on the approved mockup.                        */
/* ========================================================================== */
#sheetOverlay > .sheet.ally-profile-modal-v45{
  position: relative !important;
  width: min(430px, calc(100vw - 18px)) !important;
  
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  
  border-radius: 22px !important;
  border: 1px solid rgba(224, 181, 93, .72) !important;
  background:
    radial-gradient(circle at 82% 17%, rgba(53, 89, 181, .18), transparent 29%),
    radial-gradient(circle at 14% 10%, rgba(62, 103, 196, .12), transparent 25%),
    linear-gradient(180deg, rgba(8, 24, 48, .985), rgba(4, 15, 31, .995)) !important;
  box-shadow:
    0 22px 58px rgba(0,0,0,.55),
    0 0 0 1px rgba(255,220,139,.06) inset,
    0 0 24px rgba(35,86,175,.13) inset !important;
  scrollbar-width: none !important;
}
#sheetOverlay > .sheet.ally-profile-modal-v45::-webkit-scrollbar{ display:none !important; }
.ally-profile-v45{ position:relative; color:#f0dfb9; }
.ally-profile-v45::before,
.ally-profile-v45::after{
  content:""; position:absolute; left:50%; width:44%; height:1px; transform:translateX(-50%); pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(245,201,103,.42),transparent);
}
.ally-profile-v45::before{ top:-8px; }
.ally-profile-v45::after{ bottom:-6px; }

.ally-profile-head-v45{
  display:flex; align-items:flex-start; justify-content:space-between; 
   border-bottom:1px solid rgba(147,178,224,.12);
}
.ally-profile-head-v45 > div > span,
.ally-profile-section-title-v45 > span{
  display:block; color:#e7cf91; 
  font-size:.58rem; font-weight:600; letter-spacing:.24em; line-height:1.2;
}
.ally-profile-head-v45 h2{
  margin:4px 0 0; color:#f3d486; 
   font-weight:600; line-height:1; letter-spacing:.01em;
}
.ally-profile-close-v45{
    flex:0 0 42px; display:grid; place-items:center;
   border:1px solid rgba(226,181,83,.62); background:rgba(10,27,52,.62);
  color:#f1cd76;   line-height:1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03); cursor:pointer;
}

.ally-profile-hero-v45{
  display:grid;  align-items:center; 
   
  border-bottom:1px solid rgba(145,175,219,.13);
  background:radial-gradient(circle at 86% 38%,rgba(65,92,174,.13),transparent 40%);
}
.ally-profile-hero-v45.lumen-pass-member{
  background:
    radial-gradient(circle at 88% 28%,rgba(118,87,221,.17),transparent 37%),
    radial-gradient(circle at 14% 56%,rgba(226,159,53,.10),transparent 36%);
}
.ally-profile-avatar-v45{ display:grid; place-items:center; }
.ally-profile-avatar-v45 > span{
  position:relative;   display:grid; place-items:center; border-radius:50%;
  border:1px solid rgba(239,195,98,.68);
  background:radial-gradient(circle at 50% 44%,rgba(46,78,128,.42),rgba(4,18,34,.96));
  
}
.ally-profile-avatar-v45 > span::after{
  content:""; position:absolute;  border-radius:50%; border:1px solid rgba(119,154,211,.14);
}
.ally-profile-avatar-v45 img{   object-fit:contain; position:relative; z-index:1; }
.ally-profile-identity-v45 > span{ color:#e2bd62;  font-weight:700; letter-spacing:.18em; }
.ally-profile-identity-v45 h3{
   color:#f4d895; 
   font-weight:600; line-height:1.05;
}
.ally-profile-identity-v45 p{ margin:0; color:#aebbd0;  }
.ally-profile-pills-v45{ display:flex; flex-wrap:wrap;   }
.ally-profile-pills-v45 em{
  max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
   border-radius:999px; border:1px solid rgba(226,181,83,.30);
  background:rgba(218,170,73,.045); color:#ead49d; font-style:normal;  letter-spacing:.025em;
}

.ally-profile-section-title-v45{
  display:flex; align-items:center;   
}
.ally-profile-section-title-v45::after{
  content:""; height:1px; flex:1; background:linear-gradient(90deg,rgba(223,181,94,.28),rgba(103,143,201,.08),transparent);
}
.ally-profile-section-title-v45 > em{
  display:inline-flex; align-items:center; gap:4px; margin-left:auto; color:#eac66f; font-style:normal;  letter-spacing:.10em;
}
.ally-profile-section-title-v45 > em img{   object-fit:contain; }

.ally-profile-progress-v45{ margin:0 0 13px; position:relative; }
.ally-profile-stats-scroll-v45{ position:relative; }
.ally-profile-stats-scroll-v45.is-scrollable{
   overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
  padding-right:2px; scrollbar-width:none; scroll-snap-type:y proximity;
  mask-image:linear-gradient(to bottom,transparent 0,#000 10px,#000 calc(100% - 18px),transparent 100%);
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 10px,#000 calc(100% - 18px),transparent 100%);
}
.ally-profile-stats-scroll-v45.is-scrollable::-webkit-scrollbar{ width:0; height:0; display:none; }
.ally-profile-stats-grid-v45{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid rgba(125,159,207,.11);
}
.ally-profile-stat-v45{
  min-width:0;  display:grid;  align-items:center; 
   border-bottom:1px solid rgba(126,158,203,.12); background:transparent;
  scroll-snap-align:start;
}
.ally-profile-stat-v45:nth-child(odd){ border-right:1px solid rgba(126,158,203,.12); }


.ally-profile-stat-copy-v45{ min-width:0; display:grid;  }
.ally-profile-stat-copy-v45 small{
  color:#94a9c6;  font-weight:600;  line-height:1.1;
  overflow-wrap:anywhere;
}
.ally-profile-stat-copy-v45 strong{
  color:#f0dbad;  font-weight:600; line-height:1.08;
  font-variant-numeric:lining-nums tabular-nums !important;
  font-feature-settings:"lnum" 1,"tnum" 1 !important;
  overflow-wrap:anywhere;
}
.ally-profile-stat-v45.extended{ background:rgba(70,92,138,.018); }



.ally-profile-assets-v45{
  margin:0 0 12px;  
  
  
  
}
.ally-profile-assets-list-v45{ display:grid; }
.ally-profile-asset-row-v45{
   display:grid;  align-items:center; 
   border-bottom:1px solid rgba(135,163,201,.12);
}
.ally-profile-asset-row-v45:last-child{ border-bottom:0; }
.ally-profile-asset-art-v45{   display:grid; place-items:center; }
.ally-profile-asset-art-v45 img{
    max-width:100%; max-height:100%; object-fit:contain;
  filter:drop-shadow(0 5px 7px rgba(0,0,0,.34));
}
.ally-profile-asset-row-v45 small{ color:#9daec6;  font-weight:600; letter-spacing:.13em; }
.ally-profile-asset-row-v45 strong{ color:#f0dab0;  font-weight:600; line-height:1.1; }

.ally-profile-actions-v45{ display:grid;  }
.ally-profile-actions-v45 button{
    
   font-weight:600; letter-spacing:.13em; cursor:pointer;
}
.ally-profile-remove-v45,
.ally-profile-primary-v45{
  border:1px solid rgba(235,189,86,.75); color:#f3d28a;
  background:linear-gradient(180deg,rgba(128,91,37,.34),rgba(86,56,26,.26));
  box-shadow:inset 0 1px 0 rgba(255,237,189,.07),0 0 14px rgba(226,173,61,.08);
}
.ally-profile-primary-v45{ background:linear-gradient(180deg,rgba(48,88,149,.48),rgba(19,49,92,.48)); }
.ally-profile-dismiss-v45{
  border:1px solid rgba(79,123,190,.52); color:#dce4ef;
  background:linear-gradient(180deg,rgba(26,58,103,.48),rgba(13,37,70,.52));
}

@media (max-width:390px) {
  #sheetOverlay > .sheet.ally-profile-modal-v45{  border-radius:18px !important; }
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
}

/* ========================================================================== */
/* Lumen Academy v46 — vertically compact Ally Profile                       */
/* Keeps the v45 visual language while fitting standard profiles on-screen.   */
/* Lumen Pass keeps Stats & Progress as the dedicated internal scroll region. */
/* ========================================================================== */
#sheetOverlay > .sheet.ally-profile-modal-v45{
  padding: 11px 12px 10px !important;
  max-height: calc(100dvh - 12px) !important;
}
.ally-profile-head-v45{
  gap: 9px;
  padding: 0 1px 7px;
}

.ally-profile-head-v45 h2{
  margin-top: 2px;
  font-size: 1.48rem;
}
.ally-profile-close-v45{
  width: 35px;
  height: 35px;
  flex-basis: 35px;
  border-radius: 10px;
  font-size: 1.28rem;
}

.ally-profile-hero-v45{
  grid-template-columns: 88px minmax(0,1fr);
  gap: 11px;
  margin: 7px 0 8px;
  padding: 7px 4px 9px;
}
.ally-profile-avatar-v45 > span{
  width: 78px;
  height: 78px;
  box-shadow: 0 0 0 4px rgba(44,82,143,.13), 0 0 15px rgba(227,178,79,.08), inset 0 0 15px rgba(54,91,155,.18);
}
.ally-profile-avatar-v45 > span::after{ inset: 6px; }
.ally-profile-avatar-v45 img{ width: 61px; height: 61px; }

.ally-profile-identity-v45 h3{
  margin: 1px 0;
  font-size: 1.20rem;
}

.ally-profile-pills-v45{
  gap: 4px;
  margin-top: 6px;
}


.ally-profile-section-title-v45{
  min-height: 18px;
  gap: 8px;
  margin: 0 0 3px;
}


.ally-profile-section-title-v45 > em img{ width: 11px; height: 11px; }
.ally-profile-progress-v45{ margin-bottom: 8px; }

/* Four core rows occupy this same compact height on ordinary and Pass profiles. */
.ally-profile-stats-scroll-v45.is-scrollable{ max-height: 232px; }
.ally-profile-stat-v45{
  min-height: 58px;
  grid-template-columns: 31px minmax(0,1fr);
  gap: 7px;
  padding: 6px 7px;
}


.ally-profile-stat-copy-v45{ gap: 2px; }
.ally-profile-stat-copy-v45 small{
  font-size: .40rem;
  letter-spacing: .07em;
}

.ally-profile-stat-v45.subject-breakdown .ally-profile-stat-copy-v45 small{ font-size: .37rem; }


.ally-profile-assets-v45{
  margin-bottom: 8px;
  padding: 6px 8px 4px;
  
}
.ally-profile-asset-row-v45{
  min-height: 47px;
  grid-template-columns: 50px 49px minmax(0,1fr);
  gap: 6px;
  padding: 2px 1px;
}
.ally-profile-asset-art-v45{
  width: 47px;
  height: 43px;
}
.ally-profile-asset-art-v45 img{
  width: 44px;
  height: 40px;
}



.ally-profile-actions-v45{ gap: 6px; }
.ally-profile-actions-v45 button{
  min-height: 39px;
  border-radius: 10px;
  
}

@media (max-width:390px) {
  #sheetOverlay > .sheet.ally-profile-modal-v45{
    padding: 9px 10px 9px !important;
    max-height: calc(100dvh - 8px) !important;
  }
  .ally-profile-head-v45{ padding-bottom: 6px; }
  .ally-profile-head-v45 h2{ font-size: 1.32rem; }
  .ally-profile-close-v45{ width: 32px; height: 32px; flex-basis: 32px; }
  .ally-profile-hero-v45{
    grid-template-columns: 78px minmax(0,1fr);
    gap: 9px;
    margin: 6px 0 7px;
    padding: 6px 3px 8px;
  }
  .ally-profile-avatar-v45 > span{ width: 70px; height: 70px; }
  .ally-profile-avatar-v45 img{ width: 55px; height: 55px; }
  .ally-profile-identity-v45 h3{ font-size: 1.10rem; }
  .ally-profile-identity-v45 p{ font-size: .57rem; }
  .ally-profile-pills-v45{ margin-top: 5px; }
  .ally-profile-pills-v45 em{ font-size: .38rem; padding: 2px 5px; }
  .ally-profile-stats-scroll-v45.is-scrollable{ max-height: 216px; }
  .ally-profile-stat-v45{
    min-height: 54px;
    grid-template-columns: 28px minmax(0,1fr);
    gap: 6px;
    padding: 5px 5px;
  }
  .ally-profile-stat-icon-v45{ width: 27px; height: 27px; }
  .ally-profile-stat-icon-v45 img{ width: 16px; height: 16px; }
  .ally-profile-stat-copy-v45 small{ font-size: .36rem; letter-spacing: .055em; }
  .ally-profile-stat-copy-v45 strong{ font-size: .70rem; }
  .ally-profile-assets-v45{ padding: 5px 7px 3px; }
  .ally-profile-asset-row-v45{
    grid-template-columns: 45px 44px minmax(0,1fr);
    min-height: 43px;
    gap: 5px;
  }
  .ally-profile-asset-art-v45{ width: 42px; height: 39px; }
  .ally-profile-asset-art-v45 img{ width: 39px; height: 36px; }
  .ally-profile-asset-row-v45 small{ font-size: .38rem; }
  .ally-profile-asset-row-v45 strong{ font-size: .68rem; }
  .ally-profile-actions-v45{ gap: 5px; }
  .ally-profile-actions-v45 button{ min-height: 36px; font-size: .57rem; }
}


/* ==========================================================================
   Lumen Academy v48 — unified Ally / Teammate profile modal
   Only the Lumen Pass stats region scrolls; assets and actions remain anchored.
   ========================================================================== */
#sheetOverlay > .sheet.ally-profile-modal-v45.social-profile-modal-v48{
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

#sheetOverlay > .sheet.ally-profile-modal-v45.social-profile-modal-v48 .ally-profile-v45{
  width: 100%;
  min-height: 0;
}



#sheetOverlay > .sheet.ally-profile-modal-v45.social-profile-modal-v48.profile-has-pass-v48 .ally-profile-v45{
  
  display: flex;
  
  
}



#sheetOverlay > .sheet.ally-profile-modal-v45.social-profile-modal-v48.profile-has-pass-v48 .ally-profile-progress-v45{
  
  
  display: flex;
  
  margin-bottom: 7px;
}

#sheetOverlay > .sheet.ally-profile-modal-v45.social-profile-modal-v48.profile-has-pass-v48 .ally-profile-stats-scroll-v45.is-scrollable{
  
  
  
  
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
}

#sheetOverlay > .sheet.ally-profile-modal-v45.social-profile-modal-v48 .social-profile-fixed-assets-v48{
  position: relative;
  z-index: 3;
  flex-shrink: 0;
}

#sheetOverlay > .sheet.ally-profile-modal-v45.social-profile-modal-v48 .social-profile-fixed-actions-v48{
  position: relative;
  z-index: 4;
  flex-shrink: 0;
  padding-top: 1px;
  background: linear-gradient(180deg, rgba(4,15,31,0), rgba(4,15,31,.72) 24%, rgba(4,15,31,.97));
}

#sheetOverlay > .sheet.ally-profile-modal-v45.social-profile-modal-v48 .ally-profile-stats-scroll-v45.is-scrollable{
  scrollbar-width: thin !important;
  scrollbar-color: rgba(218,179,94,.32) transparent !important;
}

#sheetOverlay > .sheet.ally-profile-modal-v45.social-profile-modal-v48 .ally-profile-stats-scroll-v45.is-scrollable::-webkit-scrollbar{
  display: block !important;
  width: 3px !important;
}
#sheetOverlay > .sheet.ally-profile-modal-v45.social-profile-modal-v48 .ally-profile-stats-scroll-v45.is-scrollable::-webkit-scrollbar-track{
  background: transparent;
}
#sheetOverlay > .sheet.ally-profile-modal-v45.social-profile-modal-v48 .ally-profile-stats-scroll-v45.is-scrollable::-webkit-scrollbar-thumb{
  background: rgba(218,179,94,.28);
  border-radius: 999px;
}

/* Tight small-phone fallback while preserving the fixed assets/actions region. */
@media (max-height: 690px) {
  #sheetOverlay > .sheet.ally-profile-modal-v45.social-profile-modal-v48.profile-has-pass-v48{
    height: calc(100dvh - 8px) !important;
  }
  #sheetOverlay > .sheet.ally-profile-modal-v45.social-profile-modal-v48 .ally-profile-hero-v45{
    margin-top: 4px !important;
    margin-bottom: 5px !important;
  }
  #sheetOverlay > .sheet.ally-profile-modal-v45.social-profile-modal-v48 .ally-profile-assets-v45{
    margin-bottom: 5px !important;
  }
}


/* v49 — shared social extended stats; no instructional scroll label. */





/* v50 — profile icon treatment + Settings build marker (moved from typography). */
/* Ally stats imagery floats directly on the modal surface — no icon cards. */
.ally-profile-stat-icon-v45{
  width: 29px !important;
  height: 29px !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.ally-profile-stat-icon-v45 img{
  width: 20px !important;
  height: 20px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 0 5px rgba(227,177,73,.16)) !important;
}

/* Quiet build marker at the very bottom of Settings. */
.settings-build-version{
  margin: 10px 0 2px;
  text-align: center;
  color: rgba(176,190,210,.42);
  font-size: .48rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  user-select: none;
}


/* ==========================================================================
   Create Academy — current modal
   Matches the navy/gold Academy language without changing team creation logic.
   ========================================================================== */
#sheetOverlay > .sheet.create-team-modal {
  width: min(440px, calc(100vw - 16px)) !important;
  
  padding: 0 !important;
  
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
  border: 1px solid rgba(226,184,91,.68) !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 88% 5%, rgba(65,102,183,.16), transparent 26%),
    radial-gradient(circle at 8% 18%, rgba(40,78,148,.10), transparent 24%),
    linear-gradient(180deg, rgba(9,25,49,.995), rgba(4,15,31,.998)) !important;
  box-shadow:
    0 24px 62px rgba(0,0,0,.58),
    inset 0 0 0 1px rgba(255,227,162,.04),
    inset 0 0 30px rgba(29,68,139,.10) !important;
}
#sheetOverlay > .sheet.create-team-modal::-webkit-scrollbar { display:none !important; }

.create-team {
  
  color: #ead9b2;
}

.create-team-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.create-team-head-copy > span {
  display:block;
  color:#e4c276;
  font-family:var(--lumen-font-display) !important;
  font-size:.58rem;
  font-weight:600;
  letter-spacing:.26em;
}
.create-team-head-copy h2 {
  margin:5px 0 0;
  color:#f3d48a;
  font-family:var(--lumen-font-display) !important;
  
  font-weight:600;
  line-height:1.05;
  letter-spacing:.045em;
}
.create-team-close {
  
  
  flex:0 0 42px;
  display:grid;
  place-items:center;
  padding:0 !important;
  border:1px solid rgba(228,184,88,.60) !important;
  border-radius:12px !important;
  background:rgba(10,27,52,.54) !important;
  color:#efc96e !important;
  font-family:var(--lumen-font-display) !important;
  font-size:1.28rem;
  line-height:1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03) !important;
}

.create-team-divider {
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:10px;
  
  color:#d9ad54;
  opacity:.72;
}

.create-team-divider i {
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(209,169,85,.42));
}
.create-team-divider i:last-child {
  background:linear-gradient(90deg,rgba(209,169,85,.42),transparent);
}
.create-team-divider b {
  font-size:.75rem;
  font-weight:400;
}

.create-team-section { display:grid;  }
.create-team-section-label,
.create-team-name label > span {
  color:#e4c276;
  font-family:var(--lumen-font-display) !important;
  font-size:.59rem;
  font-weight:600;
  letter-spacing:.23em;
}
.create-team-name label {
  display:flex;
  align-items:center;
  gap:13px;
}
.create-team-name label small {
  color:#899ab6;
  font-size:.47rem;
  letter-spacing:.12em;
  font-weight:600;
}
.create-team-name input {
  width:100%;
  
  box-sizing:border-box;
  
  border:1px solid rgba(127,151,190,.34) !important;
  border-radius:11px !important;
  background:rgba(16,35,65,.43) !important;
  color:#f0dfbd !important;
  font-family:var(--lumen-font-text) !important;
  
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02) !important;
}
.create-team-name input::placeholder { color:rgba(176,189,211,.50); }
.create-team-name input:focus {
  outline:none !important;
  border-color:rgba(218,178,91,.56) !important;
  box-shadow:0 0 0 2px rgba(218,178,91,.08) !important;
}

.create-team-selected-banner {
  
  display:grid;
  
  align-items:center;
  
  
  
  
  
}
.create-team-selected-banner > img {
  
  
  object-fit:contain;
  filter:drop-shadow(0 5px 9px rgba(0,0,0,.32));
}
.create-team-selected-divider {
  
  background:rgba(135,160,199,.18);
}
.create-team-selected-copy {
  min-width:0;
  display:grid;
  gap:2px;
}
.create-team-selected-copy small {
  color:#99a8c1;
  font-size:.46rem;
  letter-spacing:.14em;
}
.create-team-selected-copy strong {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#f1deba;
  font-family:var(--lumen-font-display) !important;
  
  font-weight:500;
}
.create-team-selected-colour {
  display:flex;
  align-items:center;
  
  min-width:0;
}
.create-team-selected-colour strong {
  
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#98a8c1;
  
  font-weight:600;
}
.create-team-selected-swatch {
  
  
  flex:0 0 25px;
  border-radius:50%;
  border:1px solid rgba(210,176,99,.55);
  background:linear-gradient(145deg,var(--swatch),var(--swatch-deep));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}


.create-team .team-banner-choice {
  position:relative;
  min-height:84px !important;
  padding:7px 4px 6px !important;
  border:1px solid rgba(111,139,183,.28) !important;
  border-radius:13px !important;
  background:rgba(11,28,53,.43) !important;
  color:#d8c8a7 !important;
  box-shadow:none !important;
  transition:border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}
.create-team .team-banner-choice img {
  width:49px !important;
  height:49px !important;
  filter:drop-shadow(0 4px 7px rgba(0,0,0,.28));
}
.create-team .team-banner-choice > span:last-child {
  font-size:.48rem !important;
  color:#d9c8a6;
  font-family:var(--lumen-font-text) !important;
}
.create-team .team-banner-choice.selected {
  border-color:rgba(239,194,95,.78) !important;
  background:
    radial-gradient(circle at 50% 38%,rgba(241,183,62,.18),transparent 54%),
    rgba(72,52,23,.32) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,218,137,.10),
    0 0 15px rgba(235,181,66,.20) !important;
}
.create-team .team-banner-choice:active { transform:scale(.985); }
.create-team-banner-check {
  position:absolute;
  top:5px;
  right:5px;
  width:20px;
  height:20px;
  display:none;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(180deg,#efc76e,#b9812e);
  color:#09203c;
  font-size:.66rem;
  font-weight:900;
  box-shadow:0 2px 8px rgba(0,0,0,.30);
}
.create-team .team-banner-choice.selected .create-team-banner-check { display:grid; }

.create-team-colour-grid.team-banner-colour-picker {
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:9px !important;
}
.create-team .team-banner-color-choice {
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  padding:4px !important;
  border:1px solid rgba(123,146,178,.28) !important;
  border-radius:50% !important;
  background:rgba(3,10,20,.48) !important;
  box-shadow:none !important;
}
.create-team .team-banner-color-choice > span {
  border-radius:50% !important;
  background:linear-gradient(145deg,var(--swatch),var(--swatch-deep)) !important;
}
.create-team .team-banner-color-choice.selected {
  border-color:rgba(248,207,111,.92) !important;
  box-shadow:
    0 0 0 2px rgba(20,91,178,.80),
    0 0 0 4px rgba(247,204,105,.78),
    0 0 13px rgba(235,182,66,.28) !important;
}

.create-team-motto-row.team-motto-input-row {
  
  gap:0;
}
.create-team-motto-row textarea {
  
  
  
  border:1px solid rgba(126,151,189,.30) !important;
  border-right:0 !important;
  border-radius:11px 0 0 11px !important;
  background:rgba(15,35,64,.43) !important;
  color:#ecdbb8 !important;
  font-family:var(--lumen-font-text) !important;
  
  font-style:normal !important;
  line-height:1.18 !important;
}
.create-team-randomise {
  
  border:1px solid rgba(222,181,88,.52) !important;
  border-radius:0 11px 11px 0 !important;
  background:rgba(18,39,70,.58) !important;
  color:#ecc76d !important;
  
  box-shadow:none !important;
}

.create-team-submit {
  width:100%;
  
  
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:15px;
  
  border:1px solid rgba(255,208,100,.94) !important;
  
  color:#f7d58a !important;
  background:
    radial-gradient(circle at 50% 0%,rgba(61,144,255,.24),transparent 42%),
    linear-gradient(180deg,rgba(17,83,171,.98),rgba(5,39,94,.98)) !important;
  box-shadow:
    inset 0 0 0 3px rgba(44,115,218,.28),
    inset 0 1px 0 rgba(255,255,255,.10),
    0 0 0 2px rgba(29,141,255,.38),
    0 0 18px rgba(30,130,255,.27),
    0 0 8px rgba(240,190,73,.18) !important;
  cursor:pointer;
}
.create-team-submit strong {
  font-family:var(--lumen-font-display) !important;
  
  font-weight:600;
  letter-spacing:.16em;
}
.create-team-submit > span {
  color:#e6b95c;
  font-size:.88rem;
}
.create-team-submit > span:first-child { justify-self:end; }
.create-team-submit > span:last-child { justify-self:start; }
.create-team-submit:disabled {
  opacity:.65;
  cursor:wait;
  filter:saturate(.7);
}

@media (max-width:390px) {
  
  
  .create-team-close { width:38px; height:38px; flex-basis:38px; }
  
  
  .create-team-selected-colour {
    
    justify-self:start;
    
  }
  .create-team-selected-colour strong { max-width:none; }
  .create-team .team-banner-choice {
    min-height:76px !important;
  }
  .create-team .team-banner-choice img {
    width:43px !important;
    height:43px !important;
  }
  .create-team .team-banner-color-choice {
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
  }
  .create-team-motto-row.team-motto-input-row {
    grid-template-columns:minmax(0,1fr) 48px;
  }
  .create-team-motto-row textarea,
  .create-team-randomise {
    min-height:56px !important;
    
  }
  
  .create-team-submit strong { font-size:.91rem; }
}


/* v51 cascade guard: equipped reward themes must not restyle the creator controls. */
body[data-reward-theme] #sheetOverlay > .sheet.create-team-modal .create-team .team-banner-choice {
  border-color:rgba(111,139,183,.28) !important;
  background:rgba(11,28,53,.43) !important;
  color:#d8c8a7 !important;
  box-shadow:none !important;
}
body[data-reward-theme] #sheetOverlay > .sheet.create-team-modal .create-team .team-banner-choice.selected {
  border-color:rgba(239,194,95,.78) !important;
  background:
    radial-gradient(circle at 50% 38%,rgba(241,183,62,.18),transparent 54%),
    rgba(72,52,23,.32) !important;
  color:#f0d79c !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,218,137,.10),
    0 0 15px rgba(235,181,66,.20) !important;
}
body[data-reward-theme] #sheetOverlay > .sheet.create-team-modal .create-team-randomise {
  border-color:rgba(222,181,88,.52) !important;
  background:rgba(18,39,70,.58) !important;
  color:#ecc76d !important;
}
body[data-reward-theme] #sheetOverlay > .sheet.create-team-modal .create-team-name input,
body[data-reward-theme] #sheetOverlay > .sheet.create-team-modal .create-team-motto-row textarea {
  border-color:rgba(126,151,189,.30) !important;
  background:rgba(15,35,64,.43) !important;
  color:#ecdbb8 !important;
}


/* ==========================================================================
   Create Academy — phone layout
   Removes legacy span leakage, contains colour swatches and reduces height.
   ========================================================================== */

#sheetOverlay > .sheet.create-team-modal
.create-team .team-banner-choice .create-team-banner-check {
  position:absolute !important;
  top:5px !important;
  right:5px !important;
  width:19px !important;
  height:19px !important;
  min-width:19px !important;
  max-width:19px !important;
  padding:0 !important;
  display:none !important;
  place-items:center !important;
  overflow:visible !important;
  white-space:normal !important;
  border-radius:50% !important;
  background:linear-gradient(180deg,#efc76e,#b9812e) !important;
  color:#09203c !important;
  font-size:.62rem !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  box-shadow:0 2px 8px rgba(0,0,0,.30) !important;
  z-index:4 !important;
}
#sheetOverlay > .sheet.create-team-modal
.create-team .team-banner-choice.selected .create-team-banner-check {
  display:grid !important;
}
#sheetOverlay > .sheet.create-team-modal
.create-team .team-banner-choice > span:last-child {
  width:100% !important;
  min-width:0 !important;
}

#sheetOverlay > .sheet.create-team-modal
.create-team-colour-grid.team-banner-colour-picker {
  display:grid !important;
  grid-template-columns:repeat(8,minmax(0,1fr)) !important;
  align-items:center !important;
  justify-items:center !important;
  gap:7px !important;
  padding:5px 7px !important;
  overflow:visible !important;
  box-sizing:border-box !important;
}
#sheetOverlay > .sheet.create-team-modal
.create-team .team-banner-color-choice {
  width:35px !important;
  height:35px !important;
  min-width:35px !important;
  max-width:35px !important;
}
#sheetOverlay > .sheet.create-team-modal
.create-team .team-banner-color-choice.selected {
  box-shadow:
    0 0 0 2px rgba(20,91,178,.76),
    0 0 0 3px rgba(247,204,105,.80),
    0 0 10px rgba(235,182,66,.20) !important;
}

#sheetOverlay > .sheet.create-team-modal {
  max-height:calc(100dvh - 12px) !important;
  overflow-y:auto !important;
}
.create-team {
  padding:14px 17px 14px !important;
}
.create-team-head {
  min-height:43px;
}
.create-team-head-copy h2 {
  margin-top:3px !important;
  font-size:1.38rem !important;
}
.create-team-close {
  width:39px !important;
  height:39px !important;
  flex-basis:39px !important;
}
.create-team-divider {
  margin:9px 0 11px !important;
}
.create-team-divider.compact {
  margin:9px 0 8px !important;
}
.create-team-section {
  gap:6px !important;
}
.create-team-name input {
  min-height:47px !important;
  padding:0 14px !important;
  font-size:.94rem !important;
}
.create-team-selected-banner {
  min-height:66px !important;
  padding:6px 11px !important;
  grid-template-columns:62px 1px minmax(0,1fr) auto !important;
  gap:10px !important;
}
.create-team-selected-banner > img {
  width:54px !important;
  height:54px !important;
}
.create-team-selected-divider {
  height:41px !important;
}
.create-team-selected-copy strong {
  font-size:.83rem !important;
}
.create-team-selected-colour {
  gap:6px !important;
}
.create-team-selected-swatch {
  width:22px !important;
  height:22px !important;
  flex-basis:22px !important;
}
.create-team-selected-colour strong {
  max-width:66px !important;
  font-size:.47rem !important;
}

.create-team-banner-grid.team-banner-picker {
  gap:7px !important;
}
#sheetOverlay > .sheet.create-team-modal
.create-team .team-banner-choice {
  min-height:72px !important;
  padding:5px 3px 4px !important;
}
#sheetOverlay > .sheet.create-team-modal
.create-team .team-banner-choice img {
  width:42px !important;
  height:42px !important;
}
#sheetOverlay > .sheet.create-team-modal
.create-team .team-banner-choice > span:last-child {
  font-size:.43rem !important;
}

.create-team-motto-row.team-motto-input-row {
  grid-template-columns:minmax(0,1fr) 48px !important;
}
.create-team-motto-row textarea {
  min-height:53px !important;
  max-height:53px !important;
  padding:10px 13px !important;
  font-size:.82rem !important;
}
.create-team-randomise {
  min-height:53px !important;
  max-height:53px !important;
  font-size:1.18rem !important;
}
.create-team-submit {
  min-height:54px !important;
  
  border-radius:18px !important;
  padding:7px 18px !important;
}
.create-team-submit strong {
  font-size:.94rem !important;
}

@media (max-width:390px) {
  .create-team {
    padding:12px 12px 13px !important;
  }
  .create-team-head-copy h2 {
    font-size:1.18rem !important;
  }
  .create-team-divider {
    margin:8px 0 9px !important;
  }
  .create-team-divider.compact {
    margin:8px 0 7px !important;
  }
  .create-team-name input {
    min-height:44px !important;
  }
  .create-team-selected-banner {
    min-height:60px !important;
    grid-template-columns:52px 1px minmax(0,1fr) !important;
    gap:8px !important;
    padding:5px 8px !important;
  }
  .create-team-selected-banner > img {
    width:47px !important;
    height:47px !important;
  }
  .create-team-selected-colour {
    grid-column:3 !important;
    margin-top:-3px !important;
  }
  #sheetOverlay > .sheet.create-team-modal
  .create-team .team-banner-choice {
    min-height:67px !important;
  }
  #sheetOverlay > .sheet.create-team-modal
  .create-team .team-banner-choice img {
    width:38px !important;
    height:38px !important;
  }
  #sheetOverlay > .sheet.create-team-modal
  .create-team-colour-grid.team-banner-colour-picker {
    gap:5px !important;
    padding-inline:6px !important;
  }
  #sheetOverlay > .sheet.create-team-modal
  .create-team .team-banner-color-choice {
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    max-width:32px !important;
  }
  .create-team-motto-row textarea,
  .create-team-randomise {
    min-height:50px !important;
    max-height:50px !important;
  }
  .create-team-submit {
    min-height:51px !important;
    margin-top:10px !important;
  }
}

@media (max-height:780px) {
  .create-team { padding-top:10px !important; padding-bottom:10px !important; }
  .create-team-head { min-height:38px !important; }
  .create-team-divider { margin-block:6px 8px !important; }
  .create-team-divider.compact { margin-block:6px !important; }
  #sheetOverlay > .sheet.create-team-modal
  .create-team .team-banner-choice { min-height:63px !important; }
  #sheetOverlay > .sheet.create-team-modal
  .create-team .team-banner-choice img { width:36px !important; height:36px !important; }
  .create-team-submit { min-height:49px !important; margin-top:8px !important; }
}


/* Create Academy — text readability. */
#sheetOverlay > .sheet.create-team-modal
.create-team-name input {
  font-size:1.08rem !important;
  line-height:1.15 !important;
}

#sheetOverlay > .sheet.create-team-modal
.create-team-motto-row textarea {
  font-size:.98rem !important;
  line-height:1.18 !important;
}

@media (max-width:390px) {
  #sheetOverlay > .sheet.create-team-modal
  .create-team-name input {
    font-size:1.02rem !important;
  }

  #sheetOverlay > .sheet.create-team-modal
  .create-team-motto-row textarea {
    font-size:.92rem !important;
  }
}


/* Allies interface: current approved surface follows. */
/* ==========================================================================
   Lumen Academy v55 — approved Allies mockup
   ========================================================================== */
#sheetOverlay > .sheet:has(.allies-modal-v55){
  
  
  overflow-y:auto !important;
  padding:0 !important;
  border-radius:22px !important;
  border:1px solid rgba(220,174,74,.62) !important;
  background:
    radial-gradient(circle at 82% 4%,rgba(46,78,154,.15),transparent 24%),
    linear-gradient(180deg,rgba(6,20,42,.995),rgba(3,13,28,.998)) !important;
  box-shadow:0 24px 64px rgba(0,0,0,.56),inset 0 0 28px rgba(28,67,135,.08) !important;
  scrollbar-width:none !important;
}
#sheetOverlay > .sheet:has(.allies-modal-v55)::-webkit-scrollbar{display:none !important;}

.allies-modal-v55{
  
  color:#ead9b2;
}
.allies-header-v55{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.allies-header-v55 > div > span{
  display:block;
  color:#d7b25d;
  font-family:var(--lumen-font-display) !important;
  font-size:.58rem;
  font-weight:600;
  letter-spacing:.28em;
}
.allies-header-v55 h2{
  margin:4px 0 0;
  color:#f1d493;
  font-family:var(--lumen-font-display) !important;
  
  font-weight:600;
  line-height:1;
  letter-spacing:.035em;
}
.allies-close-v55{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  padding:0 !important;
  border-radius:12px !important;
  border:1px solid rgba(228,184,88,.60) !important;
  background:rgba(9,25,48,.58) !important;
  color:#efc96e !important;
  font-size:1.28rem;
  line-height:1;
}
.allies-divider-v55{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:10px;
  
  color:#d8ad55;
  opacity:.72;
}
.allies-divider-v55 i{
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(209,169,85,.42));
}
.allies-divider-v55 i:last-child{
  background:linear-gradient(90deg,rgba(209,169,85,.42),transparent);
}
.allies-divider-v55 b{font-size:.72rem;font-weight:400;}
.allies-hub-body-v55{
  display:grid;
  gap:12px;
}

/* Ally code hero */
.allies-code-panel-v55{
  
  display:grid;
  
  align-items:center;
  
  
  border:1px solid rgba(220,174,75,.43);
  border-radius:18px;
  background:
    radial-gradient(circle at 82% 22%,rgba(44,93,170,.18),transparent 31%),
    radial-gradient(circle at 12% 46%,rgba(73,67,190,.13),transparent 26%),
    linear-gradient(180deg,rgba(8,31,62,.94),rgba(5,19,40,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 12px 26px rgba(0,0,0,.13);
}
.allies-code-emblem-v55{
  display:grid;place-items:center;
  border-radius:50%;
  border:1px solid rgba(226,179,68,.76);
  background:radial-gradient(circle,rgba(44,79,167,.38),rgba(6,19,40,.96) 67%);
  box-shadow:0 0 0 3px rgba(43,83,159,.12),0 0 18px rgba(73,79,215,.15);
}
.allies-code-emblem-v55 img{object-fit:contain;}
.allies-code-copy-v55{min-width:0;display:grid;}
.allies-code-copy-v55 span{
  color:#e2bf6c;
  font-family:var(--lumen-font-display) !important;
  
  letter-spacing:.17em;
}
.allies-code-copy-v55 strong{
  color:#f4e5bd;
  font-family:var(--lumen-font-display) !important;
  
  font-weight:500;
  
  line-height:1.05;
}
.allies-code-copy-v55 small{
  color:rgba(226,233,244,.74);
  
  
}
.allies-copy-v55{
  
  
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  
  border-radius:13px !important;
  border:1px solid rgba(242,194,76,.72) !important;
  background:linear-gradient(180deg,#a87924,#624317) !important;
  color:#fff0bd !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.20),0 8px 18px rgba(0,0,0,.18) !important;
}
.allies-copy-v55 span{font-size:1rem;line-height:1;}
.allies-copy-v55 strong{
  font-family:var(--lumen-font-display) !important;
  
  letter-spacing:.08em;
}

/* Two stat panels */
.allies-summary-v55{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  
}
.allies-summary-v55 article{
  
  display:grid;
  
  align-items:center;
  
  
  border-radius:16px;
  border:1px solid rgba(78,124,207,.20);
  background:
    radial-gradient(circle at 10% 50%,rgba(54,88,154,.12),transparent 35%),
    linear-gradient(180deg,rgba(11,35,67,.76),rgba(6,22,43,.92));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
.allies-summary-icon-v55{
  display:grid;
  
  
  
}

.allies-summary-v55 article > div{display:grid;gap:2px;}
.allies-summary-v55 small{
  color:#9fb2cc;
  
  
}
.allies-summary-v55 strong{
  color:#f0d28a;
  font-family:var(--lumen-font-display) !important;
  
  font-weight:500;
  line-height:1;
}

/* Find an Ally */
.allies-find-v55{
  display:grid;
  
  
  border-radius:18px;
  border:1px solid rgba(220,174,75,.34);
  background:
    radial-gradient(circle at 90% 12%,rgba(36,71,137,.13),transparent 30%),
    linear-gradient(180deg,rgba(7,27,55,.90),rgba(5,18,38,.97));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
.allies-find-head-v55{
  display:flex;align-items:center;
}
.allies-find-icon-v55{
  flex:0 0 45px;display:grid;place-items:center;
  border-radius:50%;
  border:1px solid rgba(224,176,69,.48);
  background:radial-gradient(circle,rgba(78,66,194,.34),rgba(8,20,43,.96));
}
.allies-find-icon-v55 img{object-fit:contain;}
.allies-find-head-v55 > div{display:grid;gap:2px;}
.allies-find-head-v55 strong{
  color:#efcb78;
  font-family:var(--lumen-font-display) !important;
  
  font-weight:500;
  letter-spacing:.05em;
}
.allies-find-head-v55 small{
  color:rgba(220,229,243,.70);
  
  line-height:1.3;
}
.allies-find-row-v55{
  display:grid;
  
  
}
.allies-find-row-v55 input{
  
  min-width:0;
  padding:0 15px !important;
  border-radius:13px !important;
  border:1px solid rgba(83,130,211,.30) !important;
  background:linear-gradient(180deg,rgba(7,24,48,.98),rgba(5,17,35,.99)) !important;
  color:#f0dfb9 !important;
  
}
.allies-find-row-v55 input::placeholder{color:rgba(182,195,217,.48) !important;}
.allies-find-row-v55 button{
  
  border-radius:13px !important;
  border:1px solid #f0b936 !important;
  background:
    radial-gradient(circle at 50% 0%,rgba(255,225,127,.28),transparent 46%),
    linear-gradient(180deg,#d59b29,#9b6518) !important;
  color:#fff7da !important;
  font-family:var(--lumen-font-display) !important;
  
  font-weight:700 !important;
  letter-spacing:.08em !important;
  text-shadow:0 1px 2px rgba(58,34,0,.55) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.35),
    0 0 0 1px rgba(255,205,78,.18),
    0 7px 18px rgba(0,0,0,.18),
    0 0 12px rgba(222,164,36,.14) !important;
}

/* Ally list */
.allies-list-panel-v55{
  display:grid;
  
  
  border-radius:18px;
  border:1px solid rgba(77,121,194,.18);
  background:linear-gradient(180deg,rgba(6,24,49,.74),rgba(4,16,34,.84));
}
.allies-list-heading-v55{
  display:flex;align-items:center;gap:10px;
}
.allies-list-heading-v55 strong{
  color:#edc974;
  font-family:var(--lumen-font-display) !important;
  
  letter-spacing:.10em;
}
.allies-list-heading-v55 span{
  min-width:32px;height:26px;padding:0 8px;display:grid;place-items:center;
  border-radius:999px;
  border:1px solid rgba(224,176,68,.27);
  background:rgba(224,176,68,.07);
  color:#f0d48c;
  font-size:.54rem;
}
.allies-list-v55{display:grid;gap:9px;}
.allies-list-row-v55{
  width:100%;
  
  display:grid !important;
  
  align-items:center !important;
  
  
  
  border:1px solid rgba(66,117,199,.25) !important;
  
  
}
.allies-list-avatar-v55{
  
  border-radius:50% !important;
  border:1px solid rgba(215,168,65,.46) !important;
  background:radial-gradient(circle,rgba(43,75,135,.25),rgba(5,18,37,.94)) !important;
  box-shadow:0 0 0 3px rgba(43,83,159,.10) !important;
}
.allies-list-avatar-v55 img{object-fit:contain !important;}
.allies-list-identity-v55{display:grid;gap:2px;min-width:0;}
.allies-list-identity-v55 strong{
  color:#f3e1b7 !important;
  
  font-weight:600 !important;
}
.allies-list-identity-v55 small{
  color:#d8ac52 !important;
  
  letter-spacing:.07em !important;
}
.allies-list-focus-v55{display:grid;justify-items:end;gap:2px;}
.allies-list-focus-v55 span{
  color:#f0d088 !important;
  
  white-space:nowrap;
}
.allies-list-focus-v55 small{
  color:#94a8c4 !important;
  
  letter-spacing:.09em !important;
}
.allies-list-arrow-v55{
  color:#e1ad50 !important;
  font-size:1.22rem !important;
}

@media (max-width:390px){
  
  
  .allies-close-v55{width:38px;height:38px;}
  .allies-divider-v55{margin:9px 0 11px;}
  .allies-hub-body-v55{gap:10px;}
  
  
  
  
  
  
  .allies-copy-v55 span{display:none;}
  
  
  
  
  
  
  
  
  
  
  .allies-find-row-v55 input,.allies-find-row-v55 button{height:44px !important;min-height:44px !important;}
  .allies-find-row-v55 input{padding:0 12px !important;}
  
  
  
  
  
  
  
}


/* ==========================================================================
   Lumen Academy v56 — Allies mobile proportion polish
   Brings the implemented popup closer to the approved mockup.
   ========================================================================== */



.allies-modal-v55{
  padding:18px 20px 20px !important;
}

.allies-header-v55 h2{
  font-size:1.72rem !important;
}

.allies-divider-v55{
  margin:13px 0 16px !important;
}

/* Give the code enough horizontal breathing room; copy no longer crowds it. */
.allies-code-panel-v55{
  grid-template-columns:72px minmax(0,1fr) 92px !important;
  gap:16px !important;
  min-height:116px !important;
  padding:14px 15px !important;
}
.allies-code-emblem-v55{
  width:70px !important;
  height:70px !important;
}
.allies-code-emblem-v55 img{
  width:59px !important;
  height:59px !important;
}
.allies-code-copy-v55{
  gap:5px !important;
}
.allies-code-copy-v55 span{
  font-size:.55rem !important;
}
.allies-code-copy-v55 strong{
  font-size:1.36rem !important;
  letter-spacing:.12em !important;
}
.allies-code-copy-v55 small{
  max-width:190px;
  font-size:.52rem !important;
  line-height:1.38 !important;
}
.allies-copy-v55{
  min-width:92px !important;
  min-height:48px !important;
  padding:0 13px !important;
}
.allies-copy-v55 strong{
  font-size:.58rem !important;
}

/* Make the two summary panels read like actual feature cards. */
.allies-summary-v55{
  gap:12px !important;
}
.allies-summary-v55 article{
  min-height:82px !important;
  grid-template-columns:52px minmax(0,1fr) !important;
  gap:11px !important;
  padding:11px 13px !important;
}


.allies-summary-v55 article > div{
  min-width:0;
}
.allies-summary-v55 small{
  display:block;
  white-space:nowrap;
  font-size:.44rem !important;
  letter-spacing:.09em !important;
}
.allies-summary-v55 strong{
  font-size:1.02rem !important;
}

/* Restore some of the mockup's visual hierarchy in Find an Ally. */
.allies-find-v55{
  gap:13px !important;
  padding:15px !important;
}
.allies-find-head-v55{
  gap:13px !important;
}
.allies-find-icon-v55{
  width:49px !important;
  height:49px !important;
  flex-basis:49px !important;
}
.allies-find-icon-v55 img{
  width:41px !important;
  height:41px !important;
}
.allies-find-head-v55 strong{
  font-size:.82rem !important;
}
.allies-find-head-v55 small{
  font-size:.52rem !important;
}
.allies-find-row-v55{
  grid-template-columns:minmax(0,1fr) 112px !important;
  gap:10px !important;
}
.allies-find-row-v55 input{
  height:50px !important;
  font-size:.88rem !important;
}
.allies-find-row-v55 button{
  min-height:50px !important;
  font-size:.72rem !important;
}

/* Slightly larger ally rows and clearer metadata. */
.allies-list-panel-v55{
  padding:15px !important;
  gap:12px !important;
}
.allies-list-heading-v55 strong{
  font-size:.76rem !important;
}
.allies-list-row-v55{
  min-height:73px !important;
  grid-template-columns:56px minmax(0,1fr) auto 16px !important;
  gap:11px !important;
  padding:9px 11px !important;
}
.allies-list-avatar-v55{
  width:54px !important;
  height:54px !important;
}
.allies-list-avatar-v55 img{
  width:49px !important;
  height:49px !important;
}
.allies-list-identity-v55 strong{
  font-size:.90rem !important;
}
.allies-list-identity-v55 small{
  font-size:.50rem !important;
}
.allies-list-focus-v55 span{
  font-size:.78rem !important;
}
.allies-list-focus-v55 small{
  font-size:.35rem !important;
}

/* Phone-specific layout: preserve hierarchy without pushing beyond the screen. */
@media (max-width:390px){
  .allies-modal-v55{
    padding:15px 13px 16px !important;
  }
  .allies-header-v55 h2{
    font-size:1.50rem !important;
  }
  .allies-code-panel-v55{
    grid-template-columns:60px minmax(0,1fr) 72px !important;
    gap:10px !important;
    min-height:101px !important;
    padding:11px !important;
  }
  .allies-code-emblem-v55{
    width:58px !important;
    height:58px !important;
  }
  .allies-code-emblem-v55 img{
    width:49px !important;
    height:49px !important;
  }
  .allies-code-copy-v55 span{
    font-size:.47rem !important;
  }
  .allies-code-copy-v55 strong{
    font-size:1.12rem !important;
  }
  .allies-code-copy-v55 small{
    font-size:.43rem !important;
    max-width:160px;
  }
  .allies-copy-v55{
    min-width:72px !important;
    min-height:42px !important;
    padding:0 8px !important;
  }

  .allies-summary-v55{
    gap:9px !important;
  }
  .allies-summary-v55 article{
    min-height:69px !important;
    grid-template-columns:40px minmax(0,1fr) !important;
    gap:8px !important;
    padding:8px 9px !important;
  }
  
  
  .allies-summary-v55 small{
    font-size:.37rem !important;
    letter-spacing:.06em !important;
  }
  .allies-summary-v55 strong{
    font-size:.84rem !important;
  }

  .allies-find-v55{
    padding:12px !important;
  }
  .allies-find-icon-v55{
    width:42px !important;
    height:42px !important;
    flex-basis:42px !important;
  }
  .allies-find-icon-v55 img{
    width:35px !important;
    height:35px !important;
  }
  .allies-find-head-v55 strong{
    font-size:.72rem !important;
  }
  .allies-find-head-v55 small{
    font-size:.44rem !important;
  }
  .allies-find-row-v55{
    grid-template-columns:minmax(0,1fr) 94px !important;
    gap:8px !important;
  }
  .allies-find-row-v55 input{
    height:45px !important;
    font-size:.76rem !important;
  }
  .allies-find-row-v55 button{
    min-height:45px !important;
    font-size:.64rem !important;
  }

  .allies-list-panel-v55{
    padding:12px !important;
  }
  .allies-list-row-v55{
    min-height:64px !important;
    grid-template-columns:47px minmax(0,1fr) auto 12px !important;
    gap:8px !important;
    padding:7px 9px !important;
  }
  .allies-list-avatar-v55{
    width:46px !important;
    height:46px !important;
  }
  .allies-list-avatar-v55 img{
    width:42px !important;
    height:42px !important;
  }
  .allies-list-identity-v55 strong{
    font-size:.80rem !important;
  }
  .allies-list-focus-v55 span{
    font-size:.68rem !important;
  }
}

/* Extra safeguard for the exact narrow mobile width shown in testing. */
@media (max-width:430px){
  .allies-summary-v55 article{
    overflow:hidden;
  }
  .allies-summary-v55 small{
    text-overflow:ellipsis;
    overflow:hidden;
  }
}


/* v57 — Allies summary icons sit directly on the panel background. */
.allies-summary-icon-v55 {
  width:46px !important;
  height:46px !important;
  display:grid !important;
  place-items:center !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.allies-summary-icon-v55 img {
  width:36px !important;
  height:36px !important;
  object-fit:contain !important;
  filter:drop-shadow(0 0 7px rgba(226,177,73,.16)) !important;
}

@media (max-width:390px) {
  .allies-summary-icon-v55 {
    width:38px !important;
    height:38px !important;
  }

  .allies-summary-icon-v55 img {
    width:29px !important;
    height:29px !important;
  }
}


/* ==========================================================================
   Lumen Academy v58 — merge Allies + Combined Focus into one summary card
   ========================================================================== */

.allies-summary-v55.allies-summary-merged-v58{
  display:block !important;
}

.allies-summary-card-v58{
  min-height:84px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);
  align-items:center;
  gap:0;
  padding:11px 14px;
  border-radius:16px;
  border:1px solid rgba(78,124,207,.20);
  background:
    radial-gradient(circle at 10% 50%,rgba(54,88,154,.12),transparent 35%),
    linear-gradient(180deg,rgba(11,35,67,.76),rgba(6,22,43,.92));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}

.allies-summary-stat-v58{
  min-width:0;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  align-items:center;
  gap:11px;
  padding:0 4px;
}

.allies-summary-divider-v58{
  width:1px;
  height:44px;
  justify-self:center;
  background:linear-gradient(180deg,transparent,rgba(218,173,79,.38),transparent);
}

.allies-summary-stat-v58 > div{
  min-width:0;
  display:grid;
  gap:2px;
}

.allies-summary-stat-v58 small{
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#9fb2cc;
  font-size:.43rem;
  letter-spacing:.11em;
}

.allies-summary-stat-v58 strong{
  color:#f0d28a;
  font-family:var(--lumen-font-display) !important;
  font-size:.98rem;
  font-weight:500;
  line-height:1;
}

@media (max-width:390px){
  .allies-summary-card-v58{
    min-height:70px;
    padding:8px 10px;
  }
  .allies-summary-stat-v58{
    grid-template-columns:40px minmax(0,1fr);
    gap:8px;
    padding:0 2px;
  }
  .allies-summary-divider-v58{
    height:36px;
  }
  .allies-summary-stat-v58 small{
    font-size:.37rem;
    letter-spacing:.06em;
  }
  .allies-summary-stat-v58 strong{
    font-size:.82rem;
  }
}


/* ==========================================================================
   Lumen Academy v59 — subtle dividers between Focus Summary statistics
   ========================================================================== */
body.secondary-screen-active
.stats-mock-summary-grid
.stats-mock-summary-tile {
  position: relative !important;
}

/* Disable older right-edge divider rules so there is one canonical separator. */
body.secondary-screen-active
.stats-mock-summary-grid
.stats-mock-summary-tile::before {
  content: none !important;
  display: none !important;
}

/* Each item after the first receives a centered, softly fading divider. */
body.secondary-screen-active
.stats-mock-summary-grid
.stats-mock-summary-tile + .stats-mock-summary-tile::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: -3px !important;
  top: 12px !important;
  bottom: 12px !important;
  width: 1px !important;
  background: linear-gradient(
    to bottom,
    transparent 0%,
    rgba(192, 205, 224, .08) 10%,
    rgba(192, 205, 224, .24) 34%,
    rgba(216, 184, 112, .22) 50%,
    rgba(192, 205, 224, .24) 66%,
    rgba(192, 205, 224, .08) 90%,
    transparent 100%
  ) !important;
  box-shadow: 0 0 5px rgba(210, 184, 120, .035) !important;
  pointer-events: none !important;
}

@media (max-width:390px) {
  body.secondary-screen-active
  .stats-mock-summary-grid
  .stats-mock-summary-tile + .stats-mock-summary-tile::before {
    top: 10px !important;
    bottom: 10px !important;
    background: linear-gradient(
      to bottom,
      transparent,
      rgba(188, 202, 222, .20) 28%,
      rgba(213, 182, 111, .18) 50%,
      rgba(188, 202, 222, .20) 72%,
      transparent
    ) !important;
  }
}


/* ==========================================================================
   Lumen Academy v60 — corrective Allies + Stats layout pass
   ========================================================================== */

/* --- Ally code: protect the code from the Copy button at real phone widths. --- */
#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-code-panel-v55{
  grid-template-columns:64px minmax(0,1fr) 82px !important;
  column-gap:11px !important;
  padding:12px 13px !important;
}

#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-code-emblem-v55{
  width:62px !important;
  height:62px !important;
}

#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-code-emblem-v55 img{
  width:52px !important;
  height:52px !important;
}

#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-code-copy-v55{
  min-width:0 !important;
  overflow:hidden !important;
}

#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-code-copy-v55 > strong{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
  white-space:nowrap !important;
  text-overflow:clip !important;
  font-size:1.18rem !important;
  letter-spacing:.09em !important;
  line-height:1.05 !important;
}

#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-code-copy-v55 > small{
  max-width:100% !important;
}

#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-copy-v55{
  width:82px !important;
  min-width:82px !important;
  max-width:82px !important;
  min-height:44px !important;
  padding:0 8px !important;
  justify-self:end !important;
}

/* --- Merged summary: guaranteed horizontal stat | divider | stat structure. --- */
.allies-summary-v55.allies-summary-merged-v60{
  display:block !important;
  width:100% !important;
}

.allies-summary-card-v60{
  width:100% !important;
  min-height:76px !important;
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr) !important;
  grid-template-rows:1fr !important;
  align-items:center !important;
  gap:0 !important;
  padding:9px 12px !important;
  
  
  
  
}

.allies-summary-stat-v60{
  min-width:0 !important;
  display:grid !important;
  grid-template-columns:42px minmax(0,1fr) !important;
  grid-template-rows:1fr !important;
  align-items:center !important;
  gap:8px !important;
  padding:0 8px !important;
}

.allies-summary-stat-v60 .allies-summary-icon-v55{
  width:38px !important;
  height:38px !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.allies-summary-stat-v60 .allies-summary-icon-v55 img{
  width:30px !important;
  height:30px !important;
}

.allies-summary-copy-v60{
  min-width:0 !important;
  display:grid !important;
  gap:3px !important;
  align-content:center !important;
}

.allies-summary-copy-v60 small{
  display:block !important;
  min-width:0 !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
  color:#9fb2cc !important;
  font-size:.39rem !important;
  letter-spacing:.065em !important;
  line-height:1.05 !important;
}

.allies-summary-copy-v60 strong{
  color:#f0d28a !important;
  font-family:var(--lumen-font-display) !important;
  font-size:.91rem !important;
  font-weight:500 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  font-variant-numeric:lining-nums tabular-nums !important;
}

.allies-summary-divider-v60{
  width:1px !important;
  height:46px !important;
  align-self:center !important;
  justify-self:center !important;
  background:linear-gradient(
    to bottom,
    transparent,
    rgba(207,219,235,.20) 20%,
    rgba(225,188,105,.38) 50%,
    rgba(207,219,235,.20) 80%,
    transparent
  ) !important;
}

/* No count pill beside YOUR ALLIES. */
.allies-list-heading-v55{
  justify-content:flex-start !important;
}
.allies-list-heading-v55 > span{
  display:none !important;
}

/* --- Stats: use actual borders, not pseudo-elements, for reliable visibility. --- */
.iphone-stats-page .stats-mock-summary-grid > .stats-mock-summary-tile::before,
.iphone-stats-page .stats-mock-summary-grid > .stats-mock-summary-tile::after{
  content:none !important;
  display:none !important;
}

.iphone-stats-page .stats-mock-summary-grid > .stats-mock-summary-tile{
  border-left:0 !important;
}

.iphone-stats-page .stats-mock-summary-grid > .stats-mock-summary-tile + .stats-mock-summary-tile{
  border-left:1px solid rgba(219,186,111,.38) !important;
  box-shadow:
    inset 1px 0 0 rgba(176,195,219,.07) !important;
}

/* The border needs a little air so it visibly sits between the content columns. */
.iphone-stats-page .stats-mock-summary-grid{
  gap:0 !important;
}

.iphone-stats-page .stats-mock-summary-grid > .stats-mock-summary-tile{
  padding-left:6px !important;
  padding-right:6px !important;
}

@media (max-width:430px){
  #sheetOverlay > .sheet:has(.allies-modal-v55) .allies-code-panel-v55{
    grid-template-columns:58px minmax(0,1fr) 76px !important;
    column-gap:9px !important;
    padding:10px 11px !important;
  }

  #sheetOverlay > .sheet:has(.allies-modal-v55) .allies-code-emblem-v55{
    width:56px !important;
    height:56px !important;
  }

  #sheetOverlay > .sheet:has(.allies-modal-v55) .allies-code-emblem-v55 img{
    width:47px !important;
    height:47px !important;
  }

  #sheetOverlay > .sheet:has(.allies-modal-v55) .allies-code-copy-v55 > strong{
    font-size:1.03rem !important;
    letter-spacing:.06em !important;
  }

  #sheetOverlay > .sheet:has(.allies-modal-v55) .allies-code-copy-v55 > span{
    font-size:.46rem !important;
    letter-spacing:.12em !important;
  }

  #sheetOverlay > .sheet:has(.allies-modal-v55) .allies-code-copy-v55 > small{
    font-size:.41rem !important;
    line-height:1.30 !important;
  }

  #sheetOverlay > .sheet:has(.allies-modal-v55) .allies-copy-v55{
    width:76px !important;
    min-width:76px !important;
    max-width:76px !important;
    min-height:42px !important;
  }

  .allies-summary-card-v60{
    min-height:70px !important;
    padding:8px 8px !important;
  }

  .allies-summary-stat-v60{
    grid-template-columns:36px minmax(0,1fr) !important;
    gap:6px !important;
    padding:0 6px !important;
  }

  .allies-summary-stat-v60 .allies-summary-icon-v55{
    width:34px !important;
    height:34px !important;
  }

  .allies-summary-stat-v60 .allies-summary-icon-v55 img{
    width:27px !important;
    height:27px !important;
  }

  .allies-summary-copy-v60 small{
    font-size:.355rem !important;
    letter-spacing:.04em !important;
  }

  .allies-summary-copy-v60 strong{
    font-size:.82rem !important;
  }

  .allies-summary-divider-v60{
    height:40px !important;
  }

  .iphone-stats-page .stats-mock-summary-grid > .stats-mock-summary-tile + .stats-mock-summary-tile{
    border-left-color:rgba(225,190,112,.42) !important;
  }

  .iphone-stats-page .stats-mock-summary-grid > .stats-mock-summary-tile{
    padding-left:4px !important;
    padding-right:4px !important;
  }
}


/* ==========================================================================
   Lumen Academy v61 — allies modal reflow and hierarchy correction
   ========================================================================== */
#sheetOverlay > .sheet:has(.allies-modal-v55){
  width:min(440px,calc(100vw - 14px)) !important;
}
#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-modal-v55{
  
  display:flex !important;
  flex-direction:column !important;
  box-sizing:border-box !important;
}
#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-hub-body-v55{
  
  
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
}

/* Put FIND AN ALLY in the primary hero position but keep it compact. */
#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-find-v55.allies-find-top-v61{
  order:1 !important;
  gap:9px !important;
  padding:12px 13px !important;
  border-radius:18px !important;
}
#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-find-top-v61 .allies-find-head-v55{
  gap:10px !important;
}
#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-find-top-v61 .allies-find-icon-v55{
  width:42px !important;
  height:42px !important;
  flex-basis:42px !important;
}
#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-find-top-v61 .allies-find-icon-v55 img{
  width:35px !important;
  height:35px !important;
}
#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-find-top-v61 .allies-find-head-v55 strong{
  font-size:.81rem !important;
  letter-spacing:.05em !important;
}
#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-find-top-v61 .allies-find-head-v55 small{
  font-size:.47rem !important;
  line-height:1.25 !important;
}
#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-find-top-v61 .allies-find-row-v55{
  grid-template-columns:minmax(0,1fr) 116px !important;
  gap:10px !important;
}
#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-find-top-v61 .allies-find-row-v55 input,
#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-find-top-v61 .allies-find-row-v55 button{
  height:46px !important;
  min-height:46px !important;
}

/* Keep the merged summary compact. */
#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-summary-v55.allies-summary-merged-v60{
  order:2 !important;
}
#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-summary-card-v60{
  min-height:72px !important;
  padding:8px 12px !important;
}
#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-summary-divider-v60{
  height:38px !important;
}

/* Turn YOUR ALLY CODE into a thin manage-style strip. */
#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-code-panel-v55.allies-code-strip-v61{
  order:3 !important;
  min-height:0 !important;
  grid-template-columns:34px minmax(0,1fr) 74px !important;
  align-items:center !important;
  gap:10px !important;
  padding:8px 10px !important;
  border-radius:14px !important;
  border:1px solid rgba(220,174,75,.32) !important;
  background:linear-gradient(180deg,rgba(8,27,53,.84),rgba(5,17,34,.94)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03) !important;
}
#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-code-strip-v61 .allies-code-emblem-v55{
  width:32px !important;
  height:32px !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-code-strip-v61 .allies-code-emblem-v55 img{
  width:32px !important;
  height:32px !important;
}
#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-code-strip-v61 .allies-code-copy-v55{
  display:grid !important;
  gap:1px !important;
  min-width:0 !important;
}
#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-code-strip-v61 .allies-code-copy-v55 span{
  
  letter-spacing:.18em !important;
  line-height:1 !important;
}
#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-code-strip-v61 .allies-code-copy-v55 strong{
  font-size:.96rem !important;
  letter-spacing:.12em !important;
  line-height:1.02 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:clip !important;
}
#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-code-strip-v61 .allies-code-copy-v55 small{
  display:none !important;
}
#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-code-strip-v61 .allies-copy-v55{
  width:74px !important;
  min-width:74px !important;
  max-width:74px !important;
  min-height:36px !important;
  border-radius:11px !important;
}

#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-code-strip-v61 .allies-copy-v55 span{
  font-size:.88rem !important;
}

/* Give Your Allies the visual and spatial priority. */
#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-list-panel-v55.allies-list-panel-main-v61{
  order:4 !important;
  
  
  display:flex !important;
  flex-direction:column !important;
  gap:9px !important;
  padding:12px !important;
}
#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-list-panel-main-v61 .allies-list-v55{
  display:grid !important;
  gap:9px !important;
  align-content:start !important;
}
#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-list-panel-main-v61 .allies-list-heading-v55{
  margin-bottom:1px !important;
}
#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-list-panel-main-v61 .allies-list-heading-v55 strong{
  font-size:.80rem !important;
}

@media (max-width:430px){
  #sheetOverlay > .sheet:has(.allies-modal-v55) .allies-hub-body-v55{
    gap:9px !important;
  }
  #sheetOverlay > .sheet:has(.allies-modal-v55) .allies-find-top-v61{
    padding:11px !important;
  }
  #sheetOverlay > .sheet:has(.allies-modal-v55) .allies-find-top-v61 .allies-find-row-v55{
    grid-template-columns:minmax(0,1fr) 108px !important;
    gap:8px !important;
  }
  #sheetOverlay > .sheet:has(.allies-modal-v55) .allies-find-top-v61 .allies-find-row-v55 input,
  #sheetOverlay > .sheet:has(.allies-modal-v55) .allies-find-top-v61 .allies-find-row-v55 button{
    height:44px !important;
    min-height:44px !important;
  }
  #sheetOverlay > .sheet:has(.allies-modal-v55) .allies-summary-card-v60{
    min-height:68px !important;
    padding:8px 10px !important;
  }
  #sheetOverlay > .sheet:has(.allies-modal-v55) .allies-code-panel-v55.allies-code-strip-v61{
    grid-template-columns:30px minmax(0,1fr) 68px !important;
    gap:8px !important;
    padding:7px 9px !important;
  }
  #sheetOverlay > .sheet:has(.allies-modal-v55) .allies-code-strip-v61 .allies-code-emblem-v55,
  #sheetOverlay > .sheet:has(.allies-modal-v55) .allies-code-strip-v61 .allies-code-emblem-v55 img{
    width:28px !important;
    height:28px !important;
  }
  #sheetOverlay > .sheet:has(.allies-modal-v55) .allies-code-strip-v61 .allies-code-copy-v55 strong{
    font-size:.88rem !important;
    letter-spacing:.09em !important;
  }
  #sheetOverlay > .sheet:has(.allies-modal-v55) .allies-code-strip-v61 .allies-copy-v55{
    width:68px !important;
    min-width:68px !important;
    max-width:68px !important;
    min-height:34px !important;
  }
  #sheetOverlay > .sheet:has(.allies-modal-v55) .allies-list-panel-v55.allies-list-panel-main-v61{
    min-height:280px !important;
    padding:11px !important;
  }
}


/* ==========================================================================
   Allies scroll + 20 ally cap (introduced before v65)
   ========================================================================== */

/* Keep the popup shell fixed; only the ally list should scroll. */
#sheetOverlay > .sheet:has(.allies-modal-v55){
  height:calc(100dvh - 14px) !important;
  max-height:calc(100dvh - 14px) !important;
  overflow:hidden !important;
}

#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-modal-v55{
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
}

#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-hub-body-v55{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:hidden !important;
}

#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-list-panel-v55.allies-list-panel-main-v61{
  flex:1 1 auto !important;
  min-height:190px !important;
  overflow:hidden !important;
}

#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-list-panel-main-v61 .allies-list-v55{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch !important;
  touch-action:pan-y !important;
  padding-right:3px !important;
  scrollbar-width:thin !important;
  scrollbar-color:rgba(214,174,85,.25) transparent !important;
}

#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-list-panel-main-v61 .allies-list-v55::-webkit-scrollbar{
  width:3px !important;
}
#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-list-panel-main-v61 .allies-list-v55::-webkit-scrollbar-track{
  background:transparent !important;
}
#sheetOverlay > .sheet:has(.allies-modal-v55) .allies-list-panel-main-v61 .allies-list-v55::-webkit-scrollbar-thumb{
  border-radius:999px !important;
  background:rgba(214,174,85,.24) !important;
}

@media (max-height:760px){
  #sheetOverlay > .sheet:has(.allies-modal-v55) .allies-list-panel-v55.allies-list-panel-main-v61{
    min-height:150px !important;
  }
}

/* ===== 2026-09-08 Academy Expedition popup modernization ===== */


.team-expedition-modal{
  display:grid !important;
  gap:12px !important;
  padding:2px 0 0 !important;
}
.team-expedition-modal-hero,
.team-expedition-modal-progress,
.team-expedition-modal-rank-section,
.team-expedition-modal-tier-section{
  position:relative !important;
  border-radius:18px !important;
  border:1px solid rgba(217,179,88,.18) !important;
  background:
    radial-gradient(circle at 78% 12%, rgba(66,118,194,.16), transparent 28%),
    linear-gradient(180deg, rgba(9,25,55,.95), rgba(5,16,38,.96)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 14px 28px rgba(0,0,0,.18) !important;
}
.team-expedition-modal-hero{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:14px !important;
  padding:16px !important;
}
.team-expedition-modal-badge{
  width:92px !important;
  height:92px !important;
  display:grid !important;
  place-items:center !important;
  flex:0 0 auto !important;
}
.team-expedition-modal-badge img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.28)) !important;
}
.team-expedition-modal-copy{
  min-width:0 !important;
  display:grid !important;
  gap:8px !important;
}
.team-expedition-modal-copy > strong{
  color:#f6e5bd !important;
  font-size:1.08rem !important;
  line-height:1.02 !important;
  letter-spacing:.01em !important;
  font-weight:600 !important;
}
.team-expedition-modal-meta{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:8px !important;
  color:rgba(225,232,245,.84) !important;
  font-size:.58rem !important;
  letter-spacing:.05em !important;
}
.team-expedition-modal-meta span{
  opacity:.55 !important;
}
.team-expedition-modal-status{
  margin:0 !important;
  color:rgba(224,214,190,.7) !important;
  font-size:.5rem !important;
  line-height:1.45 !important;
}
.team-expedition-modal-status.ready{ color:#f0d79a !important; }
.team-expedition-modal-status.locked{ color:#d4def4 !important; }
.team-expedition-modal-status.claimed{ color:#b9e6c5 !important; }
.team-expedition-modal-total{
  min-width:176px !important;
  align-self:stretch !important;
  display:grid !important;
  align-content:center !important;
  justify-items:end !important;
  gap:6px !important;
  padding-left:18px !important;
  border-left:1px solid rgba(218,181,96,.28) !important;
}
.team-expedition-modal-total span,
.team-expedition-modal-section-head span,
.team-expedition-modal-stats span,
.team-expedition-tier-line-copy small,
.team-expedition-modal-rank-node small{
  color:rgba(223,213,190,.68) !important;
  letter-spacing:.13em !important;
  text-transform:uppercase !important;
}
.team-expedition-modal-total span,
.team-expedition-modal-stats span,
.team-expedition-modal-section-head span{
  font-size:.47rem !important;
  font-weight:800 !important;
}
.team-expedition-modal-total strong{
  color:#f4d284 !important;
  font-size:.92rem !important;
  line-height:1.08 !important;
  text-align:right !important;
}
.team-expedition-modal-progress{
  display:grid !important;
  gap:12px !important;
  padding:14px 16px !important;
}
.team-expedition-modal-track{
  height:16px !important;
  border-radius:999px !important;
  background:rgba(132,162,220,.14) !important;
  border:1px solid rgba(169,196,241,.14) !important;
  box-shadow: inset 0 1px 4px rgba(0,0,0,.2) !important;
}
.team-expedition-modal-track i{
  background:linear-gradient(90deg, rgba(118,166,245,.98), rgba(158,196,255,.96)) !important;
  box-shadow:0 0 16px rgba(116,166,247,.24) !important;
}
.team-expedition-modal-stats{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  gap:0 !important;
}
.team-expedition-modal-stats article{
  min-width:0 !important;
  display:grid !important;
  justify-items:center !important;
  align-content:start !important;
  gap:6px !important;
  padding:2px 16px 0 !important;
  text-align:center !important;
}
.team-expedition-modal-stats article + article{
  border-left:1px solid rgba(217,180,92,.24) !important;
}
.team-expedition-modal-stats strong{
  color:#f3e5c4 !important;
  font-size:.84rem !important;
  line-height:1.05 !important;
}
.team-expedition-modal-stats-reward .team-expedition-tier-line-reward{
  justify-content:center !important;
}
.team-expedition-modal-section-head{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:10px !important;
  margin-bottom:14px !important;
}
.team-expedition-modal-section-head small{
  color:#f2d38d !important;
  font-size:.5rem !important;
  letter-spacing:.08em !important;
}
.team-expedition-modal-rank-section,
.team-expedition-modal-tier-section{
  padding:16px !important;
}
.team-expedition-modal-rank-scale{
  position:relative !important;
  height:178px !important;
}
.team-expedition-modal-rank-track{
  position:absolute !important;
  left:7% !important;
  right:7% !important;
  top:72px !important;
  height:2px !important;
  border-radius:999px !important;
  background:rgba(150,174,221,.28) !important;
  overflow:visible !important;
}
.team-expedition-modal-rank-track i{
  display:block !important;
  height:100% !important;
  border-radius:inherit !important;
  background:linear-gradient(90deg, rgba(197,148,72,.72), rgba(143,182,242,.8), rgba(226,186,87,.82)) !important;
}
.team-expedition-modal-rank-node{
  position:absolute !important;
  top:0 !important;
  transform:translateX(-50%) !important;
  display:grid !important;
  justify-items:center !important;
  gap:6px !important;
  width:112px !important;
  text-align:center !important;
}
.team-expedition-modal-rank-node img{
  width:84px !important;
  height:84px !important;
  object-fit:contain !important;
  opacity:.58 !important;
  filter: grayscale(.06) brightness(.96) drop-shadow(0 8px 14px rgba(0,0,0,.18)) !important;
}
.team-expedition-modal-rank-node.unlocked img{ opacity:.9 !important; }
.team-expedition-modal-rank-node.current img{
  opacity:1 !important;
  filter: drop-shadow(0 0 0 rgba(0,0,0,0)) drop-shadow(0 10px 16px rgba(0,0,0,.24)) !important;
}
.team-expedition-modal-rank-node::after{
  content:"" !important;
  position:absolute !important;
  top:67px !important;
  width:18px !important;
  height:18px !important;
  border-radius:50% !important;
  border:2px solid rgba(123,166,235,.74) !important;
  background:rgba(10,20,42,.98) !important;
  box-shadow:0 0 0 2px rgba(6,15,31,.65) !important;
}
.team-expedition-modal-rank-node.current::after{
  border-color:rgba(240,205,116,.92) !important;
  box-shadow:0 0 0 2px rgba(6,15,31,.65), 0 0 0 5px rgba(240,205,116,.12) !important;
}
.team-expedition-modal-rank-node strong{
  color:#efe0b9 !important;
  font-size:.82rem !important;
  letter-spacing:.04em !important;
  line-height:1 !important;
}
.team-expedition-modal-rank-node small{
  font-size:.44rem !important;
  line-height:1.2 !important;
}
.team-expedition-modal-tier-list{
  display:grid !important;
}
.team-expedition-tier-line{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:14px !important;
  padding:14px 0 !important;
  border-bottom:1px solid rgba(217,180,92,.18) !important;
}
.team-expedition-tier-line:first-child{ padding-top:0 !important; }
.team-expedition-tier-line:last-child{
  padding-bottom:0 !important;
  border-bottom:0 !important;
}
.team-expedition-tier-line.current .team-expedition-tier-line-copy strong{
  color:#f5d488 !important;
}
.team-expedition-tier-line-badge{
  width:58px !important;
  height:58px !important;
  display:grid !important;
  place-items:center !important;
  flex:0 0 auto !important;
}
.team-expedition-tier-line-badge img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
}
.team-expedition-tier-line-copy{
  min-width:0 !important;
  display:grid !important;
  gap:4px !important;
}
.team-expedition-tier-line-copy strong{
  color:#f1e5c5 !important;
  font-size:.82rem !important;
  letter-spacing:.08em !important;
  line-height:1 !important;
}
.team-expedition-tier-line-copy small{
  font-size:.44rem !important;
}
.team-expedition-tier-line-reward{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:10px !important;
  min-width:74px !important;
}
.team-expedition-modal .team-expedition-tier-line-reward .team-expedition-reward-icons{
  gap:10px !important;
}
.team-expedition-modal .team-expedition-tier-line-reward .team-expedition-reward-icon{
  width:34px !important;
  height:34px !important;
  border:none !important;
  border-radius:0 !important;
  background:none !important;
  box-shadow:none !important;
}
.team-expedition-modal .team-expedition-tier-line-reward .team-expedition-reward-icon img{
  width:28px !important;
  height:28px !important;
}
.team-expedition-modal .team-expedition-tier-line-reward .team-expedition-reward-icon.coin b{
  right:-10px !important;
  bottom:-5px !important;
}
.team-expedition-modal-actions{
  margin-top:2px !important;
}
.team-expedition-modal-actions .action-button[disabled]{
  opacity:.72 !important;
  filter:saturate(.7) !important;
}

@media (max-width: 430px){
  .team-expedition-modal{ gap:10px !important; }
  .team-expedition-modal-hero{
    grid-template-columns:76px minmax(0,1fr) !important;
    gap:12px !important;
    padding:14px !important;
  }
  .team-expedition-modal-badge{
    width:76px !important;
    height:76px !important;
  }
  .team-expedition-modal-copy > strong{
    font-size:.92rem !important;
  }
  .team-expedition-modal-meta{
    font-size:.5rem !important;
    gap:6px !important;
  }
  .team-expedition-modal-status{
    font-size:.44rem !important;
  }
  .team-expedition-modal-total{
    grid-column:1 / -1 !important;
    min-width:0 !important;
    padding-left:0 !important;
    padding-top:12px !important;
    border-left:0 !important;
    border-top:1px solid rgba(218,181,96,.22) !important;
    justify-items:start !important;
    text-align:left !important;
  }
  .team-expedition-modal-total strong{
    text-align:left !important;
    font-size:.84rem !important;
  }
  .team-expedition-modal-progress,
  .team-expedition-modal-rank-section,
  .team-expedition-modal-tier-section{
    padding:12px 14px !important;
  }
  .team-expedition-modal-stats article{
    padding:2px 10px 0 !important;
  }
  .team-expedition-modal-stats strong{
    font-size:.73rem !important;
  }
  .team-expedition-modal-rank-scale{
    height:148px !important;
  }
  .team-expedition-modal-rank-track{
    top:59px !important;
    left:8% !important;
    right:8% !important;
  }
  .team-expedition-modal-rank-node{
    width:94px !important;
    gap:4px !important;
  }
  .team-expedition-modal-rank-node img{
    width:68px !important;
    height:68px !important;
  }
  .team-expedition-modal-rank-node::after{
    top:55px !important;
    width:15px !important;
    height:15px !important;
  }
  .team-expedition-modal-rank-node strong{
    font-size:.7rem !important;
  }
  .team-expedition-modal-rank-node small{
    font-size:.38rem !important;
  }
  .team-expedition-tier-line{
    gap:10px !important;
    padding:12px 0 !important;
  }
  .team-expedition-tier-line-badge{
    width:50px !important;
    height:50px !important;
  }
  .team-expedition-tier-line-copy strong{
    font-size:.72rem !important;
  }
  .team-expedition-modal .team-expedition-tier-line-reward .team-expedition-reward-icon{
    width:30px !important;
    height:30px !important;
  }
  .team-expedition-modal .team-expedition-tier-line-reward .team-expedition-reward-icon img{
    width:24px !important;
    height:24px !important;
  }
}


/* ===== 2026-09-08 Academy Expedition compact-fit pass =====
   Tighten the popup so the full expedition overview fits on the standard
   iPhone-height sheet without needing to scroll in normal use. */


.team-expedition-sheet-shell .team-expedition-popup-head{
  margin-bottom: 6px !important;
}
.team-expedition-sheet-shell .team-expedition-modal{
  gap: 8px !important;
  padding-top: 0 !important;
}
.team-expedition-sheet-shell .team-expedition-modal-hero,
.team-expedition-sheet-shell .team-expedition-modal-progress,
.team-expedition-sheet-shell .team-expedition-modal-rank-section,
.team-expedition-sheet-shell .team-expedition-modal-tier-section{
  border-radius: 16px !important;
}









.team-expedition-sheet-shell .team-expedition-modal-progress{
  
  padding: 10px 12px !important;
}







.team-expedition-sheet-shell .team-expedition-modal-rank-section,
.team-expedition-sheet-shell .team-expedition-modal-tier-section{
  padding: 10px 12px !important;
}



















.team-expedition-sheet-shell .team-expedition-modal-actions .action-button,
.team-expedition-sheet-shell .team-expedition-modal-actions .secondary-button{
  
  
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

@media (max-width: 430px){
  
  .phone-stage #sheetOverlay .sheet.team-expedition-sheet-shell .sheet-header{
    top: -8px !important;
    
    
  }
  .team-expedition-sheet-shell .team-expedition-modal{
    gap: 7px !important;
  }
  .team-expedition-sheet-shell .team-expedition-modal-hero,
  .team-expedition-sheet-shell .team-expedition-modal-progress,
  .team-expedition-sheet-shell .team-expedition-modal-rank-section,
  .team-expedition-sheet-shell .team-expedition-modal-tier-section{
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .team-expedition-sheet-shell .team-expedition-modal-hero{
    
    
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  
  
  
  
  
  
  
  
  
  
  
  
  
  .team-expedition-sheet-shell .team-expedition-modal-rank-node strong{
    font-size: .58rem !important;
  }
  .team-expedition-sheet-shell .team-expedition-modal-rank-node small{
    font-size: .31rem !important;
  }
  
  
  
  
  
}


/* ===== v65 Academy Expedition final fit guard ===== */

.team-expedition-sheet-shell .team-expedition-modal{
  grid-template-rows: auto auto auto auto auto !important;
  align-content:start !important;
}
.team-expedition-sheet-shell .team-expedition-modal-hero{
  min-height:0 !important;
}
.team-expedition-sheet-shell .team-expedition-modal-progress,
.team-expedition-sheet-shell .team-expedition-modal-rank-section,
.team-expedition-sheet-shell .team-expedition-modal-tier-section{
  min-height:0 !important;
}
.team-expedition-sheet-shell .team-expedition-modal-tier-list{
  min-height:0 !important;
}
.team-expedition-sheet-shell .team-expedition-tier-line{
  min-height:0 !important;
}
.team-expedition-sheet-shell .team-expedition-modal-actions{
  min-height:0 !important;
}
@media (max-height: 760px){
  .team-expedition-sheet-shell .team-expedition-modal{ gap:6px !important; }
  .team-expedition-sheet-shell .team-expedition-modal-hero{ padding-top:7px !important; padding-bottom:7px !important; }
  .team-expedition-sheet-shell .team-expedition-modal-progress{ padding-top:8px !important; padding-bottom:8px !important; }
  .team-expedition-sheet-shell .team-expedition-modal-rank-section,
  .team-expedition-sheet-shell .team-expedition-modal-tier-section{ padding-top:8px !important; padding-bottom:8px !important; }
  .team-expedition-sheet-shell .team-expedition-modal-rank-scale{ height:96px !important; }
  .team-expedition-sheet-shell .team-expedition-modal-rank-track{ top:37px !important; }
  .team-expedition-sheet-shell .team-expedition-modal-rank-node img{ width:44px !important; height:44px !important; }
  .team-expedition-sheet-shell .team-expedition-modal-rank-node::after{ top:33px !important; }
  .team-expedition-sheet-shell .team-expedition-tier-line{ padding:6px 0 !important; }
  .team-expedition-sheet-shell .team-expedition-tier-line-badge{ width:34px !important; height:34px !important; }
  .team-expedition-sheet-shell .team-expedition-modal-actions .action-button,
  .team-expedition-sheet-shell .team-expedition-modal-actions .secondary-button{ height:40px !important; min-height:40px !important; }
}


/* ===== v66 Academy Expedition cohesive compact layout =====
   Consolidates the popup into two main panels with internal dividers so the
   whole expedition view fits cleanly without the over-carded feeling. */
.phone-stage #sheetOverlay .sheet.team-expedition-sheet-shell{
  max-height: 748px !important;
  overflow-y: hidden !important;
  padding: 8px 10px 10px !important;
}
.phone-stage #sheetOverlay .sheet.team-expedition-sheet-shell .sheet-header{
  top: -8px !important;
  margin: -8px -10px 6px !important;
  padding: 8px 10px 7px !important;
}
.team-expedition-sheet-shell .team-expedition-modal.team-expedition-modal-compact{
  gap: 8px !important;
  padding-top: 0 !important;
}
.team-expedition-modal-overview,
.team-expedition-modal-progression{
  position: relative !important;
  border-radius: 16px !important;
  border: 1px solid rgba(217,179,88,.18) !important;
  background:
    radial-gradient(circle at 78% 12%, rgba(66,118,194,.16), transparent 28%),
    linear-gradient(180deg, rgba(9,25,55,.95), rgba(5,16,38,.96)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 12px 24px rgba(0,0,0,.18) !important;
}
.team-expedition-modal-overview{
  display:grid !important;
  gap: 8px !important;
  padding: 10px 12px !important;
}
.team-expedition-modal-progression{
  display:grid !important;
  gap: 8px !important;
  padding: 10px 12px !important;
}
.team-expedition-modal-overview .team-expedition-modal-hero,
.team-expedition-modal-overview .team-expedition-modal-progress,
.team-expedition-modal-progression .team-expedition-modal-rank-section,
.team-expedition-modal-progression .team-expedition-modal-tier-section{
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}
.team-expedition-inline-divider{
  height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(217,180,92,.20) 12%, rgba(217,180,92,.28) 50%, rgba(217,180,92,.20) 88%, transparent) !important;
}
.team-expedition-inline-divider.section-divider{
  margin: 2px 0 !important;
}
.team-expedition-sheet-shell .team-expedition-modal-hero{
  grid-template-columns: 56px minmax(0,1fr) 118px !important;
  gap: 10px !important;
  padding: 0 !important;
  align-items: center !important;
}
.team-expedition-sheet-shell .team-expedition-modal-badge{
  width: 56px !important;
  height: 56px !important;
}
.team-expedition-sheet-shell .team-expedition-modal-copy{
  gap: 3px !important;
}
.team-expedition-sheet-shell .team-expedition-modal-copy > strong{
  font-size: .78rem !important;
  line-height: 1.02 !important;
}
.team-expedition-sheet-shell .team-expedition-modal-meta{
  font-size: .42rem !important;
  gap: 5px !important;
}
.team-expedition-sheet-shell .team-expedition-modal-status{
  font-size: .39rem !important;
  line-height: 1.25 !important;
}
.team-expedition-sheet-shell .team-expedition-modal-total{
  min-width: 118px !important;
  gap: 2px !important;
  padding-left: 10px !important;
}
.team-expedition-sheet-shell .team-expedition-modal-total span{
  font-size: .41rem !important;
}
.team-expedition-sheet-shell .team-expedition-modal-total strong{
  font-size: .70rem !important;
  line-height: 1.06 !important;
}
.team-expedition-sheet-shell .team-expedition-modal-progress{
  gap: 7px !important;
}
.team-expedition-sheet-shell .team-expedition-modal-track{
  height: 10px !important;
}
.team-expedition-sheet-shell .team-expedition-modal-stats{
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
}
.team-expedition-sheet-shell .team-expedition-modal-stats article{
  gap: 4px !important;
  padding: 0 10px !important;
}
.team-expedition-sheet-shell .team-expedition-modal-stats span{
  font-size: .41rem !important;
}
.team-expedition-sheet-shell .team-expedition-modal-stats strong{
  font-size: .74rem !important;
}
.team-expedition-sheet-shell .team-expedition-modal-stats article + article{
  border-left: 1px solid rgba(217,180,92,.24) !important;
}
.team-expedition-sheet-shell .team-expedition-modal .team-expedition-modal-stats-reward .team-expedition-reward-icons{
  gap: 8px !important;
}
.team-expedition-sheet-shell .team-expedition-modal .team-expedition-modal-stats-reward .team-expedition-reward-icon{
  width: 26px !important;
  height: 26px !important;
}
.team-expedition-sheet-shell .team-expedition-modal .team-expedition-modal-stats-reward .team-expedition-reward-icon img{
  width: 24px !important;
  height: 24px !important;
}
.team-expedition-sheet-shell .team-expedition-modal-section-head{
  margin-bottom: 4px !important;
}
.team-expedition-sheet-shell .team-expedition-modal-section-head span{
  font-size: .44rem !important;
}
.team-expedition-sheet-shell .team-expedition-modal-section-head small{
  font-size: .43rem !important;
}
.team-expedition-sheet-shell .team-expedition-modal-rank-scale{
  height: 112px !important;
}
.team-expedition-sheet-shell .team-expedition-modal-rank-track{
  top: 44px !important;
  left: 7% !important;
  right: 7% !important;
}
.team-expedition-sheet-shell .team-expedition-modal-rank-track i{
  background: linear-gradient(90deg, rgba(127,166,232,.76), rgba(167,198,244,.88), rgba(127,166,232,.76)) !important;
}
.team-expedition-sheet-shell .team-expedition-modal-rank-node{
  width: 92px !important;
  gap: 3px !important;
}
.team-expedition-sheet-shell .team-expedition-modal-rank-node img{
  width: 64px !important;
  height: 64px !important;
  opacity: .82 !important;
}
.team-expedition-sheet-shell .team-expedition-modal-rank-node.current img{
  opacity: 1 !important;
  filter: drop-shadow(0 8px 14px rgba(0,0,0,.24)) !important;
}
.team-expedition-sheet-shell .team-expedition-modal-rank-node::after{
  top: 48px !important;
  width: 12px !important;
  height: 12px !important;
  border-width: 1.5px !important;
  border-color: rgba(121,156,220,.68) !important;
}
.team-expedition-sheet-shell .team-expedition-modal-rank-node.current::after{
  border-color: rgba(238,207,126,.88) !important;
  box-shadow: 0 0 0 2px rgba(6,15,31,.65) !important;
}
.team-expedition-sheet-shell .team-expedition-modal-rank-node strong{
  font-size: .62rem !important;
}
.team-expedition-sheet-shell .team-expedition-modal-rank-node small{
  font-size: .33rem !important;
  line-height: 1.1 !important;
}
.team-expedition-sheet-shell .team-expedition-tier-head{
  margin-bottom: 0 !important;
}
.team-expedition-sheet-shell .team-expedition-modal-tier-list{
  display:grid !important;
}
.team-expedition-sheet-shell .team-expedition-tier-line{
  gap: 10px !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid rgba(217,180,92,.16) !important;
}
.team-expedition-sheet-shell .team-expedition-tier-line-badge{
  width: 44px !important;
  height: 44px !important;
}
.team-expedition-sheet-shell .team-expedition-tier-line-copy{
  gap: 2px !important;
}
.team-expedition-sheet-shell .team-expedition-tier-line-copy strong{
  font-size: .68rem !important;
}
.team-expedition-sheet-shell .team-expedition-tier-line-copy small{
  font-size: .37rem !important;
}
.team-expedition-sheet-shell .team-expedition-tier-line-reward{
  min-width: 78px !important;
  gap: 10px !important;
}
.team-expedition-sheet-shell .team-expedition-modal .team-expedition-tier-line-reward .team-expedition-reward-icons{
  gap: 10px !important;
}
.team-expedition-sheet-shell .team-expedition-modal .team-expedition-tier-line-reward .team-expedition-reward-icon{
  width: 32px !important;
  height: 32px !important;
}
.team-expedition-sheet-shell .team-expedition-modal .team-expedition-tier-line-reward .team-expedition-reward-icon img{
  width: 28px !important;
  height: 28px !important;
}
.team-expedition-sheet-shell .team-expedition-modal .team-expedition-tier-line-reward .team-expedition-reward-icon.coin b{
  transform: scale(.88) !important;
  right: -11px !important;
  bottom: -7px !important;
}
.team-expedition-sheet-shell .team-expedition-modal-actions{
  margin-top: 0 !important;
  gap: 8px !important;
}
.team-expedition-sheet-shell .team-expedition-modal-actions .action-button,
.team-expedition-sheet-shell .team-expedition-modal-actions .secondary-button{
  min-height: 42px !important;
  height: 42px !important;
}
@media (max-width: 430px){
  .phone-stage #sheetOverlay .sheet.team-expedition-sheet-shell{
    padding: 8px 8px 10px !important;
  }
  .phone-stage #sheetOverlay .sheet.team-expedition-sheet-shell .sheet-header{
    margin: -8px -8px 6px !important;
    padding: 8px 8px 7px !important;
  }
  .team-expedition-sheet-shell .team-expedition-modal-hero{
    grid-template-columns: 50px minmax(0,1fr) 98px !important;
    gap: 8px !important;
  }
  .team-expedition-sheet-shell .team-expedition-modal-badge{
    width: 50px !important;
    height: 50px !important;
  }
  .team-expedition-sheet-shell .team-expedition-modal-copy > strong{
    font-size: .74rem !important;
  }
  .team-expedition-sheet-shell .team-expedition-modal-meta,
  .team-expedition-sheet-shell .team-expedition-modal-status{
    font-size: .38rem !important;
  }
  .team-expedition-sheet-shell .team-expedition-modal-total{
    min-width: 98px !important;
    padding-left: 8px !important;
  }
  .team-expedition-sheet-shell .team-expedition-modal-total strong{
    font-size: .64rem !important;
  }
  .team-expedition-sheet-shell .team-expedition-modal-track{
    height: 9px !important;
  }
  .team-expedition-sheet-shell .team-expedition-modal-stats article{
    padding: 0 7px !important;
  }
  .team-expedition-sheet-shell .team-expedition-modal-stats strong{
    font-size: .66rem !important;
  }
  .team-expedition-sheet-shell .team-expedition-modal-rank-scale{
    height: 102px !important;
  }
  .team-expedition-sheet-shell .team-expedition-modal-rank-track{
    top: 40px !important;
  }
  .team-expedition-sheet-shell .team-expedition-modal-rank-node{
    width: 82px !important;
  }
  .team-expedition-sheet-shell .team-expedition-modal-rank-node img{
    width: 58px !important;
    height: 58px !important;
  }
  .team-expedition-sheet-shell .team-expedition-modal-rank-node::after{
    top: 44px !important;
    width: 11px !important;
    height: 11px !important;
  }
  .team-expedition-sheet-shell .team-expedition-tier-line{
    gap: 8px !important;
    padding: 7px 0 !important;
  }
  .team-expedition-sheet-shell .team-expedition-tier-line-badge{
    width: 40px !important;
    height: 40px !important;
  }
  .team-expedition-sheet-shell .team-expedition-tier-line-copy strong{
    font-size: .64rem !important;
  }
  .team-expedition-sheet-shell .team-expedition-modal .team-expedition-tier-line-reward .team-expedition-reward-icon{
    width: 30px !important;
    height: 30px !important;
  }
  .team-expedition-sheet-shell .team-expedition-modal .team-expedition-tier-line-reward .team-expedition-reward-icon img{
    width: 26px !important;
    height: 26px !important;
  }
}

/* ==========================================================================
   Academy Expedition — current implementation
   Isolated classes intentionally avoid the legacy expedition cascade.
   ========================================================================== */
.phone-stage #sheetOverlay .sheet.academy-expedition-sheet{
  width:369px !important;
  max-width:calc(100% - 16px) !important;
  max-height:830px !important;
  min-height:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border:1px solid rgba(221,181,88,.62) !important;
  border-radius:22px !important;
  background:
    radial-gradient(circle at 86% 3%,rgba(46,88,167,.18),transparent 26%),
    linear-gradient(180deg,rgba(6,22,48,.995),rgba(3,13,30,.998)) !important;
  box-shadow:0 24px 64px rgba(0,0,0,.58),inset 0 0 0 1px rgba(255,224,151,.035) !important;
}
.academy-expedition{
  display:grid !important;
  gap:8px !important;
  padding:13px 13px 12px !important;
  color:#edf2fb !important;
  box-sizing:border-box !important;
}
.academy-expedition-head{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:12px !important;
}
.academy-expedition-head > div > span{
  display:block !important;
  color:#e7c56f !important;
  font-family:var(--lumen-font-display) !important;
  font-size:.55rem !important;
  font-weight:600 !important;
  letter-spacing:.29em !important;
}
.academy-expedition-head h2{
  margin:4px 0 0 !important;
  color:#f3d99d !important;
  font-family:var(--lumen-font-display) !important;
  font-size:1.28rem !important;
  font-weight:600 !important;
  line-height:1 !important;
  letter-spacing:.025em !important;
}
.academy-expedition-x{
  width:42px !important;
  height:42px !important;
  flex:0 0 42px !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
  border:1px solid rgba(239,194,88,.72) !important;
  border-radius:11px !important;
  background:linear-gradient(180deg,rgba(12,37,76,.92),rgba(5,20,45,.98)) !important;
  color:#f0c86c !important;
  font-size:1.38rem !important;
  line-height:1 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05) !important;
}
.academy-expedition-title-rule{
  display:grid !important;
  grid-template-columns:1fr auto 1fr !important;
  align-items:center !important;
  gap:8px !important;
  height:8px !important;
  color:#e2b858 !important;
}
.academy-expedition-title-rule i{
  height:1px !important;
  background:linear-gradient(90deg,transparent,rgba(228,185,91,.48)) !important;
}
.academy-expedition-title-rule i:last-child{
  background:linear-gradient(90deg,rgba(228,185,91,.48),transparent) !important;
}
.academy-expedition-title-rule b{
  font-size:.62rem !important;
  font-weight:400 !important;
}

/* Expedition summary */
.academy-expedition-hero{
  display:grid !important;
  gap:9px !important;
  padding:11px 12px 10px !important;
  border:1px solid rgba(92,143,222,.30) !important;
  border-radius:18px !important;
  background:
    radial-gradient(circle at 18% 25%,rgba(27,87,176,.17),transparent 31%),
    linear-gradient(180deg,rgba(8,34,70,.96),rgba(4,20,45,.98)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 10px 26px rgba(0,0,0,.14) !important;
}
.academy-expedition-hero-top{
  display:grid !important;
  grid-template-columns:72px minmax(0,1fr) 102px !important;
  align-items:center !important;
  gap:10px !important;
}
.academy-expedition-hero-badge{
  width:72px !important;
  height:72px !important;
  display:grid !important;
  place-items:center !important;
}
.academy-expedition-hero-badge img{
  width:72px !important;
  height:72px !important;
  object-fit:contain !important;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.28)) !important;
}
.academy-expedition-hero-copy{
  min-width:0 !important;
  display:grid !important;
  gap:4px !important;
}
.academy-expedition-hero-copy > strong{
  color:#f7e9c6 !important;
  font-family:var(--lumen-font-display) !important;
  font-size:.84rem !important;
  font-weight:600 !important;
  line-height:1.02 !important;
}
.academy-expedition-hero-meta{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:5px !important;
  color:#b5c8e5 !important;
  font-size:.43rem !important;
  line-height:1.15 !important;
}
.academy-expedition-hero-meta > span{
  color:#efc66b !important;
  font-size:.62rem !important;
}
.academy-expedition-hero-meta > i{
  width:1px !important;
  height:10px !important;
  background:rgba(229,188,99,.44) !important;
}
.academy-expedition-hero-copy p{
  margin:0 !important;
  max-width:180px !important;
  color:#92a9cb !important;
  font-size:.40rem !important;
  line-height:1.32 !important;
}
.academy-expedition-hero-copy p.ready{color:#ecd18e !important;}
.academy-expedition-hero-copy p.locked{color:#b8c9e3 !important;}
.academy-expedition-hero-copy p.claimed{color:#b8dfc2 !important;}
.academy-expedition-team-xp{
  align-self:stretch !important;
  display:grid !important;
  align-content:center !important;
  justify-items:end !important;
  gap:4px !important;
  padding-left:10px !important;
  border-left:1px solid rgba(229,188,99,.44) !important;
}
.academy-expedition-team-xp span{
  color:#a7bad7 !important;
  font-size:.40rem !important;
  font-weight:700 !important;
  letter-spacing:.14em !important;
}
.academy-expedition-team-xp strong{
  color:#f4d58d !important;
  font-family:var(--lumen-font-display) !important;
  font-size:.68rem !important;
  font-weight:600 !important;
  line-height:1.15 !important;
  text-align:right !important;
  white-space:nowrap !important;
  font-variant-numeric:lining-nums tabular-nums !important;
}
.academy-expedition-progressbar{
  position:relative !important;
  height:10px !important;
  overflow:hidden !important;
  border:1px solid rgba(130,169,225,.42) !important;
  border-radius:999px !important;
  background:rgba(42,76,126,.34) !important;
  box-shadow:inset 0 2px 4px rgba(0,0,0,.26) !important;
}
.academy-expedition-progressbar i{
  display:block !important;
  height:100% !important;
  border-radius:inherit !important;
  background:linear-gradient(90deg,#4e91e7,#85baf3) !important;
  box-shadow:0 0 12px rgba(87,151,232,.34) !important;
}
.academy-expedition-summary{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
.academy-expedition-summary article{
  min-width:0 !important;
  min-height:44px !important;
  display:grid !important;
  align-content:center !important;
  justify-items:center !important;
  gap:4px !important;
  padding:0 8px !important;
  text-align:center !important;
}
.academy-expedition-summary article + article{
  border-left:1px solid rgba(229,188,99,.38) !important;
}
.academy-expedition-summary article > span{
  color:#a8b9d1 !important;
  font-size:.39rem !important;
  font-weight:700 !important;
  letter-spacing:.15em !important;
}
.academy-expedition-summary article > strong{
  color:#f5e4ba !important;
  font-family:var(--lumen-font-display) !important;
  font-size:.75rem !important;
  font-weight:600 !important;
  font-variant-numeric:lining-nums tabular-nums !important;
}
.academy-expedition-summary-reward{
  
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

/* Academy rank */
.academy-expedition-rank{
  padding:10px 12px 8px !important;
  border:1px solid rgba(95,139,207,.24) !important;
  border-radius:18px !important;
  background:
    radial-gradient(circle at 50% 80%,rgba(21,79,153,.18),transparent 45%),
    linear-gradient(180deg,rgba(7,29,62,.96),rgba(4,18,40,.98)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035) !important;
}
.academy-expedition-section-head{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
}
.academy-expedition-section-head > span,
.academy-expedition-rewards-head > span{
  color:#e9c977 !important;
  font-family:var(--lumen-font-display) !important;
  font-size:.58rem !important;
  font-weight:600 !important;
  letter-spacing:.25em !important;
}
.academy-expedition-section-head small{
  color:#b2c2d9 !important;
  font-size:.40rem !important;
  letter-spacing:.10em !important;
}
.academy-expedition-rank-stage{
  position:relative !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  align-items:start !important;
  min-height:116px !important;
  margin-top:4px !important;
  padding:0 2px !important;
}
.academy-expedition-rank-track{
  position:absolute !important;
  left:16.66% !important;
  right:16.66% !important;
  top:65px !important;
  height:2px !important;
  border-radius:999px !important;
  background:#27456f !important;
  box-shadow:0 0 0 1px rgba(87,132,200,.08) !important;
}
.academy-expedition-rank-track i{
  display:block !important;
  height:100% !important;
  border-radius:inherit !important;
  background:linear-gradient(90deg,#b9833f,#6c9fe2,#d2a755) !important;
}
.academy-expedition-rank-node{
  position:relative !important;
  z-index:1 !important;
  min-width:0 !important;
  display:grid !important;
  justify-items:center !important;
  align-content:start !important;
  gap:2px !important;
  text-align:center !important;
}
.academy-expedition-rank-badge{
  width:72px !important;
  height:72px !important;
  display:grid !important;
  place-items:center !important;
}
.academy-expedition-rank-badge img{
  width:72px !important;
  height:72px !important;
  object-fit:contain !important;
  opacity:.66 !important;
  filter:drop-shadow(0 7px 12px rgba(0,0,0,.24)) !important;
}
.academy-expedition-rank-node.unlocked .academy-expedition-rank-badge img{opacity:.9 !important;}
.academy-expedition-rank-node.current .academy-expedition-rank-badge img{opacity:1 !important;}
.academy-expedition-rank-dot{
  width:14px !important;
  height:14px !important;
  margin-top:-14px !important;
  border:2px solid #5f8fd0 !important;
  border-radius:50% !important;
  background:#07182f !important;
  box-shadow:0 0 0 2px #07152d !important;
}
.academy-expedition-rank-node.current .academy-expedition-rank-dot{
  border-color:#efc969 !important;
  box-shadow:0 0 0 2px #07152d,0 0 0 4px rgba(239,201,105,.08) !important;
}
.academy-expedition-rank-node > strong{
  margin-top:3px !important;
  color:#f5e7c1 !important;
  font-family:var(--lumen-font-display) !important;
  font-size:.64rem !important;
  font-weight:600 !important;
  line-height:1 !important;
}
.academy-expedition-rank-node > small{
  color:#9fb0c8 !important;
  font-size:.34rem !important;
  letter-spacing:.08em !important;
  line-height:1 !important;
}

/* Reward tiers */
.academy-expedition-rewards{
  padding:9px 12px 8px !important;
  border:1px solid rgba(95,139,207,.22) !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,rgba(7,27,58,.94),rgba(4,17,38,.98)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03) !important;
}
.academy-expedition-rewards-head{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  align-items:center !important;
  gap:10px !important;
  margin-bottom:2px !important;
}
.academy-expedition-rewards-head > div{
  display:grid !important;
  grid-template-columns:1fr auto 1fr !important;
  align-items:center !important;
  gap:7px !important;
  color:#e2b858 !important;
}
.academy-expedition-rewards-head i{
  height:1px !important;
  background:linear-gradient(90deg,rgba(228,185,91,.46),transparent) !important;
}
.academy-expedition-rewards-head i:first-child{
  background:linear-gradient(90deg,transparent,rgba(228,185,91,.46)) !important;
}
.academy-expedition-rewards-head b{
  font-size:.58rem !important;
  font-weight:400 !important;
}
.academy-expedition-reward-list{
  display:grid !important;
}
.academy-expedition-reward-row{
  display:grid !important;
  grid-template-columns:54px minmax(0,1fr) 92px !important;
  align-items:center !important;
  gap:10px !important;
  min-height:56px !important;
  padding:5px 2px !important;
}
.academy-expedition-reward-row + .academy-expedition-reward-row{
  border-top:1px solid rgba(156,177,205,.18) !important;
}
.academy-expedition-reward-rank{
  width:50px !important;
  height:50px !important;
  display:grid !important;
  place-items:center !important;
}
.academy-expedition-reward-rank img{
  width:50px !important;
  height:50px !important;
  object-fit:contain !important;
  filter:drop-shadow(0 5px 9px rgba(0,0,0,.22)) !important;
}
.academy-expedition-reward-copy{
  min-width:0 !important;
  display:grid !important;
  gap:3px !important;
  padding-left:10px !important;
  border-left:1px solid rgba(229,188,99,.36) !important;
}
.academy-expedition-reward-copy strong{
  color:#f2e4bd !important;
  font-family:var(--lumen-font-display) !important;
  font-size:.68rem !important;
  font-weight:600 !important;
  letter-spacing:.06em !important;
}
.academy-expedition-reward-row.current .academy-expedition-reward-copy strong{color:#f2ce76 !important;}
.academy-expedition-reward-copy small{
  color:#9bacc5 !important;
  font-size:.36rem !important;
  letter-spacing:.08em !important;
}
.academy-expedition-reward-prize{
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
}

/* Reward artwork should float directly on the expedition surface. */
.academy-expedition .team-expedition-reward-icons{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
}
.academy-expedition .team-expedition-reward-icon{
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.academy-expedition .team-expedition-reward-icon img{
  width:36px !important;
  height:36px !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  filter:drop-shadow(0 5px 8px rgba(0,0,0,.20)) !important;
}
.academy-expedition .team-expedition-reward-icon.coin{
  width:48px !important;
  height:42px !important;
}
.academy-expedition .team-expedition-reward-icon.coin img{
  width:40px !important;
  height:40px !important;
}
.academy-expedition .team-expedition-reward-icon.coin b{
  right:-9px !important;
  bottom:0 !important;
  transform:none !important;
  min-width:25px !important;
  height:15px !important;
  padding:0 5px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  border:1px solid rgba(235,191,78,.64) !important;
  background:rgba(96,65,24,.96) !important;
  color:#f7df96 !important;
  font-size:.32rem !important;
  line-height:1 !important;
}
.academy-expedition-reward-row .team-expedition-reward-icon{
  width:42px !important;
  height:42px !important;
}
.academy-expedition-reward-row .team-expedition-reward-icon img{
  width:40px !important;
  height:40px !important;
}
.academy-expedition-reward-row .team-expedition-reward-icon.coin{
  width:54px !important;
  height:46px !important;
}
.academy-expedition-reward-row .team-expedition-reward-icon.coin img{
  width:44px !important;
  height:44px !important;
}
.academy-expedition-reward-row.gold .team-expedition-reward-icon.chest{
  width:52px !important;
  height:44px !important;
}
.academy-expedition-reward-row.gold .team-expedition-reward-icon.chest img{
  width:50px !important;
  height:42px !important;
}

/* Actions */
.academy-expedition-actions{
  display:flex !important;
  gap:8px !important;
}
.academy-expedition-actions > button{
  flex:1 1 0 !important;
  min-width:0 !important;
}
.academy-expedition-close-main,
.academy-expedition-claim{
  min-height:46px !important;
  height:46px !important;
  padding:0 14px !important;
  border-radius:10px !important;
  font-family:var(--lumen-font-display) !important;
  font-size:.92rem !important;
  font-weight:600 !important;
  letter-spacing:.07em !important;
  white-space:nowrap !important;
}
.academy-expedition-close-main{
  border:1px solid rgba(237,195,94,.72) !important;
  background:
    radial-gradient(circle at 50% 0%,rgba(44,108,206,.20),transparent 45%),
    linear-gradient(180deg,rgba(13,58,124,.97),rgba(5,31,72,.98)) !important;
  color:#f3d58d !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 0 2px rgba(34,118,219,.16) !important;
}

.academy-expedition-claim{
  border:1px solid rgba(241,196,88,.84) !important;
  background:linear-gradient(180deg,#b5832e,#754d18) !important;
  color:#fff0bd !important;
}
.academy-expedition-claim.locked{
  opacity:.67 !important;
  filter:saturate(.65) !important;
}

@media (max-width:390px){
  .academy-expedition{padding:11px 11px 10px !important;gap:7px !important;}
  .academy-expedition-head h2{font-size:1.16rem !important;}
  .academy-expedition-x{width:38px !important;height:38px !important;flex-basis:38px !important;}
  .academy-expedition-hero{padding:9px 10px !important;gap:8px !important;}
  .academy-expedition-hero-top{grid-template-columns:64px minmax(0,1fr) 94px !important;gap:8px !important;}
  .academy-expedition-hero-badge,.academy-expedition-hero-badge img{width:64px !important;height:64px !important;}
  .academy-expedition-hero-copy > strong{font-size:.78rem !important;}
  .academy-expedition-team-xp{padding-left:8px !important;}
  .academy-expedition-team-xp strong{font-size:.62rem !important;}
  .academy-expedition-rank{padding:9px 10px 7px !important;}
  .academy-expedition-rank-stage{min-height:107px !important;}
  .academy-expedition-rank-track{top:60px !important;}
  .academy-expedition-rank-badge,.academy-expedition-rank-badge img{width:66px !important;height:66px !important;}
  .academy-expedition-rank-dot{width:13px !important;height:13px !important;margin-top:-13px !important;}
  .academy-expedition-rewards{padding:8px 10px 7px !important;}
  .academy-expedition-reward-row{grid-template-columns:50px minmax(0,1fr) 86px !important;min-height:52px !important;padding:4px 1px !important;}
  .academy-expedition-reward-rank,.academy-expedition-reward-rank img{width:46px !important;height:46px !important;}
  .academy-expedition-reward-row .team-expedition-reward-icon{width:38px !important;height:38px !important;}
  .academy-expedition-reward-row .team-expedition-reward-icon img{width:36px !important;height:36px !important;}
  .academy-expedition-reward-row.gold .team-expedition-reward-icon.chest{width:48px !important;height:40px !important;}
  .academy-expedition-reward-row.gold .team-expedition-reward-icon.chest img{width:46px !important;height:38px !important;}
  .academy-expedition-close-main,.academy-expedition-claim{height:43px !important;min-height:43px !important;font-size:.84rem !important;}
}

@media (max-height:760px){
  .academy-expedition{gap:6px !important;padding-top:9px !important;padding-bottom:9px !important;}
  .academy-expedition-title-rule{height:5px !important;}
  .academy-expedition-hero{gap:6px !important;padding-top:8px !important;padding-bottom:8px !important;}
  .academy-expedition-hero-badge,.academy-expedition-hero-badge img{width:58px !important;height:58px !important;}
  .academy-expedition-hero-top{grid-template-columns:58px minmax(0,1fr) 92px !important;}
  .academy-expedition-summary article{min-height:39px !important;}
  .academy-expedition-rank{padding-top:7px !important;padding-bottom:6px !important;}
  .academy-expedition-rank-stage{min-height:98px !important;}
  .academy-expedition-rank-track{top:55px !important;}
  .academy-expedition-rank-badge,.academy-expedition-rank-badge img{width:60px !important;height:60px !important;}
  .academy-expedition-rewards{padding-top:6px !important;padding-bottom:6px !important;}
  .academy-expedition-reward-row{min-height:47px !important;padding:3px 1px !important;}
  .academy-expedition-reward-rank,.academy-expedition-reward-rank img{width:42px !important;height:42px !important;}
  .academy-expedition-close-main,.academy-expedition-claim{height:40px !important;min-height:40px !important;}
}


/* ===== v87 expedition summary compacting + shared Close CTA styling ===== */
.academy-expedition-summary{
  align-items:stretch !important;
  gap:0 !important;
}
.academy-expedition-summary article,
.academy-expedition-summary-item{
  min-height:36px !important;
  gap:2px !important;
  padding:3px 8px !important;
}
.academy-expedition-summary article > span,
.academy-expedition-summary-item > span{
  font-size:.37rem !important;
  letter-spacing:.14em !important;
}
.academy-expedition-summary article > strong,
.academy-expedition-summary-item > strong{
  font-size:.70rem !important;
  line-height:1.05 !important;
}
.academy-expedition-summary-item.summary-reward{
  padding-left:6px !important;
  padding-right:6px !important;
}
.academy-expedition-summary-reward{
  min-height:24px !important;
}
.academy-expedition-summary-reward .team-expedition-reward-icons{
  justify-content:center !important;
  flex-wrap:nowrap !important;
  gap:5px !important;
}
.academy-expedition-summary-reward .team-expedition-reward-icon{
  width:30px !important;
  height:30px !important;
}
.academy-expedition-summary-reward .team-expedition-reward-icon img{
  width:20px !important;
  height:20px !important;
}


.academy-expedition-summary-reward .team-expedition-reward-icon.coin{
  width:38px !important;
  height:32px !important;
}
.academy-expedition-summary-reward .team-expedition-reward-icon.coin img{
  width:28px !important;
  height:28px !important;
}
.academy-expedition-summary-reward .team-expedition-reward-icon.coin b{
  min-width:18px !important;
  height:13px !important;
  font-size:.30rem !important;
  right:-6px !important;
  bottom:-1px !important;
}

.close-cta-button,
.academy-expedition-close-main,
.ally-profile-dismiss-v45{
  border:1px solid rgba(237,195,94,.72) !important;
  background:
    radial-gradient(circle at 50% 0%,rgba(44,108,206,.20),transparent 45%),
    linear-gradient(180deg,rgba(14,63,134,.96),rgba(6,33,78,.98)) !important;
  color:#f3d58d !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 0 1px rgba(33,109,202,.22) !important;
  font-family:var(--lumen-font-display) !important;
  font-weight:600 !important;
  letter-spacing:.09em !important;
}
.close-cta-button:hover,
.academy-expedition-close-main:hover,
.ally-profile-dismiss-v45:hover{
  filter:brightness(1.04) !important;
}
.close-cta-button:active,
.academy-expedition-close-main:active,
.ally-profile-dismiss-v45:active{
  transform:translateY(1px) !important;
}
.academy-expedition-close-main.secondary{
  border-color:rgba(237,195,94,.68) !important;
  background:
    radial-gradient(circle at 50% 0%,rgba(44,108,206,.16),transparent 45%),
    linear-gradient(180deg,rgba(13,58,124,.94),rgba(5,31,72,.97)) !important;
}

@media (max-width:390px){
  .academy-expedition-summary article,
  .academy-expedition-summary-item{
    min-height:34px !important;
    padding:2px 6px !important;
  }
  .academy-expedition-summary article > strong,
  .academy-expedition-summary-item > strong{
    font-size:.66rem !important;
  }
}

/* ==========================================================================
   Lumen Academy v70 — immersive character detail popup
   Character/avatar details use an isolated celestial presentation inspired by
   the approved mockup. Other reward detail sheets keep their existing layout.
   ========================================================================== */
.phone-stage #sheetOverlay .sheet.character-detail-shell-v68{
  width:345px !important;
  max-width:345px !important;
  max-height:748px !important;
  padding:0 !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  border:1px solid rgba(226,184,91,.58) !important;
  border-radius:20px !important;
  background:
    radial-gradient(circle at 50% 22%,rgba(55,91,165,.18),transparent 31%),
    radial-gradient(circle at 18% 60%,rgba(73,56,156,.11),transparent 27%),
    linear-gradient(180deg,#07172f 0%,#061329 48%,#040e20 100%) !important;
  box-shadow:
    0 24px 58px rgba(0,0,0,.58),
    inset 0 1px 0 rgba(255,255,255,.04),
    inset 0 0 36px rgba(30,71,139,.10) !important;
  scrollbar-width:none !important;
}
.phone-stage #sheetOverlay .sheet.character-detail-shell-v68::-webkit-scrollbar{display:none !important;}

.character-detail-v68{
  position:relative;
  isolation:isolate;
  display:grid;
  justify-items:center;
  gap:8px;
  min-width:0;
  padding:14px 15px 15px;
  overflow:hidden;
  color:#efe2c1;
  text-align:center;
  box-sizing:border-box;
}
.character-detail-v68::before,
.character-detail-v68::after{
  content:"";
  position:absolute;
  z-index:-1;
  top:70px;
  bottom:22px;
  width:1px;
  background:linear-gradient(180deg,transparent,rgba(222,177,78,.38) 12%,rgba(222,177,78,.15) 78%,transparent);
  pointer-events:none;
}
.character-detail-v68::before{left:11px;}
.character-detail-v68::after{right:11px;}

.character-detail-header-v68{
  width:100%;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.character-detail-heading-v68{
  min-width:0;
  display:grid;
  justify-items:start;
  gap:3px;
  padding:3px 0 0 5px;
}
.character-detail-heading-v68 > span{
  color:#f1cc76;
  font-family:var(--lumen-font-display) !important;
  font-size:.69rem;
  font-weight:600;
  letter-spacing:.27em;
}
.character-detail-heading-v68 > small{
  color:rgba(181,195,218,.70);
  font-size:.40rem;
  letter-spacing:.27em;
}
.character-detail-close-v68{
  width:40px !important;
  height:40px !important;
  flex:0 0 40px;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
  border:1px solid rgba(234,192,93,.70) !important;
  border-radius:50% !important;
  background:rgba(8,25,51,.74) !important;
  color:#f4d486 !important;
  font-family:var(--lumen-font-display) !important;
  font-size:1.18rem !important;
  line-height:1 !important;
  box-shadow:0 0 0 2px rgba(35,78,145,.12),inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.character-detail-title-rule-v68,
.character-detail-name-rule-v68,
.character-detail-lore-divider-v68{
  width:100%;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:8px;
  color:#e4b957;
  opacity:.78;
}
.character-detail-title-rule-v68{margin:0 0 1px;}
.character-detail-name-rule-v68{width:min(90%,280px);margin-top:-1px;}
.character-detail-lore-divider-v68{width:min(72%,220px);margin-top:1px;}
.character-detail-title-rule-v68 i,
.character-detail-name-rule-v68 i,
.character-detail-lore-divider-v68 i{
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(220,175,78,.50));
}
.character-detail-title-rule-v68 i:last-child,
.character-detail-name-rule-v68 i:last-child,
.character-detail-lore-divider-v68 i:last-child{
  background:linear-gradient(90deg,rgba(220,175,78,.50),transparent);
}
.character-detail-title-rule-v68 b,
.character-detail-name-rule-v68 b,
.character-detail-lore-divider-v68 span{
  font-size:.69rem;
  font-weight:400;
}

.character-detail-portrait-v68{
  position:relative;
  width:min(100%,305px);
  height:306px;
  display:grid;
  place-items:end center;
  overflow:hidden;
  margin-top:1px;
  border-radius:48% 48% 24px 24px / 42% 42% 19px 19px;
  background:
    radial-gradient(circle at 50% 24%,rgba(120,155,230,.30),transparent 24%),
    radial-gradient(circle at 50% 42%,rgba(49,83,154,.28),transparent 49%),
    linear-gradient(180deg,rgba(9,28,58,.36),rgba(5,17,36,.03) 72%,rgba(5,16,34,.65));
}
.character-detail-portrait-v68::before{
  content:"";
  position:absolute;
  inset:7px 19px 15px;
  border:1px solid rgba(235,193,92,.82);
  border-radius:50% 50% 22px 22px / 45% 45% 18px 18px;
  box-shadow:
    inset 0 0 0 2px rgba(73,111,180,.10),
    0 0 18px rgba(225,177,70,.06);
  pointer-events:none;
}
.character-detail-portrait-v68::after{
  content:"✦";
  position:absolute;
  top:0;
  left:50%;
  transform:translate(-50%,-2px);
  color:#e9be62;
  font-size:1.16rem;
  text-shadow:0 0 10px rgba(233,190,98,.32);
  pointer-events:none;
}
.character-detail-orbit-v68{
  position:absolute;
  left:50%;
  top:42%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  pointer-events:none;
}
.character-detail-orbit-v68.one{
  width:232px;
  height:232px;
  border:1px solid rgba(230,188,90,.60);
  box-shadow:0 0 20px rgba(64,107,190,.10);
}
.character-detail-orbit-v68.two{
  width:202px;
  height:202px;
  border:1px solid rgba(121,157,219,.24);
}
.character-detail-portrait-glow-v68{
  position:absolute;
  left:50%;
  top:45%;
  width:220px;
  height:220px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle,rgba(98,128,211,.26),rgba(47,69,137,.11) 50%,transparent 72%);
  filter:blur(5px);
}
.character-detail-portrait-v68 > img{
  position:relative;
  z-index:3;
  width:88%;
  height:286px;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 12px 13px rgba(0,0,0,.35));
}
.character-detail-moon-v68{
  position:absolute;
  z-index:2;
  top:43%;
  color:rgba(237,195,91,.76);
  font-size:1.52rem;
  line-height:1;
  text-shadow:0 0 10px rgba(234,190,88,.16);
}
.character-detail-moon-v68.left{left:17px;}
.character-detail-moon-v68.right{right:17px;}
.character-detail-floor-v68{
  position:absolute;
  z-index:2;
  left:50%;
  bottom:12px;
  width:72%;
  height:20px;
  transform:translateX(-50%);
  border:1px solid rgba(231,190,91,.65);
  border-radius:50%;
  box-shadow:0 0 12px rgba(224,178,68,.15),inset 0 0 9px rgba(89,125,193,.16);
}

.character-detail-rarity-v68{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:1px;
  font-family:var(--lumen-font-display) !important;
  font-size:.62rem;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.character-detail-rarity-v68 span{font-size:.58rem;}
.character-detail-rarity-v68.starter,
.character-detail-rarity-v68.common{color:#e2ca93;}
.character-detail-rarity-v68.rare{color:#8db6ff;}
.character-detail-rarity-v68.epic{color:#c883ff;text-shadow:0 0 9px rgba(177,85,255,.16);}
.character-detail-rarity-v68.legendary{color:#f2b754;}
.character-detail-rarity-v68.mythic{color:#ed78d1;}
.character-detail-rarity-v68.lumen{color:#83d8ff;}

.character-detail-name-v68{
  margin:0;
  max-width:100%;
  color:#f3d58e;
  font-family:var(--lumen-font-display) !important;
  font-size:1.45rem;
  font-weight:600;
  line-height:1.05;
  letter-spacing:.01em;
  overflow-wrap:anywhere;
  text-shadow:0 2px 8px rgba(0,0,0,.25);
}
.character-detail-description-v68{
  width:min(100%,292px);
  margin:1px auto 0;
  color:#e1d9c8;
  font-family:var(--lumen-font-text) !important;
  font-size:.69rem;
  line-height:1.45;
  text-align:center;
  text-wrap:pretty;
}
.character-detail-action-wrap-v68{
  width:100%;
  display:grid;
  justify-items:center;
  margin-top:1px;
}
.character-detail-action-v68,
.character-detail-owned-v68,
.character-detail-locked-v68{
  width:min(100%,260px) !important;
  min-height:54px;
  box-sizing:border-box;
  border-radius:999px;
}
.character-detail-action-v68{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
  padding:7px 24px !important;
  border:1px solid rgba(255,219,130,.88) !important;
  background:
    radial-gradient(circle at 50% 0%,rgba(255,242,182,.30),transparent 42%),
    linear-gradient(180deg,#b38b4c 0%,#8a642d 52%,#67471d 100%) !important;
  color:#fff0c8 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.34),
    inset 0 0 0 3px rgba(73,45,14,.13),
    0 0 0 2px rgba(231,184,79,.18),
    0 9px 20px rgba(0,0,0,.20) !important;
}
.character-detail-action-v68.coin > span{
  width:33px;
  height:33px;
  flex:0 0 33px;
  display:grid;
  place-items:center;
}
.character-detail-action-v68.coin > span img{
  width:33px;
  height:33px;
  object-fit:contain;
  filter:drop-shadow(0 3px 5px rgba(0,0,0,.28));
}
.character-detail-action-v68 > strong{
  color:#fff1c8 !important;
  font-family:var(--lumen-font-display) !important;
  font-size:1.18rem !important;
  font-weight:600 !important;
  line-height:1 !important;
  font-variant-numeric:lining-nums tabular-nums !important;
}
.character-detail-action-v68.premium{
  display:grid !important;
  gap:2px !important;
}
.character-detail-action-v68.premium small{
  color:#ffe8ad;
  font-size:.42rem;
  letter-spacing:.10em;
}
.character-detail-action-v68:disabled{
  opacity:.52 !important;
  filter:saturate(.55) !important;
}
.character-detail-owned-v68,
.character-detail-locked-v68{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  border:1px solid rgba(213,174,83,.32);
  background:rgba(14,35,64,.54);
  color:#d9c18c;
}
.character-detail-owned-v68 strong,
.character-detail-locked-v68 strong{
  font-family:var(--lumen-font-display) !important;
  font-size:.74rem;
  letter-spacing:.13em;
}
.character-detail-owned-v68 span{color:#d7aa4d;font-size:.55rem;}
.character-detail-locked-v68{
  display:grid;
  gap:2px;
}
.character-detail-locked-v68 span{
  color:#8fa1bd;
  font-size:.39rem;
  letter-spacing:.14em;
}
.character-detail-footer-mark-v68{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:2px;
  color:rgba(137,153,180,.55);
  font-size:.34rem;
  letter-spacing:.18em;
}
.character-detail-footer-mark-v68 b{color:rgba(213,169,76,.72);font-size:.42rem;font-weight:400;}

@media (max-height:760px){
  .character-detail-v68{gap:6px;padding-top:11px;padding-bottom:11px;}
  .character-detail-portrait-v68{height:276px;width:min(100%,286px);}
  .character-detail-portrait-v68 > img{height:258px;}
  .character-detail-orbit-v68.one{width:212px;height:212px;}
  .character-detail-orbit-v68.two{width:184px;height:184px;}
  .character-detail-name-v68{font-size:1.31rem;}
  .character-detail-description-v68{font-size:.65rem;line-height:1.38;}
  .character-detail-action-v68,
  .character-detail-owned-v68,
  .character-detail-locked-v68{min-height:50px;}
}

@media (max-width:390px){
  .phone-stage #sheetOverlay .sheet.character-detail-shell-v68{
    width:345px !important;
    max-width:345px !important;
  }
  .character-detail-v68{padding-left:13px;padding-right:13px;}
  .character-detail-portrait-v68{width:min(100%,292px);}
  .character-detail-description-v68{width:min(100%,284px);}
}

/* ==========================================================================
   Lumen Academy v70 — universal reward detail presentation
   Shared Academy-night language for avatars, pets, relics, castles, themes
   and boosts, with artwork proportions adapted to each reward family.
   ========================================================================== */
.phone-stage #sheetOverlay .sheet.reward-universal-shell-v69{
  width:345px !important;
  max-width:345px !important;
  max-height:748px !important;
  padding:0 !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  border:1px solid rgba(226,184,91,.56) !important;
  border-radius:20px !important;
  background:
    radial-gradient(circle at 50% 20%,rgba(56,94,171,.17),transparent 31%),
    radial-gradient(circle at 15% 64%,rgba(71,59,152,.09),transparent 28%),
    linear-gradient(180deg,#07172f 0%,#061329 52%,#040e20 100%) !important;
  box-shadow:
    0 24px 58px rgba(0,0,0,.58),
    inset 0 1px 0 rgba(255,255,255,.04),
    inset 0 0 36px rgba(30,71,139,.09) !important;
  scrollbar-width:none !important;
}
.phone-stage #sheetOverlay .sheet.reward-universal-shell-v69::-webkit-scrollbar{display:none !important;}

.reward-universal-v69{
  position:relative;
  isolation:isolate;
  display:grid;
  justify-items:center;
  gap:7px;
  min-width:0;
  padding:14px 15px 15px;
  overflow:hidden;
  color:#efe2c1;
  text-align:center;
  box-sizing:border-box;
}
.reward-universal-v69::before,
.reward-universal-v69::after{
  content:"";
  position:absolute;
  z-index:-1;
  top:68px;
  bottom:20px;
  width:1px;
  background:linear-gradient(180deg,transparent,rgba(222,177,78,.34) 14%,rgba(222,177,78,.13) 78%,transparent);
  pointer-events:none;
}
.reward-universal-v69::before{left:11px;}
.reward-universal-v69::after{right:11px;}

.reward-universal-header-v69{
  width:100%;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.reward-universal-heading-v69{
  min-width:0;
  display:grid;
  justify-items:start;
  gap:3px;
  padding:3px 0 0 5px;
}
.reward-universal-heading-v69 > span{
  color:#f1cc76;
  font-family:var(--lumen-font-display) !important;
  font-size:.67rem;
  font-weight:600;
  letter-spacing:.25em;
}
.reward-universal-heading-v69 > small{
  color:rgba(181,195,218,.67);
  font-size:.37rem;
  letter-spacing:.20em;
}
.reward-universal-close-v69{
  width:40px !important;
  height:40px !important;
  flex:0 0 40px;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
  border:1px solid rgba(234,192,93,.66) !important;
  border-radius:50% !important;
  background:rgba(8,25,51,.72) !important;
  color:#f4d486 !important;
  font-family:var(--lumen-font-display) !important;
  font-size:1.17rem !important;
  line-height:1 !important;
  box-shadow:0 0 0 2px rgba(35,78,145,.11),inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.reward-universal-title-rule-v69,
.reward-universal-name-rule-v69,
.reward-universal-lore-divider-v69{
  width:100%;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:8px;
  color:#e4b957;
  opacity:.76;
}
.reward-universal-name-rule-v69{width:min(90%,280px);margin-top:-1px;}
.reward-universal-lore-divider-v69{width:min(72%,220px);margin-top:1px;}
.reward-universal-title-rule-v69 i,
.reward-universal-name-rule-v69 i,
.reward-universal-lore-divider-v69 i{
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(220,175,78,.48));
}
.reward-universal-title-rule-v69 i:last-child,
.reward-universal-name-rule-v69 i:last-child,
.reward-universal-lore-divider-v69 i:last-child{
  background:linear-gradient(90deg,rgba(220,175,78,.48),transparent);
}
.reward-universal-title-rule-v69 b,
.reward-universal-name-rule-v69 b,
.reward-universal-lore-divider-v69 span{
  font-size:.67rem;
  font-weight:400;
}

.reward-universal-showcase-v69{
  position:relative;
  width:min(100%,305px);
  display:grid;
  place-items:center;
  overflow:hidden;
  margin-top:1px;
  border-radius:26px;
  background:
    radial-gradient(circle at 50% 25%,rgba(112,149,225,.27),transparent 24%),
    radial-gradient(circle at 50% 48%,rgba(48,83,154,.24),transparent 50%),
    linear-gradient(180deg,rgba(9,28,58,.34),rgba(5,17,36,.04) 72%,rgba(5,16,34,.58));
}
.reward-universal-showcase-v69::before{
  content:"";
  position:absolute;
  inset:7px;
  border:1px solid rgba(235,193,92,.72);
  border-radius:22px;
  box-shadow:inset 0 0 0 2px rgba(73,111,180,.08),0 0 18px rgba(225,177,70,.05);
  pointer-events:none;
}
.reward-universal-showcase-v69::after{
  content:"✦";
  position:absolute;
  top:0;
  left:50%;
  transform:translate(-50%,-2px);
  color:#e9be62;
  font-size:1.08rem;
  text-shadow:0 0 10px rgba(233,190,98,.28);
  pointer-events:none;
}
.reward-universal-showcase-v69.portrait{height:286px;border-radius:46% 46% 24px 24px / 40% 40% 20px 20px;place-items:end center;}
.reward-universal-showcase-v69.portrait::before{inset:7px 18px 14px;border-radius:50% 50% 20px 20px / 44% 44% 17px 17px;}
.reward-universal-showcase-v69.realm{height:220px;}
.reward-universal-showcase-v69.artifact{height:228px;}

.reward-universal-orbit-v69{
  position:absolute;
  left:50%;
  top:46%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  pointer-events:none;
}
.reward-universal-orbit-v69.one{width:208px;height:208px;border:1px solid rgba(230,188,90,.48);}
.reward-universal-orbit-v69.two{width:178px;height:178px;border:1px solid rgba(121,157,219,.20);}
.reward-universal-showcase-v69.realm .reward-universal-orbit-v69.one{width:246px;height:146px;border-radius:50%;opacity:.42;}
.reward-universal-showcase-v69.realm .reward-universal-orbit-v69.two{width:214px;height:116px;border-radius:50%;opacity:.38;}
.reward-universal-showcase-glow-v69{
  position:absolute;
  left:50%;
  top:47%;
  width:210px;
  height:210px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle,rgba(98,128,211,.23),rgba(47,69,137,.09) 52%,transparent 72%);
  filter:blur(5px);
}
.reward-universal-showcase-v69.realm .reward-universal-showcase-glow-v69{width:260px;height:150px;border-radius:50%;}
.reward-universal-showcase-v69 > img{
  position:relative;
  z-index:3;
  max-width:88%;
  max-height:88%;
  object-fit:contain;
  filter:drop-shadow(0 11px 13px rgba(0,0,0,.34));
}
.reward-universal-showcase-v69.portrait > img{width:88%;height:268px;object-position:center bottom;}
.reward-universal-showcase-v69.realm > img{width:92%;height:190px;}
.reward-universal-showcase-v69.artifact > img{width:78%;height:192px;}
.reward-universal-floor-v69{
  position:absolute;
  z-index:2;
  left:50%;
  bottom:12px;
  width:66%;
  height:16px;
  transform:translateX(-50%);
  border:1px solid rgba(231,190,91,.55);
  border-radius:50%;
  box-shadow:0 0 12px rgba(224,178,68,.12),inset 0 0 9px rgba(89,125,193,.13);
}
.reward-universal-showcase-v69.realm .reward-universal-floor-v69{width:78%;height:11px;bottom:15px;opacity:.62;}

.reward-universal-rarity-v69{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin-top:1px;
  font-family:var(--lumen-font-display) !important;
  font-size:.60rem;
  font-weight:600;
  letter-spacing:.20em;
  text-transform:uppercase;
}
.reward-universal-rarity-v69 span{font-size:.56rem;}
.reward-universal-rarity-v69.starter,
.reward-universal-rarity-v69.common{color:#e2ca93;}
.reward-universal-rarity-v69.rare{color:#8db6ff;}
.reward-universal-rarity-v69.epic{color:#c883ff;text-shadow:0 0 9px rgba(177,85,255,.15);}
.reward-universal-rarity-v69.legendary{color:#f2b754;}
.reward-universal-rarity-v69.mythic{color:#ed78d1;}
.reward-universal-rarity-v69.lumen{color:#83d8ff;}

.reward-universal-name-v69{
  margin:0;
  max-width:100%;
  color:#f3d58e;
  font-family:var(--lumen-font-display) !important;
  font-size:1.37rem;
  font-weight:600;
  line-height:1.05;
  letter-spacing:.01em;
  overflow-wrap:anywhere;
  text-shadow:0 2px 8px rgba(0,0,0,.25);
}
.reward-universal-description-v69{
  width:min(100%,295px);
  margin:1px auto 0;
  color:#e1d9c8;
  font-family:var(--lumen-font-text) !important;
  font-size:.67rem;
  line-height:1.43;
  text-align:center;
  text-wrap:pretty;
}
.reward-universal-bonuses-v69{
  width:min(100%,286px);
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px 12px;
  margin-top:1px;
  padding:7px 0;
  border-top:1px solid rgba(214,174,84,.15);
  border-bottom:1px solid rgba(214,174,84,.15);
}
.reward-universal-bonuses-v69 span{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  color:#c9d5e8;
  font-size:.46rem;
  line-height:1.25;
}
.reward-universal-bonuses-v69 b{color:#d8aa4d;font-size:.42rem;}

.reward-universal-action-wrap-v69{width:100%;display:grid;justify-items:center;margin-top:1px;}
.reward-universal-action-v69,
.reward-universal-owned-v69,
.reward-universal-locked-v69{
  width:min(100%,260px) !important;
  min-height:54px;
  box-sizing:border-box;
  border-radius:999px;
}
.reward-universal-action-v69{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
  padding:7px 24px !important;
  border:1px solid rgba(255,219,130,.86) !important;
  background:
    radial-gradient(circle at 50% 0%,rgba(255,242,182,.28),transparent 42%),
    linear-gradient(180deg,#b38b4c 0%,#8a642d 52%,#67471d 100%) !important;
  color:#fff0c8 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.32),inset 0 0 0 3px rgba(73,45,14,.13),0 0 0 2px rgba(231,184,79,.17),0 9px 20px rgba(0,0,0,.20) !important;
}
.reward-universal-action-v69.coin > span{width:33px;height:33px;flex:0 0 33px;display:grid;place-items:center;}
.reward-universal-action-v69.coin > span img{width:33px;height:33px;object-fit:contain;filter:drop-shadow(0 3px 5px rgba(0,0,0,.28));}
.reward-universal-action-v69 > strong{
  color:#fff1c8 !important;
  font-family:var(--lumen-font-display) !important;
  font-size:1.15rem !important;
  font-weight:600 !important;
  line-height:1 !important;
  font-variant-numeric:lining-nums tabular-nums !important;
}
.reward-universal-action-v69.premium{display:grid !important;gap:2px !important;}
.reward-universal-action-v69.premium small{color:#ffe8ad;font-size:.42rem;letter-spacing:.10em;}
.reward-universal-action-v69:disabled{opacity:.52 !important;filter:saturate(.55) !important;}
.reward-universal-owned-v69,
.reward-universal-locked-v69{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  border:1px solid rgba(213,174,83,.30);
  background:rgba(14,35,64,.52);
  color:#d9c18c;
}
.reward-universal-owned-v69 strong,
.reward-universal-locked-v69 strong{font-family:var(--lumen-font-display) !important;font-size:.73rem;letter-spacing:.13em;}
.reward-universal-owned-v69 span{color:#d7aa4d;font-size:.54rem;}
.reward-universal-locked-v69{display:grid;gap:2px;}
.reward-universal-locked-v69 span{color:#8fa1bd;font-size:.39rem;letter-spacing:.14em;}
.reward-universal-footer-v69{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  
  margin-top:2px;
  color:rgba(137,153,180,.52);
  font-size:.33rem;
  letter-spacing:.15em;
}
.reward-universal-footer-v69 b{color:rgba(213,169,76,.68);font-size:.41rem;font-weight:400;}

/* Category-specific scale adjustments keep each asset family visually natural. */
.reward-universal-v69.category-pets .reward-universal-showcase-v69.portrait > img{width:75%;height:248px;}
.reward-universal-v69.category-castles .reward-universal-showcase-v69.realm > img{width:94%;height:194px;}

.reward-universal-v69.category-relics .reward-universal-showcase-v69.artifact > img{width:70%;height:184px;}
.reward-universal-v69.category-boosts .reward-universal-showcase-v69.artifact > img{width:61%;height:174px;}

@media (max-height:760px){
  .reward-universal-v69{gap:6px;padding-top:11px;padding-bottom:11px;}
  .reward-universal-showcase-v69.portrait{height:258px;width:min(100%,288px);}
  .reward-universal-showcase-v69.portrait > img{height:240px;}
  .reward-universal-showcase-v69.realm{height:198px;}
  .reward-universal-showcase-v69.realm > img{height:172px;}
  .reward-universal-showcase-v69.artifact{height:203px;}
  .reward-universal-showcase-v69.artifact > img{height:170px;}
  .reward-universal-orbit-v69.one{width:192px;height:192px;}
  .reward-universal-orbit-v69.two{width:164px;height:164px;}
  .reward-universal-name-v69{font-size:1.25rem;}
  .reward-universal-description-v69{font-size:.63rem;line-height:1.37;}
  .reward-universal-action-v69,.reward-universal-owned-v69,.reward-universal-locked-v69{min-height:49px;}
}
@media (max-width:390px){
  .phone-stage #sheetOverlay .sheet.reward-universal-shell-v69{width:345px !important;max-width:345px !important;}
  .reward-universal-v69{padding-left:13px;padding-right:13px;}
  .reward-universal-description-v69{width:min(100%,284px);}
}
.reward-universal-v69.category-chests .reward-universal-showcase-v69.artifact > img{width:66%;height:180px;}


/* ===== v70 Universal Reward Details — cinematic theme previews ===== */
.reward-universal-v69.category-themes .reward-universal-showcase-v69.realm{
  width:min(100%,315px) !important;
  height:178px !important;
  aspect-ratio:16 / 9 !important;
  padding:8px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  border-radius:22px !important;
  background:
    linear-gradient(180deg,rgba(10,29,58,.48),rgba(4,15,33,.72)) !important;
}
.reward-universal-v69.category-themes .reward-universal-showcase-v69.realm::before{
  inset:7px !important;
  border-radius:17px !important;
  z-index:4 !important;
  pointer-events:none !important;
}
.reward-universal-v69.category-themes .reward-universal-showcase-v69.realm::after{
  z-index:5 !important;
}
.reward-universal-v69.category-themes .reward-universal-showcase-v69.realm .reward-universal-showcase-glow-v69,
.reward-universal-v69.category-themes .reward-universal-showcase-v69.realm .reward-universal-orbit-v69,
.reward-universal-v69.category-themes .reward-universal-showcase-v69.realm .reward-universal-floor-v69{
  display:none !important;
}
.reward-universal-v69.category-themes .reward-universal-showcase-v69.realm > img{
  position:relative !important;
  z-index:2 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  
  border-radius:14px !important;
  filter:brightness(.94) saturate(.96) contrast(1.03) drop-shadow(0 8px 12px rgba(0,0,0,.24)) !important;
  box-shadow:inset 0 0 28px rgba(2,9,22,.16) !important;
}
.reward-universal-v69.category-themes .reward-universal-showcase-v69.realm::marker{display:none !important;}
.reward-universal-v69.category-themes .reward-universal-rarity-v69{
  margin-top:2px !important;
}
.reward-universal-footer-v69{
  gap:7px !important;
  opacity:.78 !important;
}

@media (max-height:760px){
  .reward-universal-v69.category-themes .reward-universal-showcase-v69.realm{
    height:160px !important;
    width:min(100%,300px) !important;
  }
}
@media (max-width:390px){
  .reward-universal-v69.category-themes .reward-universal-showcase-v69.realm{
    width:min(100%,292px) !important;
    height:164px !important;
  }
}


/* ===== v71 tutorial gating + theme/mystery preview correction ===== */
/* Theme scenes should show a point slightly lower than the previous top-biased crop. */
.reward-universal-v69.category-themes .reward-universal-showcase-v69.realm > img{
  object-position:center 58% !important;
}

/* Hidden mystery rewards always use the same modest chest presentation, regardless
   of whether the unrevealed reward belongs to Avatars, Themes, Castles, etc. */
.reward-universal-showcase-v69.mystery{
  width:min(100%,292px) !important;
  height:196px !important;
  display:grid !important;
  place-items:center !important;
  overflow:hidden !important;
}
.reward-universal-showcase-v69.mystery > img{
  position:relative !important;
  z-index:3 !important;
  width:112px !important;
  height:112px !important;
  max-width:112px !important;
  max-height:112px !important;
  object-fit:contain !important;
  object-position:center !important;
  border-radius:0 !important;
  filter:drop-shadow(0 10px 16px rgba(0,0,0,.26)) !important;
  box-shadow:none !important;
}
.reward-universal-showcase-v69.mystery .reward-universal-orbit-v69.one{width:170px !important;height:170px !important;}
.reward-universal-showcase-v69.mystery .reward-universal-orbit-v69.two{width:142px !important;height:142px !important;}
.reward-universal-showcase-v69.mystery .reward-universal-floor-v69{width:150px !important;}
@media (max-height:760px){
  .reward-universal-showcase-v69.mystery{height:184px !important;}
  .reward-universal-showcase-v69.mystery > img{width:104px !important;height:104px !important;}
}


/* Removed obsolete Castle Upgrade v72-v74 prototypes; the active compact castle layout is retained below. */

/* ========================================================================== 
   Castle upgrade — persistent, flatter compact room layout
   ========================================================================== */
.phone-stage #sheetOverlay > .sheet.castle-upgrade-modal{
  width:min(414px,calc(100% - 8px)) !important;
  max-width:min(414px,calc(100% - 8px)) !important;
  height:min(900px,calc(100% - 8px)) !important;
  max-height:min(900px,calc(100% - 8px)) !important;
  overflow:hidden !important;
  padding:12px 16px 14px !important;
  border-radius:22px !important;
  border:1px solid rgba(216,175,88,.56) !important;
  background:
    radial-gradient(circle at 78% 8%,rgba(54,93,158,.12),transparent 31%),
    linear-gradient(180deg,rgba(7,21,43,.998),rgba(4,14,29,.998)) !important;
  box-shadow:0 22px 58px rgba(0,0,0,.52),inset 0 1px 0 rgba(255,255,255,.04) !important;
  scrollbar-width:none !important;
}
.phone-stage #sheetOverlay > .sheet.castle-upgrade-modal::-webkit-scrollbar{display:none !important;}

#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-shell{
  height:100% !important;
  min-height:0 !important;
  display:grid !important;
  grid-template-rows:auto auto minmax(0,1fr) !important;
  align-content:start !important;
  gap:8px !important;
}

/* Header */
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-head{
  position:relative !important;
  top:auto !important;
  margin:0 !important;
  padding:2px 4px 8px !important;
  align-items:flex-start !important;
  border-bottom:1px solid rgba(218,178,92,.27) !important;
  background:transparent !important;
}
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-head .kicker{
  color:#d7af5d !important;
  font-size:.54rem !important;
  letter-spacing:.24em !important;
}
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-head .sheet-title{
  margin-top:2px !important;
  color:#f3d99b !important;
  font-size:1.55rem !important;
  line-height:1 !important;
}
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-cap{
  margin-top:4px !important;
  color:rgba(205,217,237,.72) !important;
  font-size:.60rem !important;
  line-height:1.1 !important;
}
#sheetOverlay > .sheet.castle-upgrade-modal .close-button{
  width:44px !important;
  height:44px !important;
  flex:0 0 44px !important;
  border-radius:50% !important;
  border:1px solid rgba(231,188,92,.68) !important;
  background:rgba(7,22,42,.55) !important;
  color:#efc86f !important;
  font-size:1.08rem !important;
}

/* Castle artwork blends into the modal rather than reading as another card. */
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-hero{
  position:relative !important;
  height:330px !important;
  min-height:330px !important;
  margin:0 !important;
  overflow:visible !important;
  border:0 !important;
  border-radius:0 !important;
  background:
    radial-gradient(ellipse at 50% 39%,rgba(61,108,181,.15),transparent 50%),
    radial-gradient(ellipse at 50% 86%,rgba(219,174,87,.06),transparent 54%) !important;
  box-shadow:none !important;
}
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-hero::before{
  content:"" !important;
  position:absolute !important;
  inset:13px 18px 26px !important;
  border:1px solid rgba(218,177,89,.17) !important;
  border-radius:50% 50% 43% 43% / 54% 54% 34% 34% !important;
  pointer-events:none !important;
}
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-hero::after{
  content:none !important;
}
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-hero > img{
  box-sizing:border-box !important;
  width:100% !important;
  height:100% !important;
  padding:4px 16px 32px !important;
  object-fit:contain !important;
  object-position:center 56% !important;
  filter:drop-shadow(0 16px 25px rgba(0,0,0,.38)) !important;
}
/* Smaller attached equipped strip. */
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-caption{
  left:34px !important;
  right:34px !important;
  bottom:4px !important;
  min-height:38px !important;
  padding:5px 13px !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  border-radius:999px !important;
  border:1px solid rgba(226,184,92,.42) !important;
  background:linear-gradient(90deg,rgba(7,18,32,.92),rgba(23,31,44,.78),rgba(7,18,32,.92)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 5px 14px rgba(0,0,0,.16) !important;
  backdrop-filter:blur(6px) !important;
}
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-caption span{
  color:#d1ad68 !important;
  font-size:.43rem !important;
  letter-spacing:.22em !important;
  white-space:nowrap !important;
}
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-caption strong{
  color:#f1d698 !important;
  font-size:.80rem !important;
  white-space:nowrap !important;
}

/* Everything below the art is one continuous surface. */
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-detail{
  min-height:0 !important;
  display:grid !important;
  grid-template-rows:auto auto minmax(0,1fr) !important;
  align-content:start !important;
  gap:6px !important;
  padding:0 7px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-intro{
  display:flex !important;
  align-items:baseline !important;
  justify-content:center !important;
  gap:7px !important;
  padding:5px 0 7px !important;
  border-bottom:1px solid rgba(216,176,88,.22) !important;
  text-align:center !important;
}
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-intro strong{
  color:#f1d89e !important;
  font-size:.84rem !important;
  line-height:1.05 !important;
  white-space:nowrap !important;
}
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-intro span{
  color:rgba(200,214,235,.68) !important;
  font-size:.49rem !important;
  white-space:nowrap !important;
}

/* Centered, un-carded bonus block with one bonus per line. */
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-bonus{
  display:grid !important;
  justify-items:center !important;
  gap:4px !important;
  min-height:0 !important;
  padding:7px 10px 8px !important;
  border:0 !important;
  border-bottom:1px solid rgba(216,176,88,.20) !important;
  border-radius:0 !important;
  background:transparent !important;
  text-align:center !important;
}
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-bonus-title{
  color:#d4ae61 !important;
  font-size:.43rem !important;
  letter-spacing:.22em !important;
  font-weight:700 !important;
}
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-bonus-lines{
  display:grid !important;
  justify-items:center !important;
  gap:1px !important;
}
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-bonus-lines strong{
  color:#efd18c !important;
  font-size:.58rem !important;
  line-height:1.22 !important;
  font-weight:600 !important;
}

/* Room images removed: compact text + bronze purchase pill only. */
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-room-list{
  display:grid !important;
  grid-auto-rows:56px !important;
  align-content:start !important;
  gap:0 !important;
  min-height:0 !important;
  overflow:visible !important;
}
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-room{
  position:relative !important;
  box-sizing:border-box !important;
  height:56px !important;
  min-height:56px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 104px !important;
  align-items:center !important;
  gap:12px !important;
  padding:6px 3px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
}
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-room + .castle-upgrade-room{
  border-top:1px solid rgba(215,173,86,.18) !important;
}
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-room + .castle-upgrade-room::before{
  content:"✦" !important;
  position:absolute !important;
  left:50% !important;
  top:-6px !important;
  transform:translateX(-50%) !important;
  padding:0 5px !important;
  background:#061426 !important;
  color:rgba(225,183,91,.58) !important;
  font-size:.42rem !important;
  line-height:1 !important;
}
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-room-copy{
  min-width:0 !important;
  padding-left:3px !important;
}
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-room-copy strong{
  display:flex !important;
  align-items:baseline !important;
  gap:6px !important;
  color:#f1d89d !important;
  font-size:.77rem !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-room-copy strong small{
  color:rgba(204,216,236,.70) !important;
  font-size:.47rem !important;
  font-weight:600 !important;
}
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-room-copy span{
  display:block !important;
  margin-top:3px !important;
  color:rgba(206,217,233,.76) !important;
  font-size:.48rem !important;
  line-height:1.12 !important;
  white-space:nowrap !important;
}
/* Bronze/aged-metal buttons with gold typography, matching the mockup. */
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-room-action{
  width:104px !important;
  min-width:104px !important;
  height:38px !important;
  min-height:38px !important;
  padding:0 12px !important;
  border-radius:999px !important;
  border:1px solid rgba(185,137,69,.78) !important;
  background:
    radial-gradient(circle at 50% 0%,rgba(238,196,114,.10),transparent 52%),
    linear-gradient(180deg,#705136,#4b3526) !important;
  color:#efd07f !important;
  text-shadow:0 1px 1px rgba(0,0,0,.28) !important;
  font-size:.72rem !important;
  font-weight:700 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  box-shadow:inset 0 1px 0 rgba(255,228,171,.12),0 5px 12px rgba(0,0,0,.16) !important;
}
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-room-action .castle-room-price-coin{
  width:18px !important;
  height:18px !important;
}
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-room-action:disabled{
  opacity:.82 !important;
  filter:saturate(.86) !important;
  color:#e4c170 !important;
  cursor:default !important;
}
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-room-action.is-maxed:disabled{
  opacity:.9 !important;
  color:#f0d083 !important;
}

/* More rooms = smaller art / rows, still one-page. */
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-shell.room-count-4 .castle-upgrade-hero{
  height:292px !important;
  min-height:292px !important;
}
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-shell.room-count-4 .castle-upgrade-room-list{
  grid-auto-rows:52px !important;
}
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-shell.room-count-4 .castle-upgrade-room{
  height:52px !important;
  min-height:52px !important;
}
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-shell.room-count-5 .castle-upgrade-hero{
  height:248px !important;
  min-height:248px !important;
}
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-shell.room-count-5 .castle-upgrade-room-list{
  grid-auto-rows:47px !important;
}
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-shell.room-count-5 .castle-upgrade-room{
  height:47px !important;
  min-height:47px !important;
  grid-template-columns:minmax(0,1fr) 94px !important;
  gap:8px !important;
  padding:4px 2px !important;
}
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-shell.room-count-5 .castle-upgrade-room-copy strong{font-size:.68rem !important;}
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-shell.room-count-5 .castle-upgrade-room-copy span{font-size:.42rem !important;}
#sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-shell.room-count-5 .castle-upgrade-room-action{
  width:94px !important;
  min-width:94px !important;
  height:34px !important;
  min-height:34px !important;
  font-size:.64rem !important;
}

@media(max-width:390px){
  .phone-stage #sheetOverlay > .sheet.castle-upgrade-modal{
    width:calc(100% - 6px) !important;
    max-width:calc(100% - 6px) !important;
    padding:10px 12px 12px !important;
  }
  #sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-hero{height:310px !important;min-height:310px !important;}
  #sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-caption{left:25px !important;right:25px !important;}
  #sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-intro strong{font-size:.77rem !important;}
  #sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-room{grid-template-columns:minmax(0,1fr) 98px !important;gap:8px !important;}
  #sheetOverlay > .sheet.castle-upgrade-modal .castle-upgrade-room-action{width:98px !important;min-width:98px !important;}
}


/* ==========================================================================
   v77 — Boost Cabinet: celestial bronze / midnight palette
   Keeps the compact layout while removing the bright-blue/card-within-card feel.
   ========================================================================== */
body.secondary-screen-active .rewards-system-panel.boost-panel-v77,
body[data-reward-theme] .rewards-system-panel.boost-panel-v77 {
  position: relative !important;
  min-height: 118px !important;
  margin: 0 4px !important;
  padding: 13px 15px !important;
  display: grid !important;
  grid-template-columns: 82px minmax(0,1fr) !important;
  gap: 16px !important;
  align-items: center !important;
  overflow: hidden !important;
  border: 1px solid rgba(151,111,62,.52) !important;
  border-radius: 15px !important;
  background:
    radial-gradient(circle at 14% 48%, rgba(90,67,122,.12), transparent 27%),
    radial-gradient(circle at 75% 0%, rgba(83,63,104,.06), transparent 34%),
    linear-gradient(180deg, rgba(8,15,29,.985), rgba(5,11,22,.995)) !important;
  box-shadow:
    inset 0 1px 0 rgba(245,218,162,.035),
    0 9px 20px rgba(0,0,0,.18) !important;
  color: #d7c3a0 !important;
}
body.secondary-screen-active .rewards-system-panel.boost-panel-v77::before,
body[data-reward-theme] .rewards-system-panel.boost-panel-v77::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 6px !important;
  border: 1px solid rgba(137,101,60,.20) !important;
  border-radius: 11px !important;
  background: transparent !important;
  pointer-events: none !important;
}
body.secondary-screen-active .boost-panel-v77::after,
body[data-reward-theme] .boost-panel-v77::after {
  content: "✦" !important;
  position: absolute !important;
  top: 8px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  color: rgba(214,173,100,.62) !important;
  font-size: .56rem !important;
  line-height: 1 !important;
  text-shadow: 0 0 8px rgba(216,174,98,.18) !important;
  pointer-events: none !important;
}
body.secondary-screen-active .boost-panel-v77 > img,
body[data-reward-theme] .boost-panel-v77 > img {
  width: 78px !important;
  height: 78px !important;
  object-fit: contain !important;
  justify-self: center !important;
  filter:
    saturate(.88)
    brightness(.96)
    drop-shadow(0 7px 12px rgba(0,0,0,.32))
    drop-shadow(0 0 8px rgba(137,99,180,.10)) !important;
}
body.secondary-screen-active .boost-panel-v77 > div,
body[data-reward-theme] .boost-panel-v77 > div {
  min-width: 0 !important;
  display: grid !important;
  align-content: center !important;
}
body.secondary-screen-active .boost-panel-v77 > div > span,
body[data-reward-theme] .boost-panel-v77 > div > span {
  color: #b88d55 !important;
  font-size: .50rem !important;
  font-weight: 700 !important;
  letter-spacing: .19em !important;
  line-height: 1 !important;
}
body.secondary-screen-active .boost-panel-v77 > div > strong,
body[data-reward-theme] .boost-panel-v77 > div > strong {
  margin-top: 4px !important;
  color: #f0d7a0 !important;
  font-size: 1.00rem !important;
  font-weight: 500 !important;
  line-height: 1.05 !important;
  text-shadow: 0 1px 7px rgba(0,0,0,.22) !important;
}
body.secondary-screen-active .boost-panel-v77 .boost-state-list,
body[data-reward-theme] .boost-panel-v77 .boost-state-list {
  display: grid !important;
  gap: 6px !important;
  margin-top: 9px !important;
}
body.secondary-screen-active .boost-panel-v77 .boost-state-row,
body[data-reward-theme] .boost-panel-v77 .boost-state-row {
  min-height: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 4px 10px !important;
  border: 1px solid rgba(151,111,62,.42) !important;
  border-radius: 999px !important;
  background:
    linear-gradient(90deg, rgba(27,27,42,.82), rgba(15,20,34,.72)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,236,192,.025) !important;
}
body.secondary-screen-active .boost-panel-v77 .boost-state-row strong,
body[data-reward-theme] .boost-panel-v77 .boost-state-row strong {
  margin: 0 !important;
  color: #d8aa63 !important;
  font-size: .55rem !important;
  font-weight: 700 !important;
  letter-spacing: .10em !important;
}
body.secondary-screen-active .boost-panel-v77 .boost-state-row span,
body[data-reward-theme] .boost-panel-v77 .boost-state-row span {
  margin: 0 !important;
  max-width: 72% !important;
  color: #d2c1a5 !important;
  font-size: .52rem !important;
  font-weight: 500 !important;
  letter-spacing: .025em !important;
  text-align: right !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
body.secondary-screen-active .boost-panel-v77 .boost-state-row.active,
body[data-reward-theme] .boost-panel-v77 .boost-state-row.active {
  border-color: rgba(180,132,74,.60) !important;
  background:
    radial-gradient(circle at 20% 50%, rgba(103,76,138,.16), transparent 42%),
    linear-gradient(90deg, rgba(35,29,46,.94), rgba(19,21,34,.90)) !important;
  box-shadow:
    inset 0 1px 0 rgba(247,221,170,.045),
    0 0 12px rgba(112,80,146,.045) !important;
}
body.secondary-screen-active .boost-panel-v77 .boost-state-row.active strong,
body[data-reward-theme] .boost-panel-v77 .boost-state-row.active strong {
  color: #edc87f !important;
}
body.secondary-screen-active .boost-panel-v77 .boost-state-row.active span,
body[data-reward-theme] .boost-panel-v77 .boost-state-row.active span {
  color: #e5d4b5 !important;
}

@media (max-width: 430px) {
  body.secondary-screen-active .rewards-system-panel.boost-panel-v77,
  body[data-reward-theme] .rewards-system-panel.boost-panel-v77 {
    min-height: 108px !important;
    grid-template-columns: 68px minmax(0,1fr) !important;
    gap: 12px !important;
    padding: 11px 12px !important;
  }
  body.secondary-screen-active .boost-panel-v77 > img,
  body[data-reward-theme] .boost-panel-v77 > img {
    width: 65px !important;
    height: 65px !important;
  }
  body.secondary-screen-active .boost-panel-v77 > div > strong,
  body[data-reward-theme] .boost-panel-v77 > div > strong {
    font-size: .90rem !important;
  }
  body.secondary-screen-active .boost-panel-v77 .boost-state-list,
  body[data-reward-theme] .boost-panel-v77 .boost-state-list {
    gap: 5px !important;
    margin-top: 7px !important;
  }
  body.secondary-screen-active .boost-panel-v77 .boost-state-row,
  body[data-reward-theme] .boost-panel-v77 .boost-state-row {
    min-height: 25px !important;
    padding: 3px 8px !important;
  }
  body.secondary-screen-active .boost-panel-v77 .boost-state-row strong,
  body[data-reward-theme] .boost-panel-v77 .boost-state-row strong {
    font-size: .50rem !important;
  }
  body.secondary-screen-active .boost-panel-v77 .boost-state-row span,
  body[data-reward-theme] .boost-panel-v77 .boost-state-row span {
    font-size: .48rem !important;
  }
}

/* ===== v85 Teams leaderboard responsiveness ===== */
.teams-contributors-loading{
  min-height:112px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  color:rgba(221,204,165,.78);
  font-size:.58rem;
  letter-spacing:.08em;
}
.teams-contributors-loading-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#d7b66e;
  box-shadow:0 0 0 4px rgba(215,182,110,.10),0 0 12px rgba(215,182,110,.24);
  animation:teamsLeaderboardLoadingPulse 1.05s ease-in-out infinite alternate;
}
@keyframes teamsLeaderboardLoadingPulse{
  from{opacity:.38;transform:scale(.82);}
  to{opacity:1;transform:scale(1);}
}
body.reduce-motion .teams-contributors-loading-dot{animation:none;}


/* ===== v91: Lumen Pass sleek redesign ===== */
.lumen-pass-panel.lumen-pass-sleek{
  margin:8px 9px 0 !important;
  padding:0 !important;
  gap:0 !important;
  overflow:hidden !important;
  border:1px solid rgba(187,157,95,.34) !important;
  border-radius:16px !important;
  background:linear-gradient(180deg,rgba(9,22,41,.995),rgba(6,15,29,.995)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 12px 26px rgba(0,0,0,.20) !important;
}
.lumen-pass-panel.lumen-pass-sleek.active{
  border-color:rgba(203,171,104,.48) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 12px 26px rgba(0,0,0,.20) !important;
}
.lumen-pass-sleek-hero{
  position:relative;display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:10px;
  min-height:82px;padding:11px 12px;border-bottom:1px solid rgba(137,158,186,.13);
  background:linear-gradient(90deg,rgba(20,43,73,.58),rgba(10,24,45,.22));
}
.lumen-pass-sleek-mark{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(206,174,104,.32);background:rgba(12,31,56,.82);}
.lumen-pass-sleek-mark img{width:45px;height:45px;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.28));}
.lumen-pass-sleek-copy{min-width:0;display:grid;gap:2px;}
.lumen-pass-sleek-copy span{color:#b9a373;font-size:.40rem;font-weight:800;letter-spacing:.16em;}
.lumen-pass-sleek-copy strong{color:#f0dfba;font-size:.82rem;font-weight:600;line-height:1.05;}
.lumen-pass-sleek-copy small{color:#9eacbf;font-size:.48rem;line-height:1.35;}
.lumen-pass-sleek-status{align-self:start;margin-top:2px;padding:3px 6px;border-radius:999px;border:1px solid rgba(194,164,103,.34);background:rgba(194,164,103,.07);color:#dbc18a;font-style:normal;font-size:.34rem;letter-spacing:.10em;}
.lumen-pass-sleek-plans{display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:1px solid rgba(137,158,186,.13);}
.lumen-pass-sleek-plans article{min-height:86px;padding:9px 10px;display:grid;align-items:center;gap:6px;background:transparent;border:0;border-right:1px solid rgba(137,158,186,.13);}
.lumen-pass-sleek-plans article:last-child{border-right:0;}
.lumen-pass-sleek-plans article.selected{background:rgba(30,52,79,.18);}
.lumen-pass-sleek-plans article>div{display:grid;gap:1px;}
.lumen-pass-sleek-plans span{color:#a6b3c6;font-size:.36rem;letter-spacing:.13em;}
.lumen-pass-sleek-plans strong{color:#ead7ae;font-size:.88rem;font-weight:600;}
.lumen-pass-sleek-plans small{color:#8090a7;font-size:.40rem;}
.lumen-pass-sleek-plans article>em{justify-self:start;padding:3px 6px;border-radius:999px;background:rgba(173,148,92,.08);border:1px solid rgba(173,148,92,.24);color:#cdb47f;font-style:normal;font-size:.33rem;letter-spacing:.08em;}
.lumen-pass-sleek-plans button,.lumen-pass-sleek-member button{min-height:30px;padding:0 8px;border:1px solid rgba(203,170,101,.55);border-radius:8px;background:linear-gradient(180deg,rgba(52,75,107,.95),rgba(25,43,69,.98));color:#e8d29e;font:inherit;font-size:.40rem;font-weight:800;letter-spacing:.06em;}
.lumen-pass-sleek-divider{height:29px;display:flex;align-items:center;padding:0 12px;border-bottom:1px solid rgba(137,158,186,.10);}
.lumen-pass-sleek-divider span{color:#8999b0;font-size:.35rem;letter-spacing:.16em;font-weight:800;}
.lumen-pass-sleek-features{display:grid;}
.lumen-pass-sleek-features article{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:9px;min-height:58px;padding:7px 12px;border-bottom:1px solid rgba(137,158,186,.10);background:transparent;}
.lumen-pass-sleek-features article:last-child{border-bottom:0;}
.lumen-pass-sleek-feature-icon{width:36px;height:36px;display:grid;place-items:center;}
.lumen-pass-sleek-feature-icon img{width:32px;height:32px;object-fit:contain;filter:drop-shadow(0 3px 5px rgba(0,0,0,.28));}
.lumen-pass-sleek-features article>div:last-child{min-width:0;display:grid;gap:2px;}
.lumen-pass-sleek-features strong{color:#ddc58f;font-size:.55rem;font-weight:700;letter-spacing:.02em;}
.lumen-pass-sleek-features small{color:#9fadc1;font-size:.45rem;line-height:1.35;}
.lumen-pass-sleek-member{display:grid;gap:7px;padding:10px 12px;border-top:1px solid rgba(197,165,98,.22);background:rgba(194,164,103,.035);}
.lumen-pass-sleek-member>div{display:grid;gap:2px;}
.lumen-pass-sleek-member span{color:#a99874;font-size:.34rem;letter-spacing:.13em;}
.lumen-pass-sleek-member strong{color:#e4d4af;font-size:.50rem;line-height:1.35;}
.lumen-pass-sleek-member small{color:#8f9eb3;font-size:.43rem;}
.lumen-pass-sleek-member button.upgrade{background:transparent;color:#cdb681;border-color:rgba(203,170,101,.34);}
.lumen-pass-sleek+.lumen-pass-dev-note,.lumen-pass-sleek .lumen-pass-dev-note{padding:6px 10px;color:#7f91aa;font-size:.36rem;text-align:center;border-top:1px solid rgba(137,158,186,.08);}

/* Keep Expedition summary geometry fixed while making Silver boost art larger. */
.academy-expedition-summary-reward .team-expedition-reward-icon.boost{width:34px !important;height:34px !important;margin-block:-2px !important;}
.academy-expedition-summary-reward .team-expedition-reward-icon.boost img{width:29px !important;height:29px !important;}

@media (max-width:390px){
  .lumen-pass-panel.lumen-pass-sleek{margin:6px 7px 0 !important;}
  .lumen-pass-sleek-hero{grid-template-columns:50px minmax(0,1fr) auto;min-height:72px;padding:9px 10px;gap:8px;}
  .lumen-pass-sleek-mark{width:46px;height:46px;}.lumen-pass-sleek-mark img{width:39px;height:39px;}
  .lumen-pass-sleek-copy strong{font-size:.74rem;}.lumen-pass-sleek-copy small{font-size:.44rem;}
  .lumen-pass-sleek-plans article{min-height:78px;padding:8px;}
  .lumen-pass-sleek-features article{grid-template-columns:36px minmax(0,1fr);min-height:54px;padding:6px 10px;gap:7px;}
  .lumen-pass-sleek-feature-icon{width:32px;height:32px;}.lumen-pass-sleek-feature-icon img{width:29px;height:29px;}
  .lumen-pass-sleek-features strong{font-size:.51rem;}.lumen-pass-sleek-features small{font-size:.42rem;}
}

/* ===== 2026-09-15 Lumen Path final refinement ===== */
.lumen-path-page .secondary-page-header{
  margin-bottom: 6px;
}
.lumen-path-inventory-modern{
  gap: 10px !important;
  margin: 0 4px 10px !important;
  padding: 10px 10px 11px !important;
  border-color: rgba(113,136,190,.28) !important;
  border-radius: 12px !important;
  background:
    linear-gradient(180deg, rgba(9,23,48,.98), rgba(7,17,34,.99)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 10px 24px rgba(0,0,0,.14) !important;
}
.lumen-path-inventory-title{
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 10px;
}
.lumen-path-inventory-title strong{
  color: #f1d69d;
  font-size: .72rem;
  letter-spacing: .05em;
}
.lumen-path-inventory-title span{
  height: 1px;
  background: linear-gradient(90deg, rgba(224,186,108,.34), rgba(224,186,108,0));
}
.lumen-path-chest-row{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 1px solid rgba(93,113,157,.34);
  border-radius: 10px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(7,20,40,.88), rgba(5,16,31,.96));
}
.lumen-path-chest-cell{
  min-width: 0;
  min-height: 82px;
  display: grid;
  grid-template-columns: 66px minmax(0,1fr);
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border: 0 !important;
  border-right: 1px solid rgba(93,113,157,.24) !important;
  border-radius: 0 !important;
  background: transparent !important;
  text-align: left;
}
.lumen-path-chest-cell:last-child{ border-right: 0 !important; }
.lumen-path-chest-cell:disabled{ opacity: .45; }
.lumen-path-chest-cell img{
  width: 62px !important;
  height: 62px !important;
  object-fit: contain;
  justify-self: center;
}
.lumen-path-chest-cell div{ min-width: 0; display: grid; gap: 3px; }
.lumen-path-chest-cell strong{
  color: #f1dfb8;
  font-size: .50rem;
  letter-spacing: .03em;
}
.lumen-path-chest-cell small{
  color: #9fb0c7;
  font-size: .33rem;
}
.lumen-path-compact-boosts{
  display: grid;
  gap: 6px;
}
.lumen-path-compact-boosts article{
  display: grid;
  grid-template-columns: 32px minmax(0,1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 5px 0;
  border-top: 1px solid rgba(103,121,163,.20);
}
.lumen-path-compact-boosts article:first-child{ border-top: 0; }
.lumen-path-compact-boosts img{
  width: 30px;
  height: 30px;
  object-fit: contain;
}
.lumen-path-compact-boosts div{ min-width: 0; display: grid; gap: 2px; }
.lumen-path-compact-boosts strong{
  color: #ead7b0;
  font-size: .40rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.lumen-path-compact-boosts small{
  color: #9caec6;
  font-size: .30rem;
}
.lumen-path-compact-boosts button{
  min-width: 58px;
  min-height: 28px;
  padding: 0 8px;
  border: 1px solid rgba(214,170,88,.28);
  border-radius: 7px;
  background: linear-gradient(180deg, rgba(80,59,124,.92), rgba(45,35,79,.98));
  color: #f2d9ff;
  font: inherit;
  font-size: .31rem;
  letter-spacing: .08em;
}
.lumen-collectible-strip-modern{
  grid-template-columns: 1fr 1fr !important;
  gap: 0 !important;
  padding-top: 10px !important;
  border-top: 1px solid rgba(103,121,163,.20) !important;
}
.lumen-collectible-item{
  display: grid;
  grid-template-columns: 28px minmax(0,1fr);
  align-items: center;
  gap: 8px;
  min-height: 42px;
}
.lumen-collectible-item + .lumen-collectible-item{
  padding-left: 14px;
  border-left: 1px solid rgba(103,121,163,.18);
}
.lumen-collectible-item small{
  color: #bcc7d9;
  font-size: .39rem !important;
}
.lumen-path-panel-modern{
  gap: 10px !important;
  padding: 12px 10px 14px !important;
  background:
    radial-gradient(circle at 18% 4%, rgba(56,98,170,.18), transparent 24%),
    linear-gradient(180deg, rgba(20,35,62,.98), rgba(8,17,33,.995)) !important;
}
.lumen-path-head-modern{
  grid-template-columns: 56px minmax(0,1fr) auto !important;
  gap: 12px !important;
}
.lumen-path-head-modern > img{
  width: 54px !important;
  height: 54px !important;
}
.lumen-path-head-modern strong{
  font-size: .90rem !important;
  color: #f1d8a2 !important;
}
.lumen-path-head-modern small{
  font-size: .48rem !important;
  color: #d8e1ef !important;
}
.lumen-path-head-modern > b{
  min-width: 66px;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(213,171,90,.32);
  background: rgba(8,17,32,.44);
  font-size: .60rem !important;
}
.lumen-path-progress-copy-modern{
  grid-template-columns: 1fr auto !important;
  gap: 10px !important;
  font-size: .38rem !important;
  color: #9fb0c7 !important;
}
.lumen-path-progress-copy-modern strong{ display: none !important; }
.lumen-path-progress-copy-modern span:last-child{ text-align: right; }
.lumen-path-journey-modern{
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
.lumen-path-steps-modern{
  gap: 10px !important;
}
.lumen-path-step-modern{
  width: 100% !important;
  min-height: 74px !important;
  display: grid !important;
  grid-template-columns: 42px 58px minmax(0,1fr) auto !important;
  align-items: center;
  gap: 10px !important;
  padding: 8px 10px !important;
  margin: 0 !important;
  border-radius: 12px !important;
  border: 1px solid rgba(210,171,92,.22) !important;
  background: linear-gradient(90deg, rgba(10,29,56,.98), rgba(8,18,35,.98)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03), 0 6px 18px rgba(0,0,0,.10);
}
.lumen-path-step-modern::before{ display: none !important; }
.lumen-path-step-modern .lumen-path-step-index{
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid rgba(214,173,94,.42);
  background: linear-gradient(180deg, rgba(121,92,41,.95), rgba(79,58,22,.95));
  color: #fff0c4;
  font-size: .55rem;
  font-weight: 600;
}
.lumen-path-step-art{
  width: 54px;
  height: 54px;
  object-fit: contain;
  justify-self: center;
  filter: drop-shadow(0 0 10px rgba(238,190,92,.12));
}
.lumen-path-step-modern .lumen-path-step-copy{
  gap: 3px !important;
}
.lumen-path-step-modern .lumen-path-step-copy > span{ display: none !important; }
.lumen-path-step-modern .lumen-path-step-copy > strong{
  font-size: .60rem !important;
  color: #f4e2ba !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.lumen-path-step-modern .lumen-path-step-copy > small{
  font-size: .39rem !important;
  color: #a9b7cb !important;
  line-height: 1.25 !important;
}
.lumen-path-step-modern > button{
  min-width: 108px !important;
  min-height: 46px !important;
  padding: 0 12px !important;
  border-radius: 10px !important;
  font-size: .48rem !important;
  letter-spacing: .05em !important;
}
.lumen-path-step-modern.locked{
  opacity: .72 !important;
}
.lumen-path-step-modern.claimed > button:disabled{
  color: #93bb9d !important;
  border-color: rgba(88,156,108,.30) !important;
}
.lumen-path-step-modern.type-final{
  border-color: rgba(238,197,103,.50) !important;
  background:
    radial-gradient(circle at 10% 18%, rgba(221,172,75,.12), transparent 24%),
    linear-gradient(90deg, rgba(21,34,61,.99), rgba(11,22,41,.99)) !important;
}
@media (max-width: 430px) {
  .lumen-path-chest-cell{
    grid-template-columns: 54px minmax(0,1fr);
    min-height: 72px;
    padding: 8px 10px;
    gap: 8px;
  }
  .lumen-path-chest-cell img{
    width: 50px !important;
    height: 50px !important;
  }
  .lumen-path-head-modern{
    grid-template-columns: 48px minmax(0,1fr) auto !important;
    gap: 9px !important;
  }
  .lumen-path-head-modern > img{
    width: 46px !important;
    height: 46px !important;
  }
  .lumen-path-head-modern strong{ font-size: .82rem !important; }
  .lumen-path-head-modern small{ font-size: .44rem !important; }
  .lumen-path-head-modern > b{ min-width: 56px; font-size: .55rem !important; }
  .lumen-path-step-modern{
    grid-template-columns: 38px 48px minmax(0,1fr) auto !important;
    min-height: 68px !important;
    gap: 8px !important;
    padding: 7px 8px !important;
  }
  .lumen-path-step-modern .lumen-path-step-index{
    width: 34px;
    height: 34px;
    font-size: .50rem;
  }
  .lumen-path-step-art{
    width: 44px;
    height: 44px;
  }
  .lumen-path-step-modern .lumen-path-step-copy > strong{ font-size: .52rem !important; }
  .lumen-path-step-modern .lumen-path-step-copy > small{ font-size: .35rem !important; }
  .lumen-path-step-modern > button{
    min-width: 92px !important;
    min-height: 40px !important;
    font-size: .41rem !important;
    padding: 0 10px !important;
  }
}

/* ===== v95: integrated celestial Lumen Path + subtle Focus boost disclosure ===== */
/* Focus Active Boosts: remove the directional arrow language. The indicator is a
   tiny celestial status light that brightens when expanded without flipping. */


.focus-boosts-dropdown[open] .focus-loadout-toggle,
.focus-loadout-entry[open] .focus-loadout-toggle,
body[data-reward-theme] .focus-boosts-dropdown[open] .focus-loadout-toggle{
  
  border-color:rgba(242,205,120,.56) !important;
  
  
}
.focus-boosts-dropdown[open] .focus-loadout-toggle i,
.focus-loadout-entry[open] .focus-loadout-toggle i{
  background:#e9c87c !important;
  box-shadow:0 0 7px rgba(233,200,124,.42) !important;
}

/* Lumen Path now lives inside Rewards rather than being a sixth bottom-nav page. */
body.secondary-screen-active .rewards-mock-page.lumen-path-destination,
.rewards-mock-page.lumen-path-destination{
  grid-template-rows:auto auto minmax(0,1fr) !important;
}
.rewards-mock-page.lumen-path-destination > .rewards-mock-list{
  display:none !important;
}
.rewards-mock-page.lumen-path-destination > .lumen-path-celestial-shell{
  min-height:0 !important;
  overflow-y:auto !important;
  overscroll-behavior:contain;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.rewards-mock-page.lumen-path-destination > .lumen-path-celestial-shell::-webkit-scrollbar{
  display:none;
}

.lumen-path-celestial-shell{
  position:relative;
  isolation:isolate;
  display:grid;
  gap:9px;
  margin:0 7px 8px;
  padding:10px;
  border:1px solid rgba(211,174,82,.48);
  border-radius:14px;
  background:
    radial-gradient(circle at 16% 3%,rgba(68,111,230,.26),transparent 25%),
    radial-gradient(circle at 88% 7%,rgba(108,70,190,.17),transparent 27%),
    linear-gradient(180deg,rgba(5,19,43,.995),rgba(3,11,27,.995));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 0 25px rgba(42,75,190,.12);
  overflow:hidden;
}
.lumen-path-stars{
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.48;
  background-image:
    radial-gradient(circle at 12% 20%,rgba(255,231,166,.85) 0 1px,transparent 1.35px),
    radial-gradient(circle at 73% 17%,rgba(128,182,255,.82) 0 1px,transparent 1.45px),
    radial-gradient(circle at 89% 63%,rgba(255,220,136,.70) 0 1px,transparent 1.35px),
    radial-gradient(circle at 41% 78%,rgba(124,161,255,.74) 0 1px,transparent 1.45px);
  background-size:74px 74px,91px 91px,113px 113px,137px 137px;
}
.lumen-path-upgrade-banner{
  display:grid;
  
  align-items:center;
  gap:8px;
  
  padding:7px 8px;
  border:1px solid rgba(225,181,77,.30);
  border-radius:10px;
  background:linear-gradient(90deg,rgba(34,44,81,.88),rgba(13,27,57,.82));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
.lumen-path-upgrade-star{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  color:#f0ca73;
  font-size:.74rem;
  text-shadow:0 0 9px rgba(101,150,255,.46);
}
.lumen-path-upgrade-banner > div{display:grid;gap:1px;min-width:0;}
.lumen-path-upgrade-banner small{
  color:#8ea9d5;
  font-size:.38rem;
  letter-spacing:.13em;
  font-weight:800;
}
.lumen-path-upgrade-banner strong{
  color:#f5deb0;
  font-size:.68rem;
  font-weight:700;
}
.lumen-path-upgrade-banner button{
  
  
  border:1px solid rgba(236,194,91,.58);
  border-radius:8px;
  background:linear-gradient(180deg,#ad792a,#684316);
  color:#ffe8b2;
  font:inherit;
  
  font-weight:800;
  
  white-space:nowrap;
}
.lumen-path-celestial-hero{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:7px 8px 8px;
  border-bottom:1px solid rgba(218,180,92,.16);
}
.lumen-path-celestial-hero > img{
  width:56px;
  height:56px;
  object-fit:contain;
  filter:drop-shadow(0 0 14px rgba(73,139,255,.38)) drop-shadow(0 0 7px rgba(229,179,75,.20));
}
.lumen-path-celestial-hero > div{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"title count" "time count";
  align-items:center;
  gap:2px 8px;
}
.lumen-path-celestial-hero span{
  grid-area:title;
  color:#f1d38e;
  font-size:.82rem;
  font-weight:600;
  letter-spacing:.075em;
}
.lumen-path-celestial-hero strong{
  grid-area:count;
  min-width:58px;
  padding:6px 8px;
  border:1px solid rgba(224,181,91,.28);
  border-radius:999px;
  background:rgba(6,15,31,.58);
  color:#f3d78e;
  font-size:.52rem;
  font-weight:600;
  text-align:center;
}
.lumen-path-celestial-hero small{
  grid-area:time;
  color:#b4c4dd;
  font-size:.37rem;
}

.lumen-path-inventory-celestial{
  display:grid;
  gap:8px;
  margin:0 !important;
  padding:9px 10px !important;
  border:1px solid rgba(93,128,211,.24) !important;
  border-radius:12px !important;
  background:linear-gradient(180deg,rgba(10,31,66,.90),rgba(6,18,40,.94)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035) !important;
}
.lumen-path-inventory-celestial .lumen-path-inventory-title{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:9px;
}
.lumen-path-inventory-celestial .lumen-path-inventory-title strong{
  color:#f0d18a;
  font-size:.60rem;
  letter-spacing:.07em;
}
.lumen-path-inventory-celestial .lumen-path-inventory-title span{
  height:1px;
  background:linear-gradient(90deg,rgba(219,177,83,.32),transparent);
}
.lumen-path-chest-row.celestial{
  display:grid;
  grid-template-columns:1fr 1fr;
  overflow:hidden;
  border:1px solid rgba(92,123,188,.24);
  border-radius:10px;
  background:linear-gradient(180deg,rgba(8,24,52,.76),rgba(5,16,36,.88));
}
.lumen-path-chest-row.celestial .lumen-path-chest-cell{
  min-height:66px;
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  align-items:center;
  gap:8px;
  padding:7px 9px;
  border:0 !important;
  border-right:1px solid rgba(92,123,188,.20) !important;
  border-radius:0 !important;
  background:transparent !important;
  text-align:left;
}
.lumen-path-chest-row.celestial .lumen-path-chest-cell:last-child{border-right:0 !important;}
.lumen-path-chest-row.celestial .lumen-path-chest-cell:disabled{opacity:.46;}
.lumen-path-chest-row.celestial .lumen-path-chest-cell img{
  width:49px !important;
  height:49px !important;
  object-fit:contain;
  filter:drop-shadow(0 0 9px rgba(83,133,255,.20));
}
.lumen-path-chest-row.celestial .lumen-path-chest-cell div{display:grid;gap:2px;min-width:0;}
.lumen-path-chest-row.celestial .lumen-path-chest-cell strong{
  color:#efdbb0;
  font-size:.43rem;
  letter-spacing:.025em;
}
.lumen-path-chest-row.celestial .lumen-path-chest-cell small{
  color:#99acc8;
  font-size:.29rem;
}
.lumen-path-compact-boosts.celestial{
  display:grid;
  gap:0;
  border-top:1px solid rgba(92,123,188,.16);
}
.lumen-path-compact-boosts.celestial article{
  display:grid;
  grid-template-columns:29px minmax(0,1fr) auto;
  align-items:center;
  gap:7px;
  min-height:43px;
  padding:5px 1px;
  border-bottom:1px solid rgba(92,123,188,.13);
}
.lumen-path-compact-boosts.celestial article:last-child{border-bottom:0;}
.lumen-path-compact-boosts.celestial img{width:28px;height:28px;object-fit:contain;}
.lumen-path-compact-boosts.celestial div{display:grid;gap:1px;min-width:0;}
.lumen-path-compact-boosts.celestial strong{color:#ead7ad;font-size:.37rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lumen-path-compact-boosts.celestial small{color:#93a7c3;font-size:.28rem;}
.lumen-path-compact-boosts.celestial button{
  min-width:56px;
  min-height:27px;
  padding:0 6px;
  border:1px solid rgba(205,168,88,.28);
  border-radius:7px;
  background:linear-gradient(180deg,rgba(47,64,114,.92),rgba(24,38,76,.96));
  color:#e7d0ff;
  font:inherit;
  font-size:.29rem;
  letter-spacing:.07em;
}

.lumen-path-panel-celestial{
  display:grid;
  gap:7px !important;
  padding:8px 9px 10px !important;
  border:1px solid rgba(210,171,82,.34) !important;
  border-radius:12px !important;
  background:
    radial-gradient(circle at 13% 0%,rgba(65,106,217,.18),transparent 22%),
    linear-gradient(180deg,rgba(8,26,57,.88),rgba(5,16,36,.94)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.lumen-path-progress-celestial{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  padding:2px 1px 5px;
}
.lumen-path-progress-main{
  display:grid;
  gap:1px;
  min-width:64px;
}
.lumen-path-progress-main.summit{text-align:right;}
.lumen-path-progress-main span{
  color:#7f9bc3;
  font-size:.25rem;
  letter-spacing:.11em;
  font-weight:800;
}
.lumen-path-progress-main strong{
  color:#f0d18a;
  font-size:.42rem;
  font-weight:600;
}
.lumen-path-progress-celestial .lumen-path-track{
  height:8px !important;
  border-color:rgba(99,135,203,.34) !important;
  background:#061326 !important;
  box-shadow:inset 0 1px 3px rgba(0,0,0,.45);
}
.lumen-path-progress-celestial .lumen-path-track > i{
  background:linear-gradient(90deg,#b17c28,#e4b852 62%,#f5d98d) !important;
  box-shadow:0 0 10px rgba(226,179,80,.18) !important;
}
.lumen-path-journey-celestial{
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
}
.lumen-path-steps-celestial{
  display:grid !important;
  gap:0 !important;
  border-top:1px solid rgba(93,126,190,.17);
}
.lumen-path-step-celestial,
.lumen-path-step-celestial.left,
.lumen-path-step-celestial.right,
.lumen-path-step-celestial.major,
.lumen-path-step-celestial.major.left,
.lumen-path-step-celestial.major.right{
  width:100% !important;
  min-height:61px !important;
  display:grid !important;
  grid-template-columns:34px 48px minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:7px !important;
  justify-self:stretch !important;
  margin:0 !important;
  padding:6px 2px !important;
  border:0 !important;
  border-bottom:1px solid rgba(93,126,190,.17) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.lumen-path-step-celestial::before{display:none !important;}
.lumen-path-step-celestial .lumen-path-step-index{
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
  border:1px solid rgba(224,181,91,.43);
  border-radius:50%;
  background:rgba(8,23,49,.88);
  color:#f4d992;
  font-size:.43rem;
  font-weight:600;
  box-shadow:0 0 8px rgba(77,121,237,.08);
}
.lumen-path-step-celestial .lumen-path-step-art{
  width:44px;
  height:44px;
  object-fit:contain;
  filter:drop-shadow(0 0 8px rgba(82,133,255,.16));
}
.lumen-path-step-celestial .lumen-path-step-copy{
  min-width:0;
  display:grid;
  gap:2px;
}
.lumen-path-step-celestial .lumen-path-step-copy > span{display:none !important;}
.lumen-path-step-celestial .lumen-path-step-copy > strong{
  color:#f0d9a4 !important;
  font-size:.46rem !important;
  font-weight:600;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.lumen-path-step-celestial .lumen-path-step-copy > small{
  color:#98aac4 !important;
  font-size:.31rem !important;
  line-height:1.2 !important;
}
.lumen-path-step-celestial > button{
  min-width:78px !important;
  min-height:34px !important;
  padding:0 8px !important;
  border:1px solid rgba(231,188,91,.50) !important;
  border-radius:8px !important;
  background:linear-gradient(180deg,#a87527,#654014) !important;
  color:#ffe8b2 !important;
  font:inherit !important;
  font-size:.34rem !important;
  font-weight:700 !important;
  letter-spacing:.045em !important;
  white-space:nowrap !important;
}
.lumen-path-step-celestial > button:disabled{
  border-color:rgba(102,123,160,.18) !important;
  background:rgba(8,22,43,.64) !important;
  color:#7286a4 !important;
}
.lumen-path-step-celestial.unlocked{
  background:linear-gradient(90deg,rgba(32,54,93,.20),transparent 70%) !important;
}
.lumen-path-step-celestial.claimed{opacity:.72 !important;}
.lumen-path-step-celestial.claimed > button:disabled{color:#88b89a !important;border-color:rgba(84,151,106,.24) !important;}
.lumen-path-step-celestial.type-final{
  background:linear-gradient(90deg,rgba(98,69,24,.16),transparent 72%) !important;
}

@media (max-width:430px){
  .lumen-path-celestial-shell{margin-inline:5px;padding:8px;gap:7px;}
  .lumen-path-upgrade-banner{padding:6px 7px;}
  .lumen-path-upgrade-banner strong{font-size:.62rem;font-weight:700;}
  
  .lumen-path-celestial-hero{grid-template-columns:49px minmax(0,1fr);gap:8px;padding:5px 6px 7px;}
  .lumen-path-celestial-hero > img{width:47px;height:47px;}
  .lumen-path-celestial-hero span{font-size:.72rem;}
  .lumen-path-celestial-hero strong{min-width:52px;font-size:.47rem;padding:5px 7px;}
  .lumen-path-celestial-hero small{font-size:.34rem;}
  .lumen-path-inventory-celestial{padding:8px !important;}
  .lumen-path-chest-row.celestial .lumen-path-chest-cell{grid-template-columns:43px minmax(0,1fr);min-height:59px;padding:6px 7px;gap:6px;}
  .lumen-path-chest-row.celestial .lumen-path-chest-cell img{width:41px !important;height:41px !important;}
  .lumen-path-chest-row.celestial .lumen-path-chest-cell strong{font-size:.38rem;}
  .lumen-path-chest-row.celestial .lumen-path-chest-cell small{font-size:.26rem;}
  .lumen-path-panel-celestial{padding:7px 8px 9px !important;}
  .lumen-path-progress-celestial{gap:6px;}
  .lumen-path-progress-main{min-width:58px;}
  .lumen-path-progress-main strong{font-size:.38rem;}
  .lumen-path-step-celestial,
  .lumen-path-step-celestial.left,
  .lumen-path-step-celestial.right,
  .lumen-path-step-celestial.major,
  .lumen-path-step-celestial.major.left,
  .lumen-path-step-celestial.major.right{
    grid-template-columns:30px 42px minmax(0,1fr) auto !important;
    min-height:56px !important;
    gap:6px !important;
    padding:5px 1px !important;
  }
  .lumen-path-step-celestial .lumen-path-step-index{width:28px;height:28px;font-size:.39rem;}
  .lumen-path-step-celestial .lumen-path-step-art{width:39px;height:39px;}
  .lumen-path-step-celestial .lumen-path-step-copy > strong{font-size:.42rem !important;}
  .lumen-path-step-celestial .lumen-path-step-copy > small{font-size:.28rem !important;}
  .lumen-path-step-celestial > button{min-width:69px !important;min-height:31px !important;padding:0 6px !important;font-size:.30rem !important;}
}

/* v95 Lumen Path no longer occupies the primary navigation. */
body .bottom-nav,
body[data-lumen-pass="active"] .bottom-nav,
body[data-dev-castle-nav="visible"] .bottom-nav{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
}

/* ===== v97: Lumen Path refinement, subtle boost chevron, resilient Teams state ===== */
/* Active Boosts uses a quiet right-facing chevron that rotates down when open. */
.focus-boosts-heading .focus-loadout-toggle,
body[data-reward-theme] .focus-boosts-heading .focus-loadout-toggle{
  width:14px !important;
  height:14px !important;
  display:grid !important;
  place-items:center !important;
  justify-self:end !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:none !important;
  transition:none !important;
}
.focus-boosts-heading .focus-loadout-toggle i,
body[data-reward-theme] .focus-boosts-heading .focus-loadout-toggle i{
  width:6px !important;
  height:6px !important;
  border-radius:0 !important;
  border-right:1px solid rgba(229,195,119,.64) !important;
  border-bottom:1px solid rgba(229,195,119,.64) !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:rotate(-45deg) !important;
  transform-origin:center !important;
  transition:transform .17s ease, border-color .17s ease !important;
}
.focus-boosts-dropdown[open] .focus-loadout-toggle,
.focus-loadout-entry[open] .focus-loadout-toggle,
body[data-reward-theme] .focus-boosts-dropdown[open] .focus-loadout-toggle{
  transform:none !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.focus-boosts-dropdown[open] .focus-loadout-toggle i,
.focus-loadout-entry[open] .focus-loadout-toggle i,
body[data-reward-theme] .focus-boosts-dropdown[open] .focus-loadout-toggle i{
  transform:rotate(45deg) !important;
  border-color:rgba(238,207,137,.82) !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* The integrated Lumen Path owns the remaining Rewards viewport; only the Path
   rewards scroll, while navigation and chest inventory stay stable. */
.rewards-mock-page.lumen-path-destination > .lumen-path-celestial-shell,
body.secondary-screen-active .rewards-mock-page.lumen-path-destination > .lumen-path-celestial-shell{
  min-height:0 !important;
  overflow:hidden !important;
}
.lumen-path-celestial-shell-v97{
  display:flex !important;
  flex-direction:column !important;
  gap:7px !important;
  min-height:0 !important;
  padding:8px 9px 9px !important;
}
.lumen-path-celestial-shell-v97 .lumen-path-upgrade-banner{
  flex:0 0 auto;
}

/* Chests & Boosts: one restrained celestial surface with a clear route to Boosts. */
.lumen-path-celestial-shell-v97 .lumen-path-inventory-celestial{
  flex:0 0 auto;
  gap:7px !important;
  padding:8px 9px !important;
  border-color:rgba(91,125,198,.25) !important;
  background:
    radial-gradient(circle at 88% 0%,rgba(78,111,205,.11),transparent 30%),
    linear-gradient(180deg,rgba(8,25,54,.92),rgba(5,17,38,.96)) !important;
}
.lumen-path-celestial-shell-v97 .lumen-path-inventory-title{
  grid-template-columns:auto 1fr !important;
  align-items:center !important;
  gap:8px !important;
}
.lumen-path-celestial-shell-v97 .lumen-path-inventory-title > div{
  display:grid;
  gap:2px;
}
.lumen-path-celestial-shell-v97 .lumen-path-inventory-title strong{
  font-size:.58rem !important;
  color:#f0d18a !important;
  letter-spacing:.07em !important;
}
.lumen-path-celestial-shell-v97 .lumen-path-inventory-title small{
  color:#a8b9d2;
  font-size:.31rem;
  line-height:1.2;
}
.lumen-path-celestial-shell-v97 .lumen-path-chest-row.celestial .lumen-path-chest-cell{
  min-height:58px !important;
  grid-template-columns:43px minmax(0,1fr) !important;
  gap:6px !important;
  padding:5px 8px !important;
}
.lumen-path-celestial-shell-v97 .lumen-path-chest-row.celestial .lumen-path-chest-cell img{
  width:41px !important;
  height:41px !important;
}
.lumen-path-celestial-shell-v97 .lumen-path-chest-row.celestial .lumen-path-chest-cell strong{
  font-size:.40rem !important;
}
.lumen-path-celestial-shell-v97 .lumen-path-chest-row.celestial .lumen-path-chest-cell small{
  font-size:.27rem !important;
}

/* Remove the old oversized Lumen Path identity block entirely; the Rewards tab
   already names the destination. Progress becomes a compact status strip. */
.lumen-path-panel-v97{
  flex:1 1 auto !important;
  min-height:0 !important;
  display:grid !important;
  grid-template-rows:auto minmax(0,1fr) !important;
  gap:5px !important;
  padding:7px 8px 8px !important;
  overflow:hidden !important;
  border-color:rgba(205,167,82,.34) !important;
  background:
    radial-gradient(circle at 18% 0%,rgba(68,108,220,.13),transparent 24%),
    linear-gradient(180deg,rgba(7,24,53,.90),rgba(4,15,34,.95)) !important;
}
.lumen-path-progress-v97{
  
  
  
  
  border-bottom:1px solid rgba(91,125,190,.16);
}
.lumen-path-progress-v97 .lumen-path-progress-main{
  min-width:0 !important;
  gap:0 !important;
}
.lumen-path-progress-v97 .lumen-path-progress-main span{
  
  color:#829dc4 !important;
  
}
.lumen-path-progress-v97 .lumen-path-progress-main strong{
  
  color:#f1d38e !important;
  white-space:nowrap;
}


/* Only the reward path scrolls. */
.lumen-path-journey-v97{
  min-height:0 !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
  scrollbar-width:none !important;
  -webkit-overflow-scrolling:touch !important;
  padding-right:1px !important;
}
.lumen-path-journey-v97::-webkit-scrollbar{display:none !important;}
.lumen-path-steps-v97{
  position:relative !important;
  gap:0 !important;
  border-top:0 !important;
}

/* Tighter numbered nodes with a continuous vertical route between steps. */
.lumen-path-step-v97,
.lumen-path-step-v97.left,
.lumen-path-step-v97.right,
.lumen-path-step-v97.major,
.lumen-path-step-v97.major.left,
.lumen-path-step-v97.major.right{
  position:relative !important;
  
  
  
  
  overflow:visible !important;
}
.lumen-path-step-v97::before{display:none !important;content:none !important;}
.lumen-path-step-v97:not(:last-child)::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  z-index:0 !important;
  
  top:50% !important;
  bottom:-50% !important;
  
  background:linear-gradient(180deg,rgba(219,177,84,.52),rgba(85,113,172,.32)) !important;
  pointer-events:none !important;
}
.lumen-path-step-v97 .lumen-path-step-index{
  position:relative !important;
  z-index:2 !important;
  
  
  border-color:rgba(220,178,88,.48) !important;
  background:#07182f !important;
  color:#dbe5f4 !important;
  
  box-shadow:0 0 0 3px rgba(5,17,36,.92) !important;
}
.lumen-path-step-v97.claimed .lumen-path-step-index{
  border-color:rgba(242,201,106,.88) !important;
  background:linear-gradient(180deg,#a8762b,#634014) !important;
  color:#fff0bd !important;
  box-shadow:0 0 0 3px rgba(5,17,36,.92),0 0 9px rgba(221,173,75,.19) !important;
}
.lumen-path-step-v97.claimed:not(:last-child)::after{
  background:linear-gradient(180deg,rgba(236,190,89,.90),rgba(177,123,39,.56)) !important;
}

.lumen-path-step-v97 .lumen-path-step-copy > strong{
  
  
  color:#f2dca9 !important;
}
.lumen-path-step-v97 .lumen-path-step-copy > small{
  
  
  color:#a9bad2 !important;
}

/* Claim actions now match the bronze/gold purchase language used elsewhere. */
.lumen-path-step-v97 > button{
  
  
  
  border:1px solid rgba(245,200,97,.72) !important;
  border-radius:8px !important;
  background:
    linear-gradient(180deg,#b6802c 0%,#93621f 52%,#694313 100%) !important;
  color:#ffe9b0 !important;
  box-shadow:inset 0 1px 0 rgba(255,241,190,.16),0 2px 7px rgba(0,0,0,.14) !important;
  
  font-weight:800 !important;
  letter-spacing:.045em !important;
  text-shadow:0 1px 0 rgba(73,41,6,.38) !important;
}
.lumen-path-step-v97 > button:not(:disabled):active{
  transform:translateY(1px) !important;
}
.lumen-path-step-v97 > button:disabled{
  border-color:rgba(103,124,159,.20) !important;
  background:rgba(8,22,43,.64) !important;
  color:#7488a7 !important;
  box-shadow:none !important;
  text-shadow:none !important;
}
.lumen-path-step-v97.claimed > button:disabled{
  
  background:rgba(72,49,18,.36) !important;
  
}

@media (max-width:430px){
  .lumen-path-celestial-shell-v97{padding:7px !important;gap:6px !important;}
  
  
  
  
  
  
  
  
}

/* Teams: if the authenticated profile already has a team ID, never show the
   create/join screen while the selected Academy document is still syncing. */
.teams-membership-loading-page .teams-empty-modern-hero{
  min-height:100%;
}
.teams-membership-loading{
  min-height:180px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:8px;
  padding:22px;
  text-align:center;
}
.teams-membership-loading-orbit{
  width:34px;
  height:34px;
  border-radius:50%;
  border:1px solid rgba(218,176,87,.28);
  position:relative;
  box-shadow:0 0 16px rgba(73,118,222,.09);
}
.teams-membership-loading-orbit::before{
  content:"✦";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#e6c574;
  font-size:.72rem;
  animation:teamsMembershipPulse 1.5s ease-in-out infinite;
}
.teams-membership-loading strong{
  color:#ecd39a;
  font-size:.58rem;
  letter-spacing:.12em;
}
.teams-membership-loading small{
  color:#91a4bd;
  font-size:.38rem;
}
@keyframes teamsMembershipPulse{
  0%,100%{opacity:.48;transform:scale(.92);}
  50%{opacity:1;transform:scale(1.08);}
}

/* ===== 2026-09-17 v98 Lumen Path / Boosts / Theme polish ===== */

/* Lumen Path is now deliberately split into Path and Inventory so the journey
   can use the full reward viewport without chest/boost rows crowding it. */

.lumen-path-view-tabs-v98{
  position:relative;
  
  display:grid;
  
  
  flex:0 0 auto;
}
.lumen-path-view-tabs-v98 button{
  
  
  display:grid;
  place-items:center;
  align-content:center;
  gap:2px;
  
  
  
  
  
}

.lumen-path-view-tabs-v98 button small{
  font-size:.42rem;
  line-height:1.1;
  color:#8196b7;
}
.lumen-path-view-tabs-v98 button.active{
  border-color:rgba(230,188,93,.58);
  
  
  
}
.lumen-path-view-tabs-v98 button.active small{color:#d9bd78;}

/* Larger Path typography and roomier rows. */


.lumen-path-progress-v97 .lumen-path-progress-main span{
  
  
  letter-spacing:.075em !important;
}


.lumen-path-history-note-v98{
  padding:0 2px 2px;
  color:#91a7c6;
  font-size:.41rem;
  line-height:1.35;
}

.lumen-path-step-v97:not(:last-child)::after{
  left:16px !important;
  width:2px !important;
}
.lumen-path-step-v97 .lumen-path-step-index{
  width:31px !important;
  height:31px !important;
  font-size:.50rem !important;
}

.lumen-path-step-v97 .lumen-path-step-copy{
  gap:3px !important;
  min-width:0 !important;
}
.lumen-path-step-v97 .lumen-path-step-copy > strong{
  font-size:.68rem !important;
  line-height:1.12 !important;
  letter-spacing:.005em !important;
}
.lumen-path-step-v97 .lumen-path-step-copy > small{
  font-size:.46rem !important;
  line-height:1.28 !important;
}
.lumen-path-step-v97 > button{
  min-width:84px !important;
  min-height:38px !important;
  padding:0 9px !important;
  font-size:.47rem !important;
}

/* Inventory has its own scrollable space and includes earned boosts as well as chests. */
.lumen-path-inventory-v98{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding:12px !important;
  gap:10px !important;
}
.lumen-path-inventory-v98::-webkit-scrollbar{display:none;}
.lumen-path-celestial-shell-v98 .lumen-path-inventory-title strong{
  font-size:.76rem !important;
  line-height:1.05 !important;
}
.lumen-path-celestial-shell-v98 .lumen-path-inventory-title small{
  font-size:.47rem !important;
  line-height:1.35 !important;
}
.lumen-inventory-section-label-v98{
  margin-top:2px;
  color:#d9bb75;
  font-size:.45rem;
  font-weight:800;
  letter-spacing:.10em;
}

.lumen-path-celestial-shell-v98 .lumen-path-chest-row.celestial .lumen-path-chest-cell{
  min-height:72px !important;
  grid-template-columns:52px minmax(0,1fr) !important;
  gap:8px !important;
  padding:8px 9px !important;
  
  
}
.lumen-path-celestial-shell-v98 .lumen-path-chest-row.celestial .lumen-path-chest-cell img{
  width:49px !important;
  height:49px !important;
}
.lumen-path-celestial-shell-v98 .lumen-path-chest-row.celestial .lumen-path-chest-cell strong{
  font-size:.56rem !important;
}
.lumen-path-celestial-shell-v98 .lumen-path-chest-row.celestial .lumen-path-chest-cell small{
  font-size:.40rem !important;
  line-height:1.25 !important;
}
.lumen-inventory-boost-list-v98{
  display:grid;
  gap:7px;
}
.lumen-inventory-boost-v98{
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  min-height:65px;
  padding:8px 9px;
  border:1px solid rgba(97,129,194,.22);
  border-radius:9px;
  background:linear-gradient(180deg,rgba(10,29,57,.76),rgba(5,19,40,.88));
}
.lumen-inventory-boost-v98 img{
  width:46px;
  height:46px;
  object-fit:contain;
  filter:drop-shadow(0 4px 9px rgba(0,0,0,.20));
}
.lumen-inventory-boost-v98 > div{display:grid;gap:3px;min-width:0;}
.lumen-inventory-boost-v98 strong{
  color:#f1d79d;
  font-size:.57rem;
  line-height:1.14;
}
.lumen-inventory-boost-v98 small{
  color:#9eb0ca;
  font-size:.40rem;
  line-height:1.25;
}
.lumen-inventory-boost-v98 button,
.lumen-inventory-running-v98{
  min-width:68px;
  min-height:32px;
  display:grid;
  place-items:center;
  padding:0 8px;
  border:1px solid rgba(226,184,87,.55);
  border-radius:8px;
  background:linear-gradient(180deg,#a87529,#714815);
  color:#ffe9b2;
  font-size:.40rem;
  font-weight:800;
  letter-spacing:.04em;
}
.lumen-inventory-running-v98{
  border-color:rgba(102,166,124,.38);
  background:rgba(31,83,50,.38);
  color:#a9ddb8;
}
.lumen-inventory-empty-v98{
  padding:18px 12px;
  border:1px dashed rgba(100,133,196,.25);
  border-radius:9px;
  color:#8fa4c3;
  font-size:.45rem;
  line-height:1.45;
  text-align:center;
}

/* Compact Active Boosts drawer: collapsed by default, with a right-pointing
   chevron that rotates downward when expanded. */
.boost-cabinet-panel{
  padding:0 !important;
  overflow:hidden !important;
}
.boost-cabinet-toggle{
  width:100%;
  
  display:grid;
  
  
  gap:10px;
  
  border:0;
  background:transparent;
  color:inherit;
  text-align:left;
}
.boost-cabinet-toggle .boost-cabinet-head{
  min-width:0;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}
.boost-cabinet-summary{
  display:grid;
  grid-template-columns:auto auto auto;
  
  
  color:#aab8cb;
  white-space:nowrap;
}
.boost-cabinet-summary b{
  min-width:23px;
  height:23px;
  display:grid;
  place-items:center;
  border-radius:99px;
  background:rgba(216,176,91,.13);
  
  
}

.boost-cabinet-summary i{
  display:block;
  color:#e1bd70;
  font-style:normal;
  font-size:1.1rem;
  line-height:1;
  transform:rotate(0deg);
  transition:transform .18s ease;
}
.boost-cabinet-panel.expanded .boost-cabinet-summary i{transform:rotate(90deg);}
.boost-cabinet-expanded-v98{
  display:grid;
  gap:8px;
  padding:0 12px 11px;
  border-top:1px solid rgba(255,255,255,.055);
}
.boost-cabinet-expanded-v98 .boost-cabinet-max{margin-top:8px;}
.boost-action{
  min-width:86px !important;
  gap:2px !important;
  padding:6px 9px !important;
}
.boost-action strong{
  font-size:.47rem !important;
  letter-spacing:.055em !important;
}
.boost-action span{
  font-size:.36rem !important;
  line-height:1.12 !important;
  opacity:.86;
}
.boost-action span b{font-size:inherit;color:inherit;}

/* Character/castle Path claims use the existing reward reveal, amplified with
   a short celestial arrival animation. */
.path-reward-reveal-v98 .chest-reveal-art-shell{
  animation:lumenPathRewardArrivalV98 .82s cubic-bezier(.16,.84,.24,1) both;
}
.path-reward-reveal-v98 .chest-reveal-rays{
  animation:lumenPathRewardRaysV98 7s linear infinite, lumenPathRewardFlashV98 1s ease-out both;
}
.path-reward-reveal-v98 .chest-reveal-name,
.path-reward-reveal-v98 .chest-reveal-rarity{
  animation:lumenPathRewardCopyV98 .55s .24s ease-out both;
}
@keyframes lumenPathRewardArrivalV98{
  0%{opacity:0;transform:translateY(22px) scale(.68) rotate(-2deg);filter:blur(5px) brightness(1.65);}
  62%{opacity:1;transform:translateY(-3px) scale(1.07) rotate(.5deg);filter:blur(0) brightness(1.18);}
  100%{opacity:1;transform:none;filter:none;}
}
@keyframes lumenPathRewardRaysV98{to{transform:rotate(360deg);}}
@keyframes lumenPathRewardFlashV98{0%{opacity:0;}35%{opacity:1;}100%{opacity:.62;}}
@keyframes lumenPathRewardCopyV98{from{opacity:0;transform:translateY(7px);}to{opacity:1;transform:none;}}

/* Elite retains its special locked colour. Once Pass access is active, it uses
   exactly the normal Daily / Weekly / Lifetime text treatment. */
body.secondary-screen-active .iphone-quests-page.lumen-pass-active .quests-mock-switch button.elite:not(.active){
  color:#f0cb82 !important;
  text-shadow:none !important;
  opacity:1 !important;
}
body.secondary-screen-active .iphone-quests-page.lumen-pass-active .quests-mock-switch button.elite.active{
  color:#241304 !important;
  text-shadow:none !important;
  opacity:1 !important;
}
body.secondary-screen-active .iphone-quests-page:not(.lumen-pass-active) .quests-mock-switch button.elite.locked{
  color:#f0b85f !important;
}

/* Reward themes may tint sheets, but the popup itself is always fully opaque. */
body[data-reward-theme] #sheetOverlay > .sheet,
body[data-reward-theme] #sheetOverlay .sheet-card,
body[data-reward-theme] #sheetOverlay .screen-card{
  background:
    linear-gradient(180deg,
      color-mix(in srgb,var(--mq-page-solid,#0a1524) 90%,white 10%),
      color-mix(in srgb,var(--mq-page-solid,#0a1524) 94%,black 6%)) !important;
  background-color:var(--mq-page-solid,#0a1524) !important;
  opacity:1 !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
body[data-reward-theme] #sheetOverlay > .sheet .sheet-header{
  background:color-mix(in srgb,var(--mq-page-solid,#0a1524) 92%,white 8%) !important;
  opacity:1 !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

/* One consistent Settings component language: every control is a rounded row
   card, including volume sliders and admin/developer/logout actions. */
#sheetOverlay .settings-sheet-modal .settings-list{
  
  
  border:0 !important;
}
#sheetOverlay .settings-sheet-modal :is(.settings-row,.settings-volume-row){
  width:100% !important;
  min-height:60px !important;
  margin:0 !important;
  padding:10px 11px !important;
  box-sizing:border-box !important;
  border:1px solid rgba(184,151,87,.16) !important;
  border-radius:10px !important;
  background:linear-gradient(180deg,rgba(22,29,42,.92),rgba(12,18,29,.96)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025) !important;
}


#sheetOverlay .settings-sheet-modal :is(.settings-row,.settings-volume-row) strong{
  font-size:.77rem !important;
  line-height:1.15 !important;
  font-weight:650 !important;
}
#sheetOverlay .settings-sheet-modal :is(.settings-row,.settings-volume-row) small{
  font-size:.62rem !important;
  line-height:1.28 !important;
}
#sheetOverlay .settings-sheet-modal .settings-row > span:last-child,
#sheetOverlay .settings-sheet-modal .settings-volume-row output{
  color:var(--gold) !important;
  font-size:.66rem !important;
  font-weight:700 !important;
}
#sheetOverlay .settings-sheet-modal .settings-logout-row,
#sheetOverlay .settings-sheet-modal .account-repair-entry,
#sheetOverlay .settings-sheet-modal .developer-settings-row{
  border-radius:10px !important;
  background:linear-gradient(180deg,rgba(22,29,42,.92),rgba(12,18,29,.96)) !important;
  border-color:rgba(184,151,87,.16) !important;
}

body[data-reward-theme] #sheetOverlay .settings-sheet-modal :is(.settings-row,.settings-volume-row),
body[data-reward-theme] #sheetOverlay .settings-sheet-modal :is(.settings-logout-row,.account-repair-entry,.developer-settings-row){
  background:linear-gradient(180deg,
    color-mix(in srgb,var(--mq-page-solid,#0a1524) 86%,white 14%),
    color-mix(in srgb,var(--mq-page-solid,#0a1524) 95%,black 5%)) !important;
  border-color:var(--mq-border) !important;
}
body[data-reward-theme] #sheetOverlay .settings-sheet-modal :is(.settings-row,.settings-volume-row) strong{
  color:var(--mq-title) !important;
}
body[data-reward-theme] #sheetOverlay .settings-sheet-modal :is(.settings-row,.settings-volume-row) small{
  color:var(--mq-muted) !important;
}
body[data-reward-theme] #sheetOverlay .settings-sheet-modal .settings-row > span:last-child,
body[data-reward-theme] #sheetOverlay .settings-sheet-modal .settings-volume-row output{
  color:var(--mq-accent) !important;
}
body[data-reward-theme] #sheetOverlay .settings-sheet-modal .settings-logout-row strong,
body[data-reward-theme] #sheetOverlay .settings-sheet-modal .settings-logout-row > span:last-child{
  color:#e7a19a !important;
}

/* Forest v98 full-app overrides removed in v100; Forest now uses the shared Volcano-scope theme model. */
@media (max-width:430px){
  
  
  .lumen-path-view-tabs-v98 button small{font-size:.39rem;}
  .lumen-path-panel-v98{padding:8px !important;}
  .lumen-path-progress-v97{gap:6px !important;}
  .lumen-path-progress-v97 .lumen-path-progress-main span{font-size:.34rem !important;}
  .lumen-path-progress-v97 .lumen-path-progress-main strong{font-size:.53rem !important;}
  .lumen-path-history-note-v98{font-size:.38rem;}
  .lumen-path-step-v97,
  .lumen-path-step-v97.left,
  .lumen-path-step-v97.right,
  .lumen-path-step-v97.major,
  .lumen-path-step-v97.major.left,
  .lumen-path-step-v97.major.right{
    grid-template-columns:32px 48px minmax(0,1fr) auto !important;
    
    gap:7px !important;
    padding:7px 1px !important;
  }
  .lumen-path-step-v97:not(:last-child)::after{left:15px !important;}
  .lumen-path-step-v97 .lumen-path-step-index{width:29px !important;height:29px !important;font-size:.47rem !important;}
  .lumen-path-step-v97 .lumen-path-step-art{width:45px !important;height:45px !important;}
  .lumen-path-step-v97 .lumen-path-step-copy > strong{font-size:.61rem !important;}
  .lumen-path-step-v97 .lumen-path-step-copy > small{font-size:.42rem !important;}
  .lumen-path-step-v97 > button{min-width:75px !important;min-height:36px !important;font-size:.43rem !important;padding:0 7px !important;}
  .lumen-path-inventory-v98{padding:10px !important;}
  .lumen-path-celestial-shell-v98 .lumen-path-inventory-title strong{font-size:.70rem !important;}
  .lumen-path-celestial-shell-v98 .lumen-path-inventory-title small{font-size:.43rem !important;}
  .lumen-inventory-boost-v98{grid-template-columns:44px minmax(0,1fr) auto;gap:7px;padding:7px;}
  .lumen-inventory-boost-v98 img{width:42px;height:42px;}
  .lumen-inventory-boost-v98 strong{font-size:.52rem;}
  .lumen-inventory-boost-v98 small{font-size:.37rem;}
  .lumen-inventory-boost-v98 button,.lumen-inventory-running-v98{min-width:61px;font-size:.37rem;padding:0 6px;}
  
}

@media (prefers-reduced-motion:reduce){
  .path-reward-reveal-v98 .chest-reveal-art-shell,
  .path-reward-reveal-v98 .chest-reveal-rays,
  .path-reward-reveal-v98 .chest-reveal-name,
  .path-reward-reveal-v98 .chest-reveal-rarity{animation:none !important;}
}
body.reduce-motion .path-reward-reveal-v98 .chest-reveal-art-shell,
body.reduce-motion .path-reward-reveal-v98 .chest-reveal-rays,
body.reduce-motion .path-reward-reveal-v98 .chest-reveal-name,
body.reduce-motion .path-reward-reveal-v98 .chest-reveal-rarity{animation:none !important;}

/* ===== v99: Lumen Path controls, chest value weighting, and celestial polish ===== */
/* Match the compact Characters / Pets editorial selector rather than large cards. */
.lumen-path-view-tabs-v98{
  position:relative !important;
  z-index:2 !important;
  display:flex !important;
  grid-template-columns:none !important;
  align-items:flex-end !important;
  
  min-height:0 !important;
  
  
  border:0 !important;
  border-bottom:1px solid rgba(228,188,106,.42) !important;
  background:transparent !important;
}
.lumen-path-view-tabs-v98 button{
  position:relative !important;
  width:auto !important;
  
  min-height:0 !important;
  height:auto !important;
  
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:rgba(195,195,199,.58) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.lumen-path-view-tabs-v98 button::after{
  content:"" !important;
  position:absolute !important;
  
  
  
  
  border-radius:999px !important;
  background:transparent !important;
  box-shadow:none !important;
}
.lumen-path-view-tabs-v98 button strong{
  color:inherit !important;
  
  line-height:1 !important;
  font-weight:700 !important;
  
}
.lumen-path-view-tabs-v98 button small{display:none !important;}
.lumen-path-view-tabs-v98 button.active{
  border:0 !important;
  background:transparent !important;
  color:#efc86b !important;
  box-shadow:none !important;
}
.lumen-path-view-tabs-v98 button.active::after{
  background:#efc65f !important;
  box-shadow:0 0 7px rgba(239,198,95,.40) !important;
}

/* Make the Path's starfield actually sit above the shell background, matching
   the mystical field used on the Lumen Pass purchase page. */
.lumen-path-celestial-shell-v98 > .lumen-path-stars{
  z-index:0 !important;
  opacity:.58 !important;
  background-image:
    radial-gradient(circle at 12% 20%,rgba(255,231,166,.88) 0 1px,transparent 1.4px),
    radial-gradient(circle at 73% 17%,rgba(128,182,255,.84) 0 1px,transparent 1.5px),
    radial-gradient(circle at 89% 63%,rgba(255,220,136,.70) 0 1px,transparent 1.4px),
    radial-gradient(circle at 41% 78%,rgba(124,161,255,.76) 0 1px,transparent 1.5px) !important;
  background-size:74px 74px,91px 91px,113px 113px,137px 137px !important;
}
.lumen-path-celestial-shell-v98 > :not(.lumen-path-stars){
  position:relative;
  z-index:1;
}

/* Claim/choose controls use the same restrained bronze/gold language as the
   Rewards buy buttons, with a larger legible action label. */
.lumen-path-step-v97.unlocked > button:not(:disabled){
  min-width:84px !important;
  min-height:38px !important;
  padding:0 9px !important;
  border-radius:7px !important;
  border:1px solid rgba(224,176,76,.70) !important;
  background:linear-gradient(180deg,rgba(70,53,28,.96),rgba(39,29,16,.99)) !important;
  color:#efcb78 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 4px 10px rgba(0,0,0,.12) !important;
  font-size:.62rem !important;
  font-weight:800 !important;
  letter-spacing:.035em !important;
}
.lumen-path-step-v97.unlocked > button:not(:disabled):active{
  transform:translateY(1px) !important;
}

/* Lumen purchase and Celestial Chest actions share the same bronze/gold button
   styling instead of the previous blue/cosmic treatment. */
.lumen-pass-plans.cosmic button,
.lumen-pass-active-copy.cosmic button,
.lumen-arcane-claim,
.rewards-mock-head .tutorial-exotic-wallet-card .lumen-arcane-claim,
.lumen-path-upgrade-banner button{
  border:1px solid rgba(224,176,76,.72) !important;
  border-radius:7px !important;
  background:linear-gradient(180deg,rgba(70,53,28,.97),rgba(39,29,16,.995)) !important;
  color:#efcb78 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 4px 10px rgba(0,0,0,.13) !important;
  font-weight:800 !important;
  letter-spacing:.04em !important;
}
.lumen-pass-plans.cosmic button{min-height:34px !important;font-size:.48rem !important;}
.lumen-pass-active-copy.cosmic button{min-height:34px !important;font-size:.48rem !important;}


@media (max-width:430px){
  .lumen-path-view-tabs-v98{margin:1px 0 6px !important;}
  .lumen-path-view-tabs-v98 button{min-height:0 !important;padding:0 0 7px !important;}
  
  .lumen-path-view-tabs-v98 button::after{bottom:-10px !important;}
  .lumen-path-step-v97.unlocked > button:not(:disabled){min-width:75px !important;min-height:36px !important;font-size:.58rem !important;padding:0 7px !important;}
}


/* ===== v100: flat Settings restoration + Lumen CTA readability ===== */
/* Settings return to the original flat-row language and navy/gold palette.
   Reward themes stay opaque, but no longer turn each setting into a grey card. */
#sheetOverlay > .sheet.settings-sheet-modal,
body[data-reward-theme] #sheetOverlay > .sheet.settings-sheet-modal{
  background:linear-gradient(180deg,#0b1420 0%,#07101a 100%) !important;
  background-color:#09121d !important;
  border-color:rgba(203,164,91,.24) !important;
  color:#e8ddc3 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 14px 34px rgba(0,0,0,.40) !important;
}
#sheetOverlay .settings-sheet-modal .sheet-header,
body[data-reward-theme] #sheetOverlay .settings-sheet-modal .sheet-header{
  background:#0b1420 !important;
  border-bottom-color:rgba(203,164,91,.18) !important;
}
#sheetOverlay .settings-sheet-modal .sheet-title{color:#efcf88 !important;}
#sheetOverlay .settings-sheet-modal .settings-list{
  display:grid !important;
  gap:0 !important;
  border-top:1px solid rgba(137,153,176,.18) !important;
}
#sheetOverlay .settings-sheet-modal :is(.settings-row,.settings-volume-row),
body[data-reward-theme] #sheetOverlay .settings-sheet-modal :is(.settings-row,.settings-volume-row){
  width:100% !important;
  min-height:0 !important;
  margin:0 !important;
  padding:12px 2px !important;
  box-sizing:border-box !important;
  border:0 !important;
  border-bottom:1px solid rgba(137,153,176,.18) !important;
  border-radius:0 !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
}
#sheetOverlay .settings-sheet-modal .settings-row{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  color:#e8ddc3 !important;
  text-align:left !important;
}
#sheetOverlay .settings-sheet-modal .settings-volume-row{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(128px,42%) !important;
  align-items:center !important;
  gap:14px !important;
}
#sheetOverlay .settings-sheet-modal :is(.settings-row,.settings-volume-row) strong,
body[data-reward-theme] #sheetOverlay .settings-sheet-modal :is(.settings-row,.settings-volume-row) strong{
  color:#e8ddc3 !important;
  font-size:.74rem !important;
  line-height:1.15 !important;
  font-weight:400 !important;
}
#sheetOverlay .settings-sheet-modal :is(.settings-row,.settings-volume-row) small,
body[data-reward-theme] #sheetOverlay .settings-sheet-modal :is(.settings-row,.settings-volume-row) small{
  color:#93a2b6 !important;
  font-size:.70rem !important;
  line-height:1.3 !important;
}
#sheetOverlay .settings-sheet-modal .settings-row > span:last-child,
#sheetOverlay .settings-sheet-modal .settings-volume-row output,
body[data-reward-theme] #sheetOverlay .settings-sheet-modal .settings-row > span:last-child,
body[data-reward-theme] #sheetOverlay .settings-sheet-modal .settings-volume-row output{
  color:#dfb861 !important;
  font-size:.72rem !important;
  font-weight:600 !important;
}
#sheetOverlay .settings-sheet-modal .settings-volume-row > div{
  width:100% !important;
  min-width:0 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 38px !important;
  align-items:center !important;
  gap:8px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
#sheetOverlay .settings-sheet-modal .settings-volume-row input[type="range"]{
  height:24px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  accent-color:#dfb861 !important;
}
#sheetOverlay .settings-sheet-modal .settings-volume-row input[type="range"]::-webkit-slider-runnable-track{
  height:4px !important;
  border:0 !important;
  border-radius:999px !important;
  background:rgba(223,184,97,.24) !important;
  box-shadow:none !important;
}
#sheetOverlay .settings-sheet-modal .settings-volume-row input[type="range"]::-webkit-slider-thumb{
  width:17px !important;
  height:17px !important;
  margin-top:-6.5px !important;
  border:1px solid rgba(255,231,174,.72) !important;
  background:#dfb861 !important;
  box-shadow:0 1px 5px rgba(0,0,0,.28) !important;
}
#sheetOverlay .settings-sheet-modal .settings-volume-row input[type="range"]::-moz-range-track{
  height:4px !important;
  border:0 !important;
  border-radius:999px !important;
  background:rgba(223,184,97,.24) !important;
  box-shadow:none !important;
}
#sheetOverlay .settings-sheet-modal .settings-volume-row input[type="range"]::-moz-range-thumb{
  width:17px !important;
  height:17px !important;
  border:1px solid rgba(255,231,174,.72) !important;
  background:#dfb861 !important;
  box-shadow:0 1px 5px rgba(0,0,0,.28) !important;
}
#sheetOverlay .settings-sheet-modal :is(.settings-logout-row,.account-repair-entry,.developer-settings-row),
body[data-reward-theme] #sheetOverlay .settings-sheet-modal :is(.settings-logout-row,.account-repair-entry,.developer-settings-row){
  border-radius:0 !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
}
#sheetOverlay .settings-sheet-modal .settings-logout-row{
  border:0 !important;
  border-bottom:1px solid rgba(196,91,83,.24) !important;
}
#sheetOverlay .settings-sheet-modal .settings-logout-row strong,
#sheetOverlay .settings-sheet-modal .settings-logout-row > span:last-child{color:#e39a91 !important;}

/* Celestial chest and every Path claim state remain readable at phone scale. */
.lumen-arcane-claim,
.rewards-mock-head .tutorial-exotic-wallet-card .lumen-arcane-claim{
  min-width:94px !important;
  min-height:40px !important;
  padding:0 12px !important;
  font-size:.68rem !important;
  line-height:1 !important;
  letter-spacing:.045em !important;
}
.lumen-path-step-v97.claimed > button:disabled{
  min-width:84px !important;
  min-height:38px !important;
  padding:0 9px !important;
  font-size:.60rem !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.035em !important;
  color:#b99a61 !important;
  border-color:rgba(185,154,97,.28) !important;
}
.lumen-path-upgrade-banner{
  grid-template-columns:24px minmax(0,1fr) auto !important;
  min-height:58px !important;
}
.lumen-path-upgrade-banner button{
  min-width:116px !important;
  min-height:44px !important;
  padding:0 14px !important;
  font-size:.69rem !important;
  line-height:1 !important;
  letter-spacing:.035em !important;
}
@media(max-width:430px){
  #sheetOverlay .settings-sheet-modal .settings-volume-row{grid-template-columns:minmax(0,1fr) !important;gap:7px !important;}
  .lumen-arcane-claim,
  .rewards-mock-head .tutorial-exotic-wallet-card .lumen-arcane-claim{min-width:88px !important;min-height:39px !important;font-size:.64rem !important;}
  .lumen-path-step-v97.claimed > button:disabled{min-width:75px !important;min-height:36px !important;font-size:.57rem !important;padding:0 7px !important;}
  .lumen-path-upgrade-banner{grid-template-columns:20px minmax(0,1fr) auto !important;min-height:56px !important;gap:6px !important;}
  .lumen-path-upgrade-banner button{min-width:105px !important;min-height:42px !important;padding:0 10px !important;font-size:.64rem !important;}
}


/* v131: compact Settings status labels must never wrap (e.g. Usage analytics Off). */
#sheetOverlay .settings-sheet-modal .settings-row > span:last-child{
  white-space:nowrap !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  flex:0 0 auto !important;
}

/* v135 — Teams-page expedition countdown matches the popup claim button. */
.team-expedition-sleek.awaiting-end .team-expedition-claim-banner.pending{
  width:max-content !important;
  max-width:100% !important;
  min-width:0 !important;
  min-height:32px !important;
  justify-self:start !important;
  align-self:center !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 12px !important;
  margin-top:4px !important;
  border:1px solid rgba(241,196,88,.84) !important;
  border-radius:10px !important;
  background:linear-gradient(180deg,#b5832e,#754d18) !important;
  color:#fff0bd !important;
  box-shadow:none !important;
  opacity:.67 !important;
  filter:saturate(.65) !important;
  font-family:var(--lumen-font-display) !important;
  font-size:.58rem !important;
  line-height:1 !important;
  font-weight:600 !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  pointer-events:none !important;
}
@media(max-width:430px){
  .team-expedition-sleek.awaiting-end .team-expedition-claim-banner.pending{
    min-height:30px !important;
    padding:0 10px !important;
    font-size:.54rem !important;
  }
}


/* v136 — Stack the Teams expedition claim countdown directly beneath the reward icons. */
.team-expedition-sleek .team-expedition-sleek-reward{
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:0 !important;
}
.team-expedition-sleek .team-expedition-sleek-reward .team-expedition-claim-banner{
  grid-column:auto !important;
  justify-self:auto !important;
  align-self:center !important;
  margin:-4px 0 0 !important;
}
.team-expedition-sleek.awaiting-end .team-expedition-sleek-reward .team-expedition-claim-banner.pending{
  min-height:28px !important;
  padding:0 10px !important;
  
}
@media(max-width:430px){
  .team-expedition-sleek.awaiting-end .team-expedition-sleek-reward .team-expedition-claim-banner.pending{
    min-height:27px !important;
    padding:0 9px !important;
    
  }
}


/* v137 — Add breathing room between Teams expedition reward icons and claim control. */
.team-expedition-sleek .team-expedition-sleek-reward .team-expedition-claim-banner{
  margin-top:0 !important;
}
.team-expedition-sleek.awaiting-end .team-expedition-sleek-reward .team-expedition-claim-banner.pending{
  margin-top:0 !important;
}
@media(max-width:430px){
  .team-expedition-sleek.awaiting-end .team-expedition-sleek-reward .team-expedition-claim-banner.pending{
    margin-top:-1px !important;
  }
}

/* ===== v138: progression claims, social profile scrolling, Teams dock + Lumen Path fixes ===== */
/* Growth unlock rewards use long labels; keep them inside the quest reward column. */
.quest-mock-unlock-reward.compact strong{
  max-width:64px !important;
  font-size:.43rem !important;
  line-height:1.05 !important;
  letter-spacing:.025em !important;
  overflow-wrap:anywhere !important;
}
@media (max-width:430px){
  .quest-mock-unlock-reward.compact strong{font-size:.40rem !important;max-width:58px !important;}
}

/* On phones the Manage Academy action should finish the Teams surface directly above nav. */
@media (max-width:430px){
  body.secondary-screen-active .iphone-teams-page.teams-sleek-page .teams-mock-content.teams-dashboard-sleek{
    margin-bottom:0 !important;
    padding-bottom:0 !important;
  }
  .teams-dashboard-sleek .teams-floating-manage.teams-manage-sleek{
    bottom:0 !important;
    margin-bottom:0 !important;
  }
}

/* Lumen Pass social profiles: scroll the complete profile reliably on touch devices.
   This avoids a nested flex scroller becoming non-scrollable in WKWebView/mobile browsers. */
#sheetOverlay > .sheet.ally-profile-modal-v45.social-profile-modal-v48.profile-has-pass-v48{
  overflow-y:auto !important;
  overflow-x:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior-y:contain !important;
  touch-action:pan-y !important;
}
#sheetOverlay > .sheet.ally-profile-modal-v45.social-profile-modal-v48.profile-has-pass-v48 .ally-profile-v45{
  
  
  display:block !important;
  
}
#sheetOverlay > .sheet.ally-profile-modal-v45.social-profile-modal-v48.profile-has-pass-v48 .ally-profile-progress-v45{
  display:block !important;
  
}
#sheetOverlay > .sheet.ally-profile-modal-v45.social-profile-modal-v48.profile-has-pass-v48 .ally-profile-stats-scroll-v45.is-scrollable{
  
  
  overflow:visible !important;
  touch-action:auto !important;
}

/* Elite remains gold in both inactive and selected states. */
body.secondary-screen-active .iphone-quests-page.lumen-pass-active .quests-mock-switch button.elite,
body.secondary-screen-active .iphone-quests-page.lumen-pass-active .quests-mock-switch button.elite.active{
  color:#f0cb82 !important;
  text-shadow:0 0 7px rgba(229,181,78,.18),0 1px 3px rgba(0,0,0,.45) !important;
  opacity:1 !important;
}

/* Path inventory: show every chest as a clear full-width row, including Celestial credits. */
.lumen-path-celestial-shell-v98 .lumen-path-chest-row.celestial{
  grid-template-columns:1fr !important;
  overflow:visible !important;
  border:0 !important;
  background:transparent !important;
  gap:7px !important;
}
.lumen-path-celestial-shell-v98 .lumen-path-chest-row.celestial .lumen-path-chest-cell{
  width:100% !important;
  border:1px solid rgba(93,126,191,.24) !important;
  border-radius:9px !important;
  background:linear-gradient(180deg,rgba(9,25,54,.88),rgba(5,17,38,.94)) !important;
}
.lumen-path-celestial-shell-v98 .lumen-path-chest-row.celestial .lumen-path-chest-cell:last-child{
  border:1px solid rgba(218,176,82,.34) !important;
}
.lumen-path-celestial-chest-cell-v138:not(:disabled){
  background:linear-gradient(180deg,rgba(62,45,22,.90),rgba(28,22,15,.96)) !important;
  box-shadow:inset 0 1px 0 rgba(255,238,176,.05),0 0 13px rgba(210,160,60,.08) !important;
}


/* ==========================================================================\n   Lumen Academy v145 — reliable Lumen Pass social-profile stats scrolling\n   Give the stats archive an explicit bounded viewport on touch devices.\n   ========================================================================== */

#sheetOverlay > .sheet.ally-profile-modal-v45.social-profile-modal-v48.profile-has-pass-v48 .ally-profile-stats-scroll-v45.is-scrollable{
  display: block !important;
  height: clamp(132px, 27dvh, 230px) !important;
  
  
  
  overflow-y: scroll !important;
  
  
  
  contain: layout paint !important;
  
  mask-image: none !important;
  -webkit-mask-image: none !important;
}

@media (max-height: 700px){
  #sheetOverlay > .sheet.ally-profile-modal-v45.social-profile-modal-v48.profile-has-pass-v48 .ally-profile-stats-scroll-v45.is-scrollable{
    height: 145px !important;
    min-height: 145px !important;
    max-height: 145px !important;
  }
}

/* Academy owner ban controls. */
.team-member-owner-actions{ display:flex; align-items:center; gap:7px; flex-wrap:wrap; justify-content:flex-end; }
.team-ban-member,
.team-unban-member{
  min-height:34px;
  padding:7px 10px;
  border-radius:10px;
  border:1px solid rgba(214,95,88,.34);
  background:rgba(111,31,37,.16);
  color:#efb1a7;
  font:inherit;
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.04em;
  cursor:pointer;
}
.team-ban-member:hover,
.team-unban-member:hover{ background:rgba(138,42,47,.23); border-color:rgba(228,113,102,.48); }
.team-banned-members-entry{
  width:100%;
  margin-top:10px;
  min-height:40px;
  border:1px solid rgba(188,154,86,.22);
  border-radius:12px;
  background:rgba(20,31,48,.55);
  color:#d8c18d;
  font:inherit;
  font-size:.61rem;
  font-weight:800;
  letter-spacing:.05em;
}
.team-banned-empty{ padding:22px 12px; text-align:center; color:#8595aa; font-size:.64rem; line-height:1.5; }
