/* ==========================================================================
   Unlimited Tower Defense: LIGHT skin (v0.13). Loads after utd-theme.css.
   Guided by Egg, Inc.'s friendly light look (not copied), built for readability and colorblind players:
   1. Light screens, white cards, dark navy text. Body text at least 4.5:1 contrast, big text 3:1
      (checked by tools/contrast.js on every screen).
   2. One action color: strong blue with white text. Selected = dark navy fill with white text.
      Not affordable / disabled = grey DASHED outline. States differ in lightness and shape, never hue alone.
   3. Warm orange only for highlights and scrap numbers; it never carries meaning by itself.
   4. The battle map stays colorful; the UI around it stays calm and readable.
   ========================================================================== */
:root, :root[data-theme] {
  --ink: #1F2A44; --line: #C9D6E6; --line-2: #9FB2CC;
  --utd-page: #EEF4FB; --utd-card: #FFFFFF; --utd-menu: #F6F9FD; --utd-modal: #E7EEF7; --utd-raise: #DCE6F2;
  --utd-t1: #1F2A44; --utd-t2: #44526E; --utd-t3: #56647F;
  --utd-hair: #C9D6E6; --utd-hair-2: #9FB2CC;
  --bg: #EEF4FB; --bg-2: #FFFFFF; --panel: #FFFFFF; --panel-2: #F6F9FD; --text: #1F2A44; --muted: #44526E;
  --accent: #1D6FD1; --accent-dim: rgba(29, 111, 209, .35); --gold: #A84F00; --good: #2B6A0B; --danger: #C92A2A;
  --purple: #6D28D9; --cyan2: #0E7490; --warm: #D9480F;
  --utd-bubble: 0 3px 0 #D2DDEA; --utd-accent-glow: 0 4px 0 #134E97;
  --utd-display: "Lilita One", "Fredoka", "Nunito", system-ui, sans-serif;
  --utd-font: "Nunito", "Varela Round", -apple-system, system-ui, sans-serif;
  --go: #1D6FD1; --go-edge: #134E97; --sel: #1F2A44; --sel-edge: #0E1526;
  --card-sh: 0 3px 0 #D2DDEA;
}
html, body, #screen-menu, #screen-battle { background: var(--utd-page) !important; color: var(--ink); }
#screen-battle { background: linear-gradient(#1E2B45, #1E2B45) top / 100% env(safe-area-inset-top, 0px) no-repeat, var(--utd-page) !important; } /* 1.2z: dark strip under the iPhone status bar in battle (white status text was on a light strip) */
#screen-menu::before, #screen-menu::after, #screen-menu.home-view::before { background: none !important; }

/* ---------- Cards: white, thin line, soft solid under-edge ---------- */
.mock-hud-item, .mock-hero, .utd-ts, .mock-info-card, .lab, .card-pack-btn, .profile-section, .skin-tile, .mock-ms-item, .goal-row,
.end-card, #endOverlay .end-card, .end-overlay .end-card, #tdInfo, #utdBattleMenu, .live-stats, .daily-login-wrap, .daily-objective,
.mor-subtabs, .tourney-card, .tourney-hero, .mobile-store-grid > *, .hero-card, .card-tile, .shop-item, .rank-row, .settings-row,
#screen-menu :is(.milestone, .core-upgrade-card, .shop-coming-item, .tourney-rank-card, .tourney-board, .home-daily-bar, .card-slot-empty) {
  background: var(--utd-card) !important; background-image: none !important; border: 2px solid var(--line) !important; box-shadow: var(--card-sh) !important; border-radius: 18px !important; color: var(--ink) !important;
}
.mock-ms-item, .utd-ts, .mock-hud-item { border-radius: 14px !important; }
#screen-menu .card-slot-empty { border-style: dashed !important; box-shadow: none !important; }
#screen-menu .tourney-rank-card { border-color: var(--danger) !important; }
#screen-menu .mockup-bg-research { background: transparent !important; background-image: none !important; border: 0 !important; box-shadow: none !important; }
#screen-menu .lab-icon-tile { background: var(--utd-menu) !important; background-image: none !important; border: 2px solid var(--line) !important; }

/* ---------- Text ---------- */
#screen-menu *, #screen-battle *, .submenu *, #endOverlay *, #utdBattleMenu *, .live-stats * { text-shadow: none !important; }
#screen-menu :is(.setting-label, .setting-desc, .cards-header-sub, .goal-tier-range, .tourney-timer-label, .tourney-rank-of, .mobile-store-rewards, .mobile-store-desc, .skin-status, .card-slot-empty-label, .loadout-subtab) { color: var(--utd-t2) !important; }
#screen-menu :is(.setting-label, .cards-header-title, .cards-section-title, .tourney-band-name, .tourney-timer-value, .loadout-preset-btn) { color: var(--ink) !important; font-family: var(--utd-display) !important; font-weight: 400 !important; }
#screen-menu .loadout-subtab.active, #screen-menu .loadout-preset-btn.active { color: var(--ink) !important; border-bottom-color: var(--ink) !important; }
#screen-menu :is(.tourney-rank-num, .tourney-zone-label) { color: var(--danger) !important; }
#screen-menu .tourney-league-pill { background: #F3E3D3 !important; color: #7A3E00 !important; border: 2px solid #C98B55 !important; }
#screen-menu .mobile-store-badge { background: var(--ink) !important; color: #fff !important; border: 0 !important; }
#screen-menu .skin-status { font-weight: 800 !important; }
#screen-menu :is(.gem, [class*="gem-"]) { color: var(--purple) !important; }
#screen-menu .manual { color: var(--cyan2) !important; }
#screen-menu .milestone-bonus { color: var(--accent) !important; font-weight: 800 !important; }
#screen-menu .panel-title, #screen-menu .mock-hero-title-live, #screen-menu .mock-tier-num, #endOverlay .end-title {
  font-family: var(--utd-display) !important; font-weight: 400 !important; color: var(--ink) !important; letter-spacing: .01em !important;
}
#screen-menu .panel-title { font-size: 34px !important; line-height: 1.1 !important; }
#screen-menu .panel-title em { color: var(--warm) !important; -webkit-text-fill-color: var(--warm) !important; }
#screen-menu .mock-tier-num, #screen-menu .goal-tier-num, #screen-menu [class*="tier-num"] span { color: var(--ink) !important; }
#screen-menu .mock-tier-num { font-size: 58px !important; }
#screen-menu .mock-hero-title-live { font-size: 42px !important; }
#screen-menu .utd-eyebrow { background: var(--utd-card) !important; color: var(--ink) !important; border: 2px solid var(--line-2) !important; font: 400 14px/1 var(--utd-display) !important; padding: 6px 12px !important; box-shadow: var(--card-sh) !important; }
#screen-menu .mock-hero-subtitle-live, #screen-menu .mock-tier-label, #screen-menu .utd-ts-next, #screen-menu .sub-hud-item, #screen-menu .cloud-status-badge {
  background: var(--ink) !important; color: #fff !important; border: 0 !important; font: 400 13px/1.2 var(--utd-display) !important; box-shadow: none !important;
}
#screen-menu .sub-hud-item * { color: #fff !important; }
#screen-menu .utd-ts-next { font-size: 14px !important; }
#screen-menu .sub-hud { background: var(--utd-page) !important; border-bottom: 2px solid var(--line) !important; }
#screen-menu :is(.mock-hud-val, .utd-ts b, .lab-name, .pack-title, .mock-info-header, .skin-name, .daily-login-title, .milestone-title) {
  font-family: var(--utd-display) !important; font-weight: 400 !important; color: var(--ink) !important;
}
#screen-menu :is(.shop-section-title, .settings-section-title, .profile-section-title) { font-family: var(--utd-display) !important; font-weight: 400 !important; color: var(--ink) !important; font-size: 18px !important; }
#screen-menu :is(.mock-hud-label, .utd-ts span, .lab-level, .lab-desc, .mock-info-hint, .shop-section-sub, .pack-desc, .mock-tier-hint, .panel-subtitle, .home-daily-label) { color: var(--utd-t2) !important; font-weight: 700 !important; }
#screen-menu .utd-ts b.gold, #screen-menu .mock-hud-val.gold, #screen-menu .pack-cost, #screen-menu .home-daily-reward { color: var(--gold) !important; font-family: var(--utd-display) !important; font-weight: 400 !important; }
#screen-menu .utd-ts b.red { color: var(--danger) !important; }
#screen-menu .lab-stat, #screen-menu .core-upgrade-mul { color: var(--accent) !important; font-weight: 800 !important; }
#screen-menu :is(.milestone, .mock-ms-item) b { color: var(--gold) !important; }

/* ---------- Buttons ---------- */
/* Action (blue, white text): start, buy, rank up, upgrade, send, back */
#screen-menu .mock-start-btn, #screen-menu .lab-buy:not(:disabled):not(.maxed), #screen-menu .tourney-play-btn:not(:disabled), #screen-battle .td-row .td-pri:not(:disabled),
#screen-battle #tdSide .td-send:not(:disabled), #endOverlay .end-btn, #endMenuBtn, #screen-menu .cloud-btn:not(.cloud-btn-muted):not(.cloud-btn-danger), #usernameSaveBtn, #screen-menu .profile-save-btn,
#screen-menu .card-slot-unlock-btn.affordable, #screen-menu .core-upgrade-btn:not(:disabled) {
  background: var(--go) !important; background-image: none !important; border: 0 !important; color: #fff !important; box-shadow: 0 4px 0 var(--go-edge) !important;
  font-family: var(--utd-display) !important; font-weight: 400 !important;
}
#screen-menu :is(.mock-start-btn, .card-slot-unlock-btn.affordable, .core-upgrade-btn:not(:disabled), .lab-buy:not(:disabled)) * { color: #fff !important; font-family: var(--utd-display) !important; font-weight: 400 !important; }
#screen-menu .mock-start-btn { border-radius: 20px !important; min-height: 64px; }
#screen-menu .mock-start-label { font-size: 24px !important; }
#screen-menu button:active, #screen-battle button:active { transform: translateY(3px) !important; box-shadow: 0 1px 0 rgba(0, 0, 0, .15) !important; }
#screen-menu .uh-speed:active { transform: translate(-50%, 3px) !important; } /* 1.2w: keep the centered Game Speed pill centered when pressed */
/* Neutral (white with outline) */
#screen-menu :is(.cloud-btn-muted, .mock-tier-arrow, .utd-rail-btn, .mock-ms-view, .upgrade-tab, .mor-subtab, .rank-mul-btn, .milestone-btn, .card-slot-unlock-btn:not(.affordable)),
#screen-battle :is(.utd-burger, .utd-speed, .utd-up-bm, .td-row button:not(.td-pri), .td-x) {
  background: var(--utd-card) !important; background-image: none !important; border: 2px solid var(--line-2) !important; color: var(--ink) !important; box-shadow: var(--card-sh) !important;
  font-family: var(--utd-display) !important; font-weight: 400 !important;
}
#screen-menu :is(.upgrade-tab, .mor-subtab, .card-slot-unlock-btn:not(.affordable), .rank-mul-btn) * { color: var(--ink) !important; }
#screen-menu .mock-tier-arrow { font-size: 22px !important; width: 48px !important; height: 48px !important; }
/* Selected (dark navy, white text): active tabs, fast speed, open menu, chosen multiplier */
#screen-menu :is(.upgrade-tab.active, .mor-subtab.active, .rank-mul-btn.active, .speed-badge.active, .speed-badge.current), #screen-battle .utd-speed.fast, #screen-battle .utd-burger.open {
  background: var(--sel) !important; color: #fff !important; border-color: var(--sel) !important; box-shadow: 0 3px 0 var(--sel-edge) !important;
}
#screen-menu :is(.upgrade-tab.active, .mor-subtab.active, .rank-mul-btn.active) *, #screen-battle .utd-speed.fast svg { color: #fff !important; }
#screen-menu .speed-badge { color: var(--ink) !important; border: 2px solid var(--line-2) !important; background: var(--utd-card) !important; }
#screen-battle .utd-speed svg { color: var(--utd-t2) !important; }
/* Danger (red, white text, always paired with an X icon or the word End / Pause) */
#screen-menu .cloud-btn-danger, #screen-battle .utd-bm-item.danger .utd-bm-ic { background: var(--danger) !important; color: #fff !important; border: 0 !important; }
/* Disabled / not affordable: grey DASHED outline */
#screen-menu .lab-buy:disabled, #screen-menu .tourney-play-btn:disabled, #screen-menu .core-upgrade-btn:disabled, #screen-menu .milestone-btn:disabled {
  background: var(--utd-menu) !important; border: 2px dashed var(--line-2) !important; color: var(--utd-t3) !important; box-shadow: none !important; opacity: 1 !important;
}
#screen-menu input[type="text"], #screen-menu input:not([type]), #screen-menu textarea { background: #fff !important; color: var(--ink) !important; border: 2px solid var(--line-2) !important; border-radius: 12px !important; font-weight: 800 !important; }

/* Upgrade cards + price blocks (home + battle): affordable = solid blue, not affordable = dashed outline */
:is(#screen-menu #homeUpgrades, #screen-battle .utd-up-grid) .upgrade-btn {
  background: var(--utd-card) !important; background-image: none !important; border: 2px solid var(--line) !important; box-shadow: var(--card-sh) !important; border-radius: 16px !important;
}
:is(#screen-menu #homeUpgrades, #screen-battle .utd-up-grid) .upgrade-name { font-family: var(--utd-display) !important; font-weight: 400 !important; color: var(--ink) !important; font-size: 14px !important; }
:is(#screen-menu #homeUpgrades, #screen-battle .utd-up-grid) .upgrade-delta { color: var(--accent) !important; font-weight: 800 !important; }
:is(#screen-menu #homeUpgrades, #screen-battle .utd-up-grid) .upgrade-level { color: var(--utd-t3) !important; }
:is(#screen-menu #homeUpgrades, #screen-battle .utd-up-grid) .upgrade-cost {
  background: var(--utd-menu) !important; border: 2px dashed var(--line-2) !important; color: var(--utd-t2) !important; font-family: var(--utd-display) !important; font-weight: 400 !important; font-size: 16px !important; box-shadow: none !important;
}
:is(#screen-menu #homeUpgrades, #screen-battle .utd-up-grid) .upgrade-cost * { color: var(--utd-t2) !important; }
:is(#screen-menu #homeUpgrades, #screen-battle .utd-up-grid) .upgrade-btn:not(:disabled) .upgrade-cost {
  background: var(--go) !important; border: 2px solid var(--go) !important; color: #fff !important; box-shadow: 0 3px 0 var(--go-edge) !important;
}
:is(#screen-menu #homeUpgrades, #screen-battle .utd-up-grid) .upgrade-btn:not(:disabled) .upgrade-cost * { color: #fff !important; }
:is(#screen-menu #homeUpgrades, #screen-battle .utd-up-grid) .upgrade-btn:disabled { opacity: 1 !important; }

/* ---------- Bottom nav ---------- */
.submenu { background: var(--utd-card) !important; border-top: 2px solid var(--line) !important; }
.submenu-btn { color: var(--utd-t2) !important; font: 400 11px/1 var(--utd-display) !important; border-right: 1px solid var(--line) !important; border-top: 0 !important; background: transparent !important; box-shadow: none !important; }
.submenu-btn.active { background: var(--sel) !important; color: #fff !important; }
.submenu-btn.active::after { display: none !important; }

/* ---------- Home ---------- */
#screen-menu .mock-hero { background: var(--utd-card) !important; }
#screen-menu .mock-tier-box { background: transparent !important; }
#screen-menu .daily-login-grid > * { background: var(--utd-menu) !important; border: 2px solid var(--line) !important; }
#screen-menu .daily-login-grid > * * { color: var(--ink) !important; }
#screen-menu .home-daily-progress { background: var(--utd-raise) !important; }
#screen-menu .home-daily-fill { background: var(--accent) !important; background-image: none !important; }
#screen-menu .skin-tile.equipped, #screen-menu .skin-tile.is-equipped { border: 3px solid var(--sel) !important; }

/* ---------- Battle ---------- */
#screen-battle .status { background: var(--utd-card) !important; border-bottom: 2px solid var(--line) !important; }
#screen-battle .hp-bar { background: var(--utd-raise) !important; border: 2px solid var(--line-2) !important; height: 28px !important; border-radius: 999px !important; }
#screen-battle .hp-fill { background: #D6336C !important; }
#screen-battle .hp-text, #screen-battle .shield-text { font: 400 15px/1 var(--utd-display) !important; color: #fff !important;
  text-shadow: 0 1px 0 #1F2A44, 1px 0 0 #1F2A44, -1px 0 0 #1F2A44, 0 -1px 0 #1F2A44, 1px 1px 0 #1F2A44, -1px 1px 0 #1F2A44, 1px -1px 0 #1F2A44, -1px -1px 0 #1F2A44, 0 2px 0 #1F2A44 !important; }
:is(#screen-menu #homeUpgrades, #screen-battle .utd-up-grid) .upgrade-btn.utd-max { border-color: #E0B23A !important; background: #FFFBEA !important; opacity: 1 !important; } /* 1.2zy gold MAX */
:is(#screen-menu #homeUpgrades, #screen-battle .utd-up-grid) .upgrade-btn.utd-max .upgrade-cost, :is(#screen-menu #homeUpgrades, #screen-battle .utd-up-grid) .upgrade-btn.utd-max .upgrade-cost * { background: linear-gradient(#FFE680, #D0901A) !important; border: 2px solid #7A4A06 !important; border-style: solid !important; color: #5E3A04 !important; -webkit-text-stroke: 0 !important; }
#screen-battle .shield-bar { background: var(--utd-raise) !important; border: 2px solid var(--line-2) !important; }
#screen-battle .shield-text { padding-left: 34px !important; box-sizing: border-box !important; font-size: 12px !important; display: flex !important; align-items: center !important; justify-content: center !important; } /* 1.2zx clear of the heart */
#screen-battle .shield-fill { background: #1D6FD1 !important; }
#screen-battle #tdBar { background: var(--utd-card) !important; border-top: 2px solid var(--line) !important; }
#screen-battle .td-it { background: var(--utd-menu) !important; border: 2px solid var(--line) !important; box-shadow: var(--card-sh) !important; border-radius: 14px !important; height: 62px !important; }
#screen-battle .td-it.act { background: var(--sel) !important; border-color: var(--sel) !important; }
#screen-battle .td-it.act .td-nm, #screen-battle .td-it.act .td-co { color: #fff !important; }
#screen-battle .td-it.off { border-style: dashed !important; box-shadow: none !important; }
#screen-battle .td-it.off .td-co { color: var(--utd-t3) !important; }
#screen-battle .td-it.off .td-ic { opacity: .55; }
#screen-battle .td-it.locked { background: var(--utd-raise) !important; border-style: dashed !important; opacity: 1 !important; box-shadow: none !important; }
#screen-battle .td-it.locked .td-ic { opacity: .45; }
#screen-battle .td-ic { width: 30px !important; height: 30px !important; }
#screen-battle .td-nm { font: 400 12px/1 var(--utd-display) !important; color: var(--ink) !important; }
#screen-battle .td-co { font: 400 13px/1 var(--utd-display) !important; color: var(--gold) !important; }
#screen-battle .td-it.locked .td-co, #screen-battle .td-it.locked .td-nm { color: var(--utd-t2) !important; }
#screen-battle .battle-info-bar { background: var(--utd-menu) !important; border-top: 1px solid var(--line) !important; }
#screen-battle .binfo-pill { color: var(--utd-t2) !important; font-weight: 800 !important; }
#screen-battle .binfo-pill b { color: var(--ink) !important; font-family: var(--utd-display) !important; font-weight: 400 !important; }
#screen-battle #upgradesWrap, #screen-battle .upgrades-wrap { background: var(--utd-page) !important; border-top: 2px solid var(--line) !important; }
#screen-battle .utd-up-head { background: var(--utd-card) !important; border-top: 0 !important; border-bottom: 2px solid var(--line) !important; }
#screen-battle .utd-up-title { font: 400 20px/1 var(--utd-display) !important; color: var(--ink) !important; }
#screen-battle .utd-up-tabs { background: var(--utd-card) !important; border-top: 2px solid var(--line) !important; }
#screen-battle .utd-up-tab { background: transparent !important; border-top: 0 !important; border-right: 1px solid var(--line) !important; color: var(--utd-t2) !important; box-shadow: none !important; }
#screen-battle .utd-up-tab.active { background: var(--sel) !important; color: #fff !important; }
#screen-battle .utd-up-lb { font: 400 12px/1 var(--utd-display) !important; }
#screen-battle #tdInfo, #screen-battle #tdInfo * { color: var(--ink); }
#screen-battle #tdInfo .td-h { font-family: var(--utd-display) !important; font-weight: 400 !important; font-size: 18px !important; color: var(--ink) !important; }
#screen-battle #tdInfo .td-h small, #screen-battle #tdInfo .td-desc { color: var(--utd-t2) !important; }
#screen-battle #tdInfo .td-stats b { color: var(--ink) !important; }
#screen-battle #tdInfo .td-good { color: var(--accent) !important; font-weight: 800; }
#screen-battle #tdInfo .td-bad { color: var(--danger) !important; font-weight: 800; }
#screen-battle #tdInfo .td-warn { color: #8A4B00 !important; font-weight: 800; }
#screen-battle #tdInfo .td-pri, #screen-battle #tdInfo .td-pri * { color: #fff !important; }
#screen-battle #tdSide .td-send:disabled { background: var(--utd-card) !important; border: 2px solid var(--line-2) !important; color: var(--ink) !important; box-shadow: var(--card-sh) !important; }
#screen-battle #tdSide .td-send:disabled * { color: var(--ink) !important; }
#screen-battle #tdSide .td-send b { font-family: var(--utd-display) !important; font-weight: 400 !important; font-size: 16px !important; }
#screen-battle #tdSide .td-send:not(:disabled) * { color: #fff !important; }
#screen-battle #tdSide .td-prog { background: var(--utd-raise) !important; }
#screen-battle #tdSide .td-prog i { background: var(--accent) !important; }
#screen-battle #tdSide .td-send:not(:disabled) .td-prog { background: rgba(255, 255, 255, .35) !important; }
#screen-battle #tdSide .td-send:not(:disabled) .td-prog i { background: #fff !important; }
#utdBattleMenu .utd-bm-item { font-family: var(--utd-display) !important; font-weight: 400 !important; font-size: 17px !important; color: var(--ink) !important; }
#utdBattleMenu .utd-bm-ic { background: var(--utd-menu) !important; border: 2px solid var(--line) !important; color: var(--accent) !important; }
#utdBattleMenu .utd-bm-val { background: var(--ink) !important; color: #fff !important; }
#utdBattleMenu .utd-bm-item.danger { color: var(--danger) !important; border-top: 1px solid var(--line) !important; }
#utdBattleMenu .utd-bm-item.danger .utd-bm-ic { color: #fff !important; }
#endOverlay .end-title { color: var(--ink) !important; font-size: 30px !important; }
#endOverlay .end-card * { color: var(--ink); }
#endOverlay .end-card [class*="gold"], #endOverlay .end-stat-value.gold { color: var(--gold) !important; }
#endOverlay .end-btn, #endOverlay .end-btn * { color: #fff !important; }
.boss-frame { background: var(--utd-card) !important; border: 2px solid var(--line-2) !important; }
.boss-frame-fill { background: #D6336C !important; }
.boss-frame-name { font-family: var(--utd-display) !important; color: var(--ink) !important; }
.splash-screen { background: var(--utd-page) !important; }
.splash-title, .splash-sub { font-family: var(--utd-display) !important; color: var(--ink) !important; text-shadow: none !important; }
.live-stats * { color: var(--ink) !important; }

/* Background skins = map palettes (see PALETTES in pathtd.js) */
#screen-menu .skin-tile[data-kind="bg"] .skin-preview { background-image: none !important; border: 2px solid var(--line-2) !important; border-radius: 12px !important; }
#screen-menu .skin-tile[data-kind="bg"][data-skin="cyber_grid"] .skin-preview { background: #E6F0F8 !important; }
#screen-menu .skin-tile[data-kind="bg"][data-skin="industrial"] .skin-preview { background: #D9A441 !important; }
#screen-menu .skin-tile[data-kind="bg"][data-skin="organic"] .skin-preview { background: #3FA34D !important; }
#screen-menu .skin-tile[data-kind="bg"][data-skin="steel"] .skin-preview { background: #6CBF45 !important; }

/* Overlays dim with navy, not black */
#endOverlay, .end-overlay, .mh-popup-overlay, [class*="popup-overlay"], [class*="modal-overlay"], .ad-overlay { background: rgba(31, 42, 68, .55) !important; }
.install-banner, .offline-toast, .skin-toast { background: var(--utd-card) !important; border: 2px solid var(--line-2) !important; color: var(--ink) !important; }
/* Contrast fixes found by tools/contrast.js */
#screen-menu .mockup-rank-section, #screen-menu .mockup-rank-section * { color: var(--utd-t2) !important; }
#screen-menu .mockup-rank-section b { color: var(--ink) !important; }
#screen-menu .milestone-target, #screen-menu .tourney-board-title { color: var(--ink) !important; font-family: var(--utd-display) !important; font-weight: 400 !important; }
#screen-menu :is(.profile-hint, .profile-meta-label, .profile-meta-value, .cloud-status-text, .cloud-status-meta) { color: var(--utd-t2) !important; }
#screen-menu .cloud-status-label { color: var(--ink) !important; font-weight: 800 !important; }
#screen-battle .hp-fill, .boss-frame-fill { background: #C2255C !important; }

/* ================= v0.16 no clipped text ================= */
/* Home upgrade cards: stack name / delta / level / price. Height follows the text, nothing hides under the edge */
#screen-menu #homeUpgrades .upgrade-btn { display: flex !important; flex-direction: column !important; align-items: stretch !important;
  height: auto !important; min-height: 0 !important; overflow: visible !important; gap: 8px !important; padding: 10px 12px 12px !important; }
#screen-menu #homeUpgrades .upgrade-body { flex: 1 1 auto; }
#screen-menu #homeUpgrades .upgrade-name { font-size: 15px !important; line-height: 1.15 !important; white-space: normal !important; overflow-wrap: anywhere; }
#screen-menu #homeUpgrades .upgrade-delta { font-size: 13px !important; line-height: 1.25 !important; margin-top: 3px !important; white-space: normal !important; }
#screen-menu #homeUpgrades .upgrade-level { font-size: 12px !important; line-height: 1.25 !important; margin-top: 2px !important; white-space: normal !important; }
#screen-menu #homeUpgrades .upgrade-cost { width: 100% !important; min-width: 0 !important; box-sizing: border-box; padding: 8px 6px !important; font-size: 16px !important; }
#screen-menu #homeUpgrades .upgrade-grid { max-height: 268px !important; align-items: stretch; }
/* Battle upgrade cards: let long names and deltas wrap inside the card instead of clipping */
#screen-battle .utd-up-grid .upgrade-btn { height: auto !important; min-height: 64px !important; overflow: visible !important; }
#screen-battle .utd-up-grid .upgrade-name { -webkit-line-clamp: unset !important; display: block !important; overflow: visible !important; white-space: normal !important; }
#screen-battle .utd-up-grid .upgrade-delta { white-space: normal !important; }
/* Research: the sub-tab row was absolutely positioned inside a 14px box and sat on top of the Core Level card */
#screen-menu .mockup-bg-research { height: auto !important; min-height: 0 !important; aspect-ratio: auto !important; padding: 0 !important; margin: 4px 0 12px !important; }
#screen-menu .mockup-bg-research .mor-subtabs { position: relative !important; top: auto !important; left: auto !important; right: auto !important; bottom: auto !important; width: 100% !important; transform: none !important; }
#screen-menu .mockup-bg-research .mor-subtabs * { white-space: nowrap; }
#screen-menu .mor-subtab-label { font-size: 11px !important; line-height: 1.2 !important; }
#screen-menu .mor-subtab { min-height: 44px !important; }
/* Tier milestone rows: text off the rounded edge */
.mock-ms-item { padding: 10px 14px !important; gap: 10px; }

/* ================= v0.18 Core: castle drawn on the canvas, the old DOM core never pulses ================= */
#tower, #tower * { animation: none !important; }
#tower::before, #tower::after, #tower .tower-base, #tower .tower-core { display: none !important; }
.utd-core { animation: none !important; }
#screen-battle .battlefield-wrap { z-index: 50; }
