:root{
  --premium-accent:#C81F24;
  --premium-ink:#0B0D10;
  --premium-ease:cubic-bezier(.2,.7,.2,1);
}

.premium-scroll-progress{
  position:fixed;
  top:0;
  left:0;
  z-index:120;
  width:100%;
  height:2px;
  pointer-events:none;
  transform:scaleX(0);
  transform-origin:left center;
  background:var(--premium-accent);
  will-change:transform;
}

body.premium-experience [data-premium-reveal]{
  opacity:0;
  transform:translateY(18px);
  transition:
    opacity .56s var(--premium-ease) var(--premium-delay,0ms),
    transform .56s var(--premium-ease) var(--premium-delay,0ms);
}

body.premium-experience [data-premium-reveal].is-premium-visible{
  opacity:1;
  transform:none;
}

body.premium-experience main,
body.premium-experience .dash-app{
  transition:opacity .16s ease,transform .16s ease;
}

body.premium-leaving main,
body.premium-leaving .dash-app{
  opacity:.22;
  transform:translateY(-5px);
}

body.premium-experience :where(a,button,input,select,textarea):focus-visible{
  outline:2px solid var(--premium-accent);
  outline-offset:2px;
}

body.premium-experience :where(button,.btn,.dash-btn,.solid):active{
  transform:translateY(1px) scale(.99);
}

body.premium-experience .dash-map-point.active::after{
  content:"";
  position:absolute;
  inset:-8px;
  border:1px solid rgba(200,31,36,.42);
  border-radius:50%;
  animation:premiumMapPulse 2.2s var(--premium-ease) infinite;
}

body.premium-experience .dash-table tbody tr,
body.premium-experience .scheme-ledger-row,
body.premium-experience .scheme-life-node{
  transition:background .2s ease,color .2s ease,transform .2s var(--premium-ease);
}

body.premium-experience .dash-table tbody tr:hover,
body.premium-experience .scheme-ledger-row:hover,
body.premium-experience .scheme-life-node:hover{
  transform:translateX(2px);
}

body.premium-experience [data-premium-number]{
  font-variant-numeric:tabular-nums;
}

@keyframes premiumMapPulse{
  0%{opacity:.75;transform:scale(.72)}
  72%,100%{opacity:0;transform:scale(1.65)}
}

@media(prefers-reduced-motion:reduce){
  .premium-scroll-progress{display:none}
  body.premium-experience [data-premium-reveal],
  body.premium-experience main,
  body.premium-experience .dash-app{
    opacity:1;
    transform:none;
    transition:none;
  }
  body.premium-experience .dash-map-point.active::after{animation:none}
}
