/* Presentation-only component skin. No layout, text, image, semantic color,
   data, ranking or engine changes. Existing mode/rarity/team borders survive. */
body.odin-neon-lift {
  --nl-depth:2px;
  --nl-light:linear-gradient(155deg,#78b7dc24 0%,#6ea6c808 44%,#020b170d 100%);
  --nl-shadow:inset 0 1px 0 #d8f8ff30,inset 0 -1px 0 #020b1755,0 var(--nl-depth) 0 #030d1c,0 calc(var(--nl-depth) + 1px) 0 #29495f,0 9px 16px #0005;
  --nl-quiet:inset 0 1px 0 #c7f7ff20,0 1px 0 #030d1c,0 6px 14px #0004;
}

/* Buttons retain their dimensions, labels, color, border, native focus outline
   and application state. Toggle tracks and nested roster buttons are separate. */
body.odin-neon-lift :is(
  button:not(:where(.brawler,.lib-open,.map-scope-switch,[role=switch],.install-close)),
  .header-info-links>a,.header-info-dropdown>summary,[data-site-share],
  .mobile-drawer>summary,.menu-trigger,
  .keep,.support,.login,.back-home,.sign-out,.feature-cta,.cups-button,
  .primary-button,.secondary-button,.auth-tabs a,.page-actions>a,
  .tool-actions>a,.site-actions>a,.account-header>a:not(.account-brand),
  .picker-slot-frame
) {
  box-shadow:var(--nl-state-shadow,inset 0 0 0 0 transparent),var(--nl-shadow)!important;
  transition:transform .16s ease,box-shadow .16s ease;
}
/* Keep existing filled primary/gold action gradients and their contrasting
   foreground pairing. Add the new light only to neutral controls. */
body.odin-neon-lift :is(
  button:not(:where(.brawler,.lib-open,.map-scope-switch,[role=switch],.install-close,
    .primary-button,.danger-button,.submit-button,[type=submit])),
  .header-info-links>a,.header-info-dropdown>summary,[data-site-share],
  .mobile-drawer>summary,.menu-trigger,
  .login,.back-home,.sign-out,.secondary-button,.picker-slot-frame
) {background-image:var(--nl-light)!important}
body.odin-neon-lift :is(.odin-rail a,.drawer-panel nav>a) {
  background-image:var(--nl-light)!important;
  box-shadow:var(--nl-quiet)!important;
}
body.odin-neon-lift :is(.odin-rail a,.drawer-panel nav>a)[aria-current=page] {
  box-shadow:inset 0 0 0 1px #27d7ed88,var(--nl-quiet)!important;
}

/* Cards with separate click targets get one outer elevation, not two layers. */
body.odin-neon-lift :is(.pick-card,.recommendation,.lib-match,.lib-map-row,
  .facts-player,.evidence-card,.news-card,.esports-event,.cup-card,
  .auth-card,.contact-form-card,.profile-heading,.profile-facts>div,
  .team-fit-index,.team-map-wr,.trio-row,.role-completion,
  .analytics-panel,.analytics-summary>div,.analytics-summary>article,
  .ranked-progress-metrics>article,.system-health-grid>article) {
  background-image:var(--nl-light)!important;
  box-shadow:var(--nl-state-shadow,inset 0 0 0 0 transparent),var(--nl-quiet)!important;
}
body.odin-neon-lift .pick-card {
  box-shadow:var(--nl-state-shadow,inset 0 0 0 0 transparent),var(--nl-shadow)!important;
  transition:transform .16s ease,box-shadow .16s ease;
}
body.odin-neon-lift .pick-card>.brawler {
  background-image:var(--nl-light)!important;
  box-shadow:none!important;
}
body.odin-neon-lift .lib-open {background-image:var(--nl-light)!important;box-shadow:none!important}

/* Personal dashboard: preserve each panel's gradient and status colors while
   giving previously unskinned summaries and recommendation rows equal depth.
   Static evidence stays static; only disclosure controls behave as buttons. */
body.odin-neon-lift .account-main :is(.add-player,.default-player-panel,
  .metric,.battle-insights,.upgrade-panel,.account-empty,.review-game-card) {
  box-shadow:var(--nl-shadow)!important;
}
body.odin-neon-lift .account-main :is(.insight-cards>article,.insight-notes>p,
  .upgrade-list>li,.review-brawler,.review-team-insights,.review-matchup) {
  background-image:var(--nl-light)!important;
  box-shadow:var(--nl-quiet)!important;
}
body.odin-neon-lift .account-main :is(.upgrade-more>summary,.review-game-card>summary) {
  background-image:var(--nl-light)!important;
  box-shadow:var(--nl-quiet)!important;
}
body.odin-neon-lift .account-recommendation>.upgrade-portrait {
  box-shadow:0 2px 0 #030d1c,0 5px 9px #0005!important;
}

/* Preserve the meaning of selected mode, rarity, side and recommendation cues.
   These variables affect depth only; the original colors and borders remain. */
body.odin-neon-lift :is(button.active,button.selected,button[aria-pressed=true],
  button[aria-selected=true],.pick-card.recommended-card) {
  --nl-state-shadow:inset 0 0 0 1px var(--mode-color,var(--cyan,#27d7ed));
}
body.odin-neon-lift :is(.draft-mode.active,.map-card.active,.map-card[aria-pressed=true]) {
  --nl-state-shadow:inset 0 -3px 0 var(--mode-color,var(--cyan,#27d7ed));
}
body.odin-neon-lift .pick-card:has(>.selected-our) {--nl-state-shadow:inset 0 0 0 2px var(--our,#57b9fa)}
body.odin-neon-lift .pick-card:has(>.selected-enemy) {--nl-state-shadow:inset 0 0 0 2px var(--enemy,#fa7786)}
body.odin-neon-lift .pick-card:has(>.located) {--nl-state-shadow:inset 0 0 0 3px var(--yellow,#ffda58)}
body.odin-neon-lift .slot.active {--nl-state-shadow:inset 0 0 0 1px #fff}

/* Readable input surfaces: light on the rim, a shallow recess in the field.
   No changes to input dimensions or native control appearance. */
body.odin-neon-lift :is(
  input:not([type=checkbox],[type=radio],[type=range],[type=hidden],[type=color]),
  select,textarea
) {
  background-image:linear-gradient(180deg,#00000012,#8bc8e30a)!important;
  box-shadow:inset 0 2px 5px #0004,inset 0 -1px 0 #b4ecff14,0 2px 0 #030d1c,0 5px 12px #0003!important;
  transition:box-shadow .16s ease;
}
body.odin-neon-lift :is(
  input:not([type=checkbox],[type=radio],[type=range],[type=hidden],[type=color]),
  select,textarea
):focus-visible {
  box-shadow:inset 0 1px 4px #0003,0 2px 0 #030d1c,0 0 12px #27d7ed24!important;
}
body.odin-neon-lift .map-scope-switch {box-shadow:inset 0 1px 0 #ffffff35,0 2px 0 #030d1c!important}

/* Original portraits, including rarity borders and Ultra Legendary spectrum,
   are unchanged. Role and mode icons are not treated as portrait cards. */
body.odin-neon-lift :is(.pick-card,.picker-rec,.roster-button,.lib-card,.facts-brawler)>.portrait,
body.odin-neon-lift .pick-card>.brawler>.portrait,
body.odin-neon-lift .facts-brawler>img:not(.role-icon) {
  box-shadow:0 2px 0 #030d1c,0 5px 9px #0005!important;
}

/* Only interactive surfaces lift. Static evidence, news articles, tables,
   charts, error/status messages and decorative badges do not imply a click. */
@media(hover:hover) and (pointer:fine) {
  body.odin-neon-lift :is(
    button:not(:where(.brawler,.lib-open,.map-scope-switch,[role=switch],.install-close)),
    .header-info-links>a,.header-info-dropdown>summary,[data-site-share],
    .mobile-drawer>summary,.menu-trigger,
    .keep,.support,.login,.back-home,.sign-out,.feature-cta,.cups-button,
    .primary-button,.secondary-button,.page-actions>a,.tool-actions>a,.site-actions>a
  ):not(:disabled):not([aria-disabled=true]):hover,
  body.odin-neon-lift .pick-card:has(>.brawler:not(:disabled)):hover {
    transform:translateY(-2px);
    box-shadow:var(--nl-state-shadow,inset 0 0 0 0 transparent),inset 0 1px 0 #e1faff40,0 4px 0 #030d1c,0 5px 0 #35556d,0 12px 20px #0006,0 0 14px #38dcf014!important;
  }
}
body.odin-neon-lift :is(
  button:not(:where(.brawler,.lib-open,.map-scope-switch,[role=switch],.install-close)),
  .header-info-links>a,.header-info-dropdown>summary,[data-site-share],
  .mobile-drawer>summary,.menu-trigger,
  .keep,.support,.login,.back-home,.sign-out,.feature-cta,.cups-button,
  .primary-button,.secondary-button,.page-actions>a,.tool-actions>a,.site-actions>a
):not(:disabled):not([aria-disabled=true]):active,
body.odin-neon-lift .pick-card:has(>.brawler:not(:disabled):active) {
  transform:translateY(1px);
  box-shadow:var(--nl-state-shadow,inset 0 0 0 0 transparent),inset 0 2px 5px #0004,0 1px 0 #030d1c!important;
}
body.odin-neon-lift :is(button:disabled,[aria-disabled=true]),
body.odin-neon-lift .pick-card:has(>.brawler:disabled) {
  transform:none!important;
  transition:none!important;
  box-shadow:inset 0 1px 0 #ffffff09,0 1px 0 #030d1c!important;
}

/* This dense private workspace keeps its visual depth deliberately low. */
body.odin-neon-lift:has(.analytics-page) {--nl-depth:1px;--nl-shadow:inset 0 1px 0 #c7f7ff20,0 1px 0 #030d1c,0 5px 10px #0003}

/* Existing main-page tiles already have their own approved Neon Arena design.
   Do not target them or change header/footer alignment and layout geometry. */
/* Rank badge and Elo share one center line, regardless of the width of the
   secondary WR caption (including the longer sample-building message). */
body.odin-neon-lift .facts-elo-line {align-items:center}
/* Text actions stay links: no raised-button rim, gradient or movement. */
body.odin-neon-lift #forgot-password.auth-link,
body.odin-neon-lift #forgot-password.auth-link:hover,
body.odin-neon-lift #forgot-password.auth-link:active {
  background:none!important;
  border:0;
  box-shadow:none!important;
  transform:none!important;
  text-decoration:underline;
  text-underline-offset:3px;
  min-height:44px;
}
@media(prefers-reduced-motion:reduce) {
  body.odin-neon-lift button,
  body.odin-neon-lift :is(.pick-card,.header-info-links>a,.header-info-dropdown>summary,
    .mobile-drawer>summary,.menu-trigger,
    [data-site-share],.keep,.support,.login,.back-home,.sign-out,.feature-cta,.cups-button,
    .primary-button,.secondary-button,.page-actions>a,.tool-actions>a,.site-actions>a),
  body.odin-neon-lift :is(input,select,textarea) {
    transition:none!important;transform:none!important;
  }
}
