:root{
  --kp-surface-0:#050607;
  --kp-surface-1:rgba(255,255,255,0.035);
  --kp-surface-2:rgba(255,255,255,0.055);
  --kp-surface-3:rgba(0,255,160,0.095);
  --kp-surface-alert:rgba(255,176,32,0.105);
  --kp-depth-accent:#00FFA0;
  --kp-depth-accent-2:#62D7FF;
  --kp-depth-purple:#A855F7;
  --kp-depth-amber:#FFB020;
  --kp-depth-red:#FF3355;
  --kp-world-line:rgba(255,255,255,0.055);
  --kp-world-line-hot:rgba(0,255,160,0.12);
  --kp-world-plane:rgba(0,255,160,0.035);
  --kp-depth-shadow:0 18px 50px rgba(0,0,0,0.42), inset 0 1px 0 rgba(255,255,255,0.08);
  --kp-depth-shadow-active:0 24px 66px rgba(0,0,0,0.52), 0 0 34px rgba(0,255,160,0.09), inset 0 1px 0 rgba(255,255,255,0.12);
  --kp-motion-tap:160ms cubic-bezier(.2,.9,.2,1);
  --kp-motion-complete:620ms cubic-bezier(.16,1,.3,1);
  --kp-motion-new:760ms cubic-bezier(.16,1,.3,1);
  --kp-motion-warning:560ms cubic-bezier(.2,.9,.2,1);
}

html{
  overscroll-behavior:none;
}

body.kp-depth{
  --bg:var(--kp-surface-0);
  --hdrH:48px;
  --kp-footer-shield-h:calc(var(--tabH) + env(safe-area-inset-bottom,0px));
  background:#000;
  overscroll-behavior:none;
}

body.kp-depth.kp-world-home,
body.kp-depth.kp-world-coach,
body.kp-depth.kp-world-checkins,
body.kp-depth.kp-world-supplements,
body.kp-depth.kp-world-body,
body.kp-depth.kp-world-training,
body.kp-depth.kp-world-nutrition{
  --kp-footer-shield-h:calc(var(--tabH) + 56px + env(safe-area-inset-bottom,0px));
}

body.kp-depth #app,
body.kp-depth #hub,
body.kp-depth #screen-area,
body.kp-depth #tr-scroll,
body.kp-depth #nutrition-scroll,
body.kp-depth #analysis-scroll,
body.kp-depth #hub-scroll,
body.kp-depth #settings-nav-root,
body.kp-depth .set-sub-screen,
body.kp-depth .modal-sheet,
body.kp-depth .ci-sheet,
body.kp-depth .ov-sheet{
  overscroll-behavior-y:contain;
}

body.kp-depth #orb1,
body.kp-depth #orb2,
body.kp-depth #orb3{
  display:none!important;
}

body.kp-depth #app,
body.kp-depth #hub{
  isolation:isolate;
  background:
    linear-gradient(180deg,rgba(255,255,255,0.012),transparent 34%),
    var(--kp-surface-0)!important;
}

body.kp-depth #app::before,
body.kp-depth #hub::before{
  content:'';
  position:fixed;
  inset:-5%;
  z-index:0;
  pointer-events:none;
  opacity:.92;
  background:
    linear-gradient(180deg,rgba(255,255,255,0.018),transparent 18%,rgba(0,0,0,0.25) 100%),
    repeating-linear-gradient(0deg,transparent 0 23px,var(--kp-world-line) 24px),
    repeating-linear-gradient(90deg,transparent 0 27px,var(--kp-world-line) 28px),
    linear-gradient(145deg,rgba(0,255,160,0.045),transparent 30%,rgba(98,215,255,0.018) 62%,transparent 100%);
  transform:translate3d(-1.2%,-0.8%,0) scale(1.045);
  transform-origin:50% 45%;
  animation:kpAtmosphereDrift 54s ease-in-out infinite alternate;
  will-change:transform,opacity,filter;
}

body.kp-depth #hub{
  position:relative;
}

body.kp-depth #hub > *{
  position:relative;
  z-index:1;
}

body.kp-depth #screen-area,
body.kp-depth .screen,
body.kp-depth .screen-content{
  background:transparent!important;
}

body.kp-depth .hdr{
  background:
    linear-gradient(180deg,rgba(3,5,8,0.52),rgba(3,5,8,0.20))!important;
  border-bottom-color:rgba(255,255,255,0.055)!important;
  backdrop-filter:blur(22px) saturate(1.28);
  -webkit-backdrop-filter:blur(22px) saturate(1.28);
}

body.kp-depth .hdr::after{
  background:linear-gradient(to bottom,rgba(3,5,8,0.22),transparent)!important;
}

body.kp-depth #tab-bar,
body.kp-depth #home-subnav,
body.kp-depth #tr-subnav,
body.kp-depth #nut-subnav,
body.kp-depth .an-filter-stack,
body.kp-depth .nut-totals{
  background:
    linear-gradient(180deg,rgba(3,5,8,0.32),rgba(3,5,8,0.18))!important;
  backdrop-filter:blur(20px) saturate(1.22);
  -webkit-backdrop-filter:blur(20px) saturate(1.22);
}

body.kp-depth #tab-bar,
body.kp-depth #home-subnav,
body.kp-depth #tr-subnav,
body.kp-depth #nut-subnav{
  border-top-color:rgba(0,255,160,0.22)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.03)!important;
}

body.kp-depth .an-slider,
body.kp-depth .an-range{
  background:transparent!important;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:none!important;
}

body.kp-depth.kp-world-analysis .an-filter-stack{
  background:
    radial-gradient(120% 90% at 50% 0%,rgba(77,166,255,0.12),rgba(3,10,18,0) 74%),
    linear-gradient(180deg,#02060b 0%,#03080f 100%)!important;
  border-color:rgba(125,211,252,0.12)!important;
  box-shadow:0 14px 34px rgba(0,0,0,0.28),inset 0 1px 0 rgba(255,255,255,0.026)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

body.kp-depth.kp-world-analysis .an-slider,
body.kp-depth.kp-world-analysis .an-range{
  background:transparent!important;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:none!important;
}

body.kp-depth.kp-world-home #app::before{
  background:
    radial-gradient(120% 62% at 50% -18%,rgba(22,72,128,0.22),transparent 62%),
    radial-gradient(ellipse 128% 92% at 112% 6%,rgba(56,189,248,0.22),transparent 66%),
    radial-gradient(ellipse 118% 88% at -14% 112%,rgba(14,79,145,0.25),transparent 70%),
    linear-gradient(180deg,rgba(255,255,255,0.018),transparent 22%),
    repeating-linear-gradient(0deg,transparent 0 24px,rgba(96,165,250,0.028) 25px),
    repeating-linear-gradient(90deg,transparent 0 30px,rgba(255,255,255,0.024) 31px),
    linear-gradient(145deg,rgba(7,20,43,0.20),transparent 46%,rgba(0,255,160,0.018));
}

body.kp-depth.kp-world-training #app::before,
body.kp-depth.kp-world-training #hub::before{
  background:
    radial-gradient(116% 60% at 50% -16%,rgba(168,85,247,0.20),transparent 64%),
    radial-gradient(ellipse 128% 92% at 112% 7%,rgba(216,180,254,0.24),transparent 66%),
    radial-gradient(ellipse 118% 88% at -14% 112%,rgba(168,85,247,0.24),transparent 70%),
    linear-gradient(180deg,rgba(255,255,255,0.014),transparent 23%),
    repeating-linear-gradient(0deg,transparent 0 24px,rgba(168,85,247,0.032) 25px),
    repeating-linear-gradient(90deg,transparent 0 34px,rgba(255,255,255,0.022) 35px),
    linear-gradient(145deg,rgba(88,28,135,0.16),transparent 46%,rgba(0,255,160,0.012));
  opacity:.94;
}

body.kp-depth.kp-world-nutrition #app::before,
body.kp-depth.kp-world-nutrition #hub::before,
body.kp-depth.kp-world-supplements #hub::before{
  background:
    radial-gradient(116% 62% at 50% -16%,rgba(0,255,160,0.16),transparent 64%),
    radial-gradient(ellipse 128% 92% at 112% 7%,rgba(52,211,153,0.23),transparent 66%),
    radial-gradient(ellipse 118% 88% at -14% 112%,rgba(0,255,160,0.22),transparent 70%),
    linear-gradient(180deg,rgba(255,255,255,0.018),transparent 24%),
    repeating-linear-gradient(0deg,transparent 0 24px,rgba(0,255,160,0.035) 25px),
    repeating-linear-gradient(90deg,transparent 0 31px,rgba(255,255,255,0.022) 32px),
    linear-gradient(132deg,rgba(0,112,72,0.12),transparent 42%,rgba(255,176,32,0.014));
}

body.kp-depth.kp-world-analysis #app::before{
  background:
    radial-gradient(116% 62% at 50% -16%,rgba(77,166,255,0.18),transparent 64%),
    radial-gradient(ellipse 128% 92% at 112% 7%,rgba(125,211,252,0.24),transparent 66%),
    radial-gradient(ellipse 118% 88% at -14% 112%,rgba(77,166,255,0.22),transparent 70%),
    linear-gradient(180deg,rgba(98,215,255,0.035),transparent 24%),
    repeating-linear-gradient(0deg,transparent 0 20px,rgba(98,215,255,0.032) 21px),
    repeating-linear-gradient(90deg,transparent 0 42px,rgba(255,255,255,0.022) 43px),
    linear-gradient(160deg,rgba(14,79,145,0.12),transparent 52%,rgba(168,85,247,0.018));
}

body.kp-depth.kp-world-coach #app::before{
  background:
    radial-gradient(ellipse 128% 92% at 112% 7%,rgba(0,255,160,0.24),transparent 66%),
    radial-gradient(ellipse 118% 88% at -14% 112%,rgba(0,255,160,0.20),transparent 70%),
    linear-gradient(180deg,rgba(0,255,160,0.05),transparent 26%),
    repeating-linear-gradient(0deg,transparent 0 46px,rgba(0,255,160,0.055) 47px,transparent 48px),
    linear-gradient(90deg,rgba(0,255,160,0.04),transparent 22%,transparent 74%,rgba(98,215,255,0.03)),
    linear-gradient(150deg,rgba(0,255,160,0.035),transparent 52%,rgba(168,85,247,0.025));
}

body.kp-depth.kp-world-body #app::before,
body.kp-depth.kp-world-body #hub::before{
  background:
    radial-gradient(ellipse 22% 55% at 50% 35%,rgba(0,255,160,0.07),transparent 64%),
    radial-gradient(ellipse 128% 92% at 112% 7%,rgba(0,255,160,0.22),transparent 66%),
    radial-gradient(ellipse 118% 88% at -14% 112%,rgba(0,255,160,0.20),transparent 70%),
    repeating-linear-gradient(0deg,transparent 0 28px,rgba(0,255,160,0.045) 29px),
    repeating-linear-gradient(90deg,transparent 0 52px,rgba(255,255,255,0.032) 53px),
    linear-gradient(155deg,rgba(0,255,160,0.034),transparent 54%,rgba(98,215,255,0.024));
}

body.kp-depth.kp-world-settings #app::before{
  background:#000!important;
  opacity:1;
  transform:none;
  animation:none;
}

body.kp-depth.kp-world-settings #app{
  background:#000!important;
}

body.kp-depth.kp-world-settings .hdr,
body.kp-depth.kp-world-settings .set-sub-hdr{
  background:#000!important;
  border-bottom-color:rgba(255,255,255,0.06)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

body.kp-depth.kp-world-settings .hdr::after{
  background:transparent!important;
}

body.kp-depth.kp-world-settings #settings-nav-root,
body.kp-depth.kp-world-settings .set-layer,
body.kp-depth.kp-world-settings #set-layer-main,
body.kp-depth.kp-world-settings #set-layer-sub{
  background:#000!important;
}

/* Coach-style fixed tab background.
   One full-screen layer owns the page atmosphere; content-specific cards,
   phase art, share cards, and report visuals keep their own gradients. */
.kp-tab-bg{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(
    180deg,
    #000000 0%,
    #000000 30%,
    rgba(var(--tab-r, 0), var(--tab-g, 255), var(--tab-b, 160), 0.14) 60%,
    rgba(var(--tab-r, 0), var(--tab-g, 255), var(--tab-b, 160), 0.62) 86%,
    rgb(var(--tab-r, 0), var(--tab-g, 255), var(--tab-b, 160)) 100%
  );
}

.kp-tab-bg.kp-tab-bg--dim{
  background:linear-gradient(
    180deg,
    #000000 0%,
    #000000 34%,
    rgba(var(--tab-r, 0), var(--tab-g, 255), var(--tab-b, 160), 0.08) 68%,
    rgba(var(--tab-r, 0), var(--tab-g, 255), var(--tab-b, 160), 0.24) 100%
  );
}

.kp-tab-bg::after{
  content:'';
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  height:var(--kp-footer-shield-h, calc(var(--tabH) + env(safe-area-inset-bottom,0px)));
  background:#000;
  pointer-events:none;
  z-index:1;
}

body.kp-depth #app > .kp-tab-bg,
body.kp-depth #hub > .kp-tab-bg{
  position:fixed!important;
  inset:0!important;
  z-index:0!important;
}

body.kp-depth #app,
body.kp-depth #hub{
  isolation:isolate;
  background:#000!important;
}

body.kp-depth #app::before,
body.kp-depth #hub::before,
body.kp-depth #app::after,
body.kp-depth #hub::after{
  content:none!important;
  display:none!important;
  animation:none!important;
  background:none!important;
}

body.kp-depth #screen-area,
body.kp-depth #analysis-scroll,
body.kp-depth #nutrition-scroll,
body.kp-depth #tr-scroll,
body.kp-depth #hub-scroll,
body.kp-depth #hub-header,
body.kp-depth #settings-nav-root,
body.kp-depth main,
body.kp-depth .tab-screen,
body.kp-depth .screen,
body.kp-depth .page,
body.kp-depth .screen-content{
  position:relative;
  z-index:1;
}

body.kp-depth.kp-world-settings #settings-nav-root,
body.kp-depth.kp-world-settings .set-layer,
body.kp-depth.kp-world-settings #set-layer-main,
body.kp-depth.kp-world-settings #set-layer-sub{
  background:#000!important;
  background-image:none!important;
}

body.kp-depth.kp-world-settings #set-layer-sub{
  isolation:isolate;
}

body.kp-depth.kp-world-settings #set-layer-sub::before{
  content:'';
  position:absolute;
  inset:0;
  min-height:100%;
  background:#000;
  pointer-events:none;
  z-index:-1;
}

body.kp-depth .hdr,
body.kp-depth #hub-header,
body.kp-depth #session-hdr,
body.kp-depth .set-sub-header,
body.kp-depth .kp-wiz-topbar,
body.kp-depth #kp-results-topbar{
  background:#000!important;
  background-image:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:none!important;
}

body.kp-depth .hdr::after{
  display:none!important;
  background:transparent!important;
}

body.kp-depth #hub-header{
  padding-top:calc(env(safe-area-inset-top,0px) + 10px)!important;
  padding-bottom:8px!important;
}

body.kp-depth #session-hdr .sh-top{
  height:40px!important;
}

body.kp-depth .kp-wiz-topbar,
body.kp-depth #kp-results-topbar{
  padding-top:max(10px,calc(env(safe-area-inset-top,0px) + 4px))!important;
  padding-bottom:8px!important;
}

body.kp-depth #tab-bar,
body.kp-depth #home-subnav,
body.kp-depth #tr-subnav,
body.kp-depth #nut-subnav,
body.kp-depth .an-filter-stack,
body.kp-depth .nut-totals,
body.kp-depth #session-bottom{
  background:#000!important;
  background-image:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:none!important;
}

body.kp-depth #tab-bar::before,
body.kp-depth #session-bottom::before{
  display:none!important;
  background:transparent!important;
}

body.kp-depth #tab-bar::after{
  content:''!important;
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:calc(var(--tabH) + env(safe-area-inset-bottom,0px))!important;
  background:#000!important;
  z-index:0!important;
  pointer-events:none!important;
}

body.kp-depth #home-subnav::after,
body.kp-depth #tr-subnav::after,
body.kp-depth #nut-subnav::after{
  content:''!important;
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:calc(var(--tabH) + env(safe-area-inset-bottom,0px))!important;
  height:56px!important;
  background:#000!important;
  z-index:0!important;
  pointer-events:none!important;
}

body.kp-depth #tab-bar > :not(#tab-ind),
body.kp-depth #home-subnav > :not(#home-sub-ind),
body.kp-depth #tr-subnav > :not(#tr-sub-ind),
body.kp-depth #nut-subnav > :not(#nut-sub-ind){
  position:relative;
  z-index:1;
}

body.kp-depth #tab-ind,
body.kp-depth #home-sub-ind,
body.kp-depth #tr-sub-ind,
body.kp-depth #nut-sub-ind{
  z-index:2!important;
}

body.kp-depth .card,
body.kp-depth .set-list,
body.kp-depth .coach-hub-card,
body.kp-depth .coach-hub-empty,
body.kp-depth .an-card,
body.kp-depth .slot-group,
body.kp-depth .stack-item,
body.kp-depth .hub-summary,
body.kp-depth .m-summary,
body.kp-depth .m-hist-row,
body.kp-depth .pg-cell,
body.kp-depth .pg-empty,
body.kp-depth .wod-rest-card,
body.kp-depth .session-hdr,
body.kp-depth .tr-hero,
body.kp-depth .tr-fuel-card,
body.kp-depth .tr-arch-card,
body.kp-depth .tr-session-card,
body.kp-depth .tr-day-card,
body.kp-depth .tr-split-item,
body.kp-depth .tr-tpl-card,
body.kp-depth .tr-builder-day-block,
body.kp-depth .tr-picker-ex-row,
body.kp-depth .tr-meso-card,
body.kp-depth .tr-ap-entry-card,
body.kp-depth .tr-ap-phil-card,
body.kp-depth .tr-prog-hero,
body.kp-depth .tr-prog-day-pill,
body.kp-depth .tr-prog-today,
body.kp-depth .tr-block-card,
body.kp-depth .tr-split-card,
body.kp-depth .tr-coach-split-card,
body.kp-depth .nut-hydro-card,
body.kp-depth .nut-day-toggle,
body.kp-depth .nut-stat-pill,
body.kp-depth .ng2-macro-col,
body.kp-depth .ng2-coach-kcal-card,
body.kp-depth .ml-kcal-preview,
body.kp-depth .ml-meal-card,
body.kp-depth .phase-macro-box,
body.kp-depth .av2-alert,
body.kp-depth .av2-phase-delta,
body.kp-depth .nut-card{
  background:
    linear-gradient(180deg,rgba(255,255,255,0.055),rgba(255,255,255,0.025)),
    var(--kp-surface-1)!important;
  border-color:rgba(255,255,255,0.105)!important;
  box-shadow:var(--kp-depth-shadow);
  position:relative;
  transform:translateZ(0);
}

body.kp-depth .card::before,
body.kp-depth .set-list::before,
body.kp-depth .coach-hub-card::before,
body.kp-depth .an-card::before,
body.kp-depth .slot-group::before,
body.kp-depth .stack-item::before,
body.kp-depth .hub-summary::before,
body.kp-depth .m-summary::before,
body.kp-depth .m-hist-row::before,
body.kp-depth .pg-cell::before,
body.kp-depth .wod-rest-card::before,
body.kp-depth .tr-fuel-card::before,
body.kp-depth .tr-arch-card::before,
body.kp-depth .tr-session-card::before,
body.kp-depth .tr-day-card::before,
body.kp-depth .tr-split-item::before,
body.kp-depth .tr-tpl-card::before,
body.kp-depth .tr-builder-day-block::before,
body.kp-depth .tr-picker-ex-row::before,
body.kp-depth .tr-meso-card::before,
body.kp-depth .tr-ap-entry-card::before,
body.kp-depth .tr-prog-day-pill::before,
body.kp-depth .tr-prog-today::before,
body.kp-depth .tr-block-card::before,
body.kp-depth .tr-split-card::before,
body.kp-depth .tr-coach-split-card::before,
body.kp-depth .nut-hydro-card::before,
body.kp-depth .nut-day-toggle::before,
body.kp-depth .nut-stat-pill::before,
body.kp-depth .ng2-macro-col::before,
body.kp-depth .ng2-coach-kcal-card::before,
body.kp-depth .ml-kcal-preview::before,
body.kp-depth .ml-meal-card::before,
body.kp-depth .phase-macro-box::before,
body.kp-depth .av2-alert::before,
body.kp-depth .av2-phase-delta::before,
body.kp-depth .nut-card::before{
  content:'';
  position:absolute;
  left:10px;
  right:10px;
  top:0;
  height:1px;
  border-radius:99px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.34),rgba(0,255,160,0.18),transparent);
  opacity:.8;
  pointer-events:none;
}

body.kp-depth .card-accent,
body.kp-depth .coach-hub-phase.active,
body.kp-depth .slot-group.live,
body.kp-depth .tr-day-card.active,
body.kp-depth .tr-split-item.active-split,
body.kp-depth .tr-split-card.active,
body.kp-depth .tr-coach-split-card.active,
body.kp-depth .hero-done{
  background:
    linear-gradient(180deg,rgba(0,255,160,0.085),rgba(255,255,255,0.025)),
    var(--kp-surface-3)!important;
  border-color:rgba(0,255,160,0.26)!important;
  box-shadow:var(--kp-depth-shadow-active);
}

body.kp-depth button,
body.kp-depth .card,
body.kp-depth .home-sub-btn,
body.kp-depth .coach-hub-card,
body.kp-depth .hub-item,
body.kp-depth .stack-item,
body.kp-depth .m-hist-row,
body.kp-depth .pg-cell,
body.kp-depth .tr-session-card,
body.kp-depth .tr-day-card,
body.kp-depth .tr-split-card,
body.kp-depth .nut-stat-pill,
body.kp-depth .ml-meal-card{
  transition:
    transform var(--kp-motion-tap),
    border-color 220ms ease,
    background 220ms ease,
    box-shadow 220ms ease,
    opacity 220ms ease;
}

body.kp-depth .kp-pressing{
  transform:translateY(1px) scale(.985)!important;
}

body.kp-depth .kp-motion-tap{
  animation:kpTapPress 180ms cubic-bezier(.2,.9,.2,1) both;
}

body.kp-depth .kp-motion-log{
  animation:kpLogBank 560ms cubic-bezier(.16,1,.3,1) both;
}

body.kp-depth .kp-motion-complete{
  animation:kpCompleteLock 720ms cubic-bezier(.16,1,.3,1) both;
}

body.kp-depth .kp-motion-new{
  animation:kpNewReceive 820ms cubic-bezier(.16,1,.3,1) both;
}

body.kp-depth .kp-motion-warning{
  animation:kpWarningPulse 640ms cubic-bezier(.2,.9,.2,1) both;
}

body.kp-depth .kp-live-pulse{
  animation:kpLivePulse 2.8s ease-in-out infinite;
}

body.kp-depth .kp-counter-roll{
  animation:kpCounterRoll 520ms cubic-bezier(.16,1,.3,1) both;
}

body.kp-depth .kp-world-bodyline{
  position:relative;
  overflow:hidden;
}

body.kp-depth .kp-world-bodyline::after{
  content:none;
}

body.kp-depth .kp-fuel-tank{
  position:relative;
  overflow:hidden;
}

body.kp-depth .kp-fuel-tank::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:var(--kp-fill,42%);
  background:linear-gradient(180deg,rgba(0,255,160,0.15),rgba(0,255,160,0.035));
  pointer-events:none;
  transition:height 620ms cubic-bezier(.16,1,.3,1);
}

body.kp-depth.kp-world-nutrition .nut-hydro-card,
body.kp-depth.kp-world-nutrition .ng2-macro-col,
body.kp-depth.kp-world-nutrition .ng2-coach-kcal-card,
body.kp-depth.kp-world-nutrition .ml-kcal-preview,
body.kp-depth.kp-world-nutrition .phase-macro-box{
  overflow:hidden;
}

body.kp-depth.kp-world-nutrition .nut-hydro-card::after,
body.kp-depth.kp-world-nutrition .ng2-macro-col::after,
body.kp-depth.kp-world-nutrition .ng2-coach-kcal-card::after,
body.kp-depth.kp-world-nutrition .ml-kcal-preview::after,
body.kp-depth.kp-world-nutrition .phase-macro-box::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:38%;
  background:linear-gradient(180deg,rgba(0,255,160,0.12),rgba(0,255,160,0.026));
  pointer-events:none;
  opacity:.75;
}

body.kp-depth.kp-world-nutrition .ng2-macro-col{
  background:
    linear-gradient(180deg,rgba(255,255,255,0.06),rgba(255,255,255,0.026))!important;
}

body.kp-depth.kp-world-nutrition .ng2-macro-col::after{
  content:none!important;
  display:none!important;
}

body.kp-depth.kp-world-nutrition .nut-hydro-card{
  background:
    linear-gradient(180deg,rgba(9,28,55,0.98),rgba(2,12,28,0.98))!important;
  border-color:rgba(0,200,255,0.24)!important;
  box-shadow:
    0 18px 48px rgba(0,0,0,0.42),
    inset 0 1px 0 rgba(125,211,252,0.14)!important;
}

body.kp-depth.kp-world-nutrition .nut-hydro-card::before{
  background:linear-gradient(90deg,transparent,rgba(125,211,252,0.34),rgba(0,200,255,0.18),transparent)!important;
}

body.kp-depth.kp-world-nutrition .nut-hydro-card::after{
  background:
    linear-gradient(180deg,rgba(14,79,145,0.14),rgba(8,28,54,0.18))!important;
  height:100%;
  opacity:.72;
}

body.kp-depth.kp-world-training .tr-session-card,
body.kp-depth.kp-world-training .tr-day-card,
body.kp-depth.kp-world-training .tr-split-card,
body.kp-depth.kp-world-training .tr-prog-today{
  box-shadow:0 20px 44px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.08), inset 0 -18px 28px rgba(0,0,0,0.18);
}

body.kp-depth.kp-world-training .card,
body.kp-depth.kp-world-training .set-list,
body.kp-depth.kp-world-training .wod-rest-card,
body.kp-depth.kp-world-training .session-hdr,
body.kp-depth.kp-world-training .tr-hero,
body.kp-depth.kp-world-training .tr-fuel-card,
body.kp-depth.kp-world-training .tr-arch-card,
body.kp-depth.kp-world-training .tr-session-card,
body.kp-depth.kp-world-training .tr-day-card,
body.kp-depth.kp-world-training .tr-split-item,
body.kp-depth.kp-world-training .tr-tpl-card,
body.kp-depth.kp-world-training .tr-builder-day-block,
body.kp-depth.kp-world-training .tr-picker-ex-row,
body.kp-depth.kp-world-training .tr-meso-card,
body.kp-depth.kp-world-training .tr-ap-entry-card,
body.kp-depth.kp-world-training .tr-ap-phil-card,
body.kp-depth.kp-world-training .tr-prog-hero,
body.kp-depth.kp-world-training .tr-prog-day-pill,
body.kp-depth.kp-world-training .tr-prog-today,
body.kp-depth.kp-world-training .tr-block-card,
body.kp-depth.kp-world-training .tr-split-card,
body.kp-depth.kp-world-training .tr-coach-split-card{
  background:
    linear-gradient(180deg,rgba(255,255,255,0.052),rgba(255,255,255,0.016)),
    rgba(8,9,10,0.36)!important;
  border-color:rgba(255,255,255,0.08)!important;
  box-shadow:0 18px 46px rgba(0,0,0,0.46), inset 0 1px 0 rgba(255,255,255,0.07), inset 0 -18px 34px rgba(0,0,0,0.16);
  backdrop-filter:blur(18px) saturate(0.9);
  -webkit-backdrop-filter:blur(18px) saturate(0.9);
}

body.kp-depth.kp-world-training .card-accent,
body.kp-depth.kp-world-training .tr-day-card.active,
body.kp-depth.kp-world-training .tr-split-item.active-split,
body.kp-depth.kp-world-training .tr-split-card.active,
body.kp-depth.kp-world-training .tr-coach-split-card.active{
  background:
    linear-gradient(180deg,rgba(0,255,160,0.072),rgba(255,255,255,0.014)),
    rgba(4,13,10,0.42)!important;
  border-color:rgba(0,255,160,0.22)!important;
  box-shadow:0 20px 50px rgba(0,0,0,0.5),0 0 28px rgba(0,255,160,0.075),inset 0 1px 0 rgba(0,255,160,0.12);
}

body.kp-depth .kp-holo-plane{
  transform-style:preserve-3d;
  perspective:900px;
}

body.kp-depth .kp-holo-plane canvas,
body.kp-depth .kp-holo-plane svg{
  filter:drop-shadow(0 12px 26px rgba(0,255,160,0.08));
}

@keyframes kpTapPress{
  0%{transform:scale(1)}
  50%{transform:scale(.985)}
  100%{transform:scale(1)}
}

@keyframes kpLogBank{
  0%{box-shadow:var(--kp-depth-shadow);transform:translateY(0) scale(1)}
  35%{box-shadow:0 0 0 1px rgba(0,255,160,0.36),0 0 32px rgba(0,255,160,0.22);transform:translateY(-2px) scale(1.012)}
  100%{box-shadow:var(--kp-depth-shadow);transform:translateY(0) scale(1)}
}

@keyframes kpCompleteLock{
  0%{filter:saturate(1);transform:translateY(0) scale(1)}
  26%{filter:saturate(1.24);transform:translateY(-3px) scale(1.018);box-shadow:0 0 0 1px rgba(0,255,160,0.42),0 0 42px rgba(0,255,160,0.28)}
  58%{transform:translateY(1px) scale(.994)}
  100%{filter:saturate(1);transform:translateY(0) scale(1)}
}

@keyframes kpNewReceive{
  0%{opacity:.76;transform:translateY(16px) scale(.98);box-shadow:0 0 0 rgba(0,255,160,0)}
  42%{opacity:1;transform:translateY(-2px) scale(1.012);box-shadow:0 0 0 1px rgba(0,255,160,0.34),0 0 36px rgba(0,255,160,0.22)}
  100%{opacity:1;transform:translateY(0) scale(1)}
}

@keyframes kpWarningPulse{
  0%,100%{box-shadow:var(--kp-depth-shadow)}
  50%{box-shadow:0 0 0 1px rgba(255,176,32,0.38),0 0 34px rgba(255,176,32,0.22)}
}

@keyframes kpLivePulse{
  0%,100%{box-shadow:var(--kp-depth-shadow)}
  50%{box-shadow:var(--kp-depth-shadow-active)}
}

@keyframes kpCounterRoll{
  0%{transform:translateY(8px);opacity:.68}
  100%{transform:translateY(0);opacity:1}
}

@keyframes kpBodyScan{
  0%,100%{transform:translateY(0);opacity:0}
  20%{opacity:.7}
  50%{transform:translateY(180px);opacity:.9}
  82%{opacity:0}
}

@keyframes kpAtmosphereDrift{
  0%{
    transform:translate3d(-1.2%,-0.8%,0) scale(1.045);
    opacity:.88;
    filter:saturate(.96) brightness(.98);
  }
  38%{
    transform:translate3d(1.4%,-1.6%,0) scale(1.06);
    opacity:.96;
    filter:saturate(1.08) brightness(1.02);
  }
  72%{
    transform:translate3d(-0.4%,1.2%,0) scale(1.052);
    opacity:.91;
    filter:saturate(1.02) brightness(1);
  }
  100%{
    transform:translate3d(1.8%,0.6%,0) scale(1.065);
    opacity:.98;
    filter:saturate(1.1) brightness(1.025);
  }
}

@media (hover:hover){
  body.kp-depth .card:hover,
  body.kp-depth .coach-hub-card:hover,
  body.kp-depth .an-card:hover,
  body.kp-depth .hub-item:hover,
  body.kp-depth .stack-item:hover,
  body.kp-depth .pg-cell:hover{
    transform:translateY(-1px);
    border-color:rgba(0,255,160,0.2)!important;
  }
}

@media (prefers-reduced-motion:reduce){
  body.kp-depth *,
  body.kp-depth *::before,
  body.kp-depth *::after{
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
}
