#instantBlackout {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  background: #000;
  pointer-events: none;
}

/* AUTO KEY CHECKOUT GUIDE */
.auto-key-guide{
  width:min(1120px, calc(100% - 32px));
  margin:18px auto 32px;
  position:relative;
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(36,255,36,.28);
  background:
    radial-gradient(circle at 10% 0%, rgba(36,255,36,.20), transparent 36%),
    radial-gradient(circle at 100% 0%, rgba(162,12,255,.22), transparent 38%),
    linear-gradient(145deg, rgba(6,12,8,.92), rgba(8,5,16,.90));
  box-shadow:
    0 24px 60px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.08);
  padding:22px;
  display:grid;
  gap:18px;
}

.auto-key-guide::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(90deg, rgba(0,0,0,.78), rgba(0,0,0,.18));
  pointer-events:none;
}

.auto-key-guide > *{
  position:relative;
  z-index:1;
}

.auto-key-copy{
  display:grid;
  gap:9px;
}

.auto-key-copy .section-kicker{
  margin:0;
}

.auto-key-copy h2{
  margin:0;
  color:#fff;
  font-size:clamp(30px, 5vw, 58px);
  line-height:.96;
  font-weight:950;
}

.auto-key-copy h2 span{
  color:var(--green);
  text-shadow:0 0 24px rgba(36,255,36,.36);
}

.auto-key-copy p{
  margin:0;
  max-width:720px;
  color:rgba(255,255,255,.72);
  font-size:15px;
  line-height:1.55;
  font-weight:700;
}

.auto-key-flow{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:10px;
}

.auto-key-flow div{
  min-height:118px;
  display:grid;
  align-content:start;
  gap:7px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 50% 0%, rgba(36,255,36,.11), transparent 50%),
    rgba(0,0,0,.34);
  padding:14px;
}

.auto-key-flow strong{
  color:rgba(255,255,255,.35);
  font-size:12px;
  font-weight:950;
  letter-spacing:1px;
}

.auto-key-flow span{
  color:#fff;
  font-size:18px;
  font-weight:950;
}

.auto-key-flow p{
  margin:0;
  color:rgba(255,255,255,.62);
  font-size:12px;
  line-height:1.45;
  font-weight:800;
}

.auto-key-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.auto-key-actions .btn-filled,
.auto-key-actions .btn-outline{
  min-width:178px;
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  text-decoration:none;
}

.auto-key-note{
  border-radius:18px;
  border:1px solid rgba(36,255,36,.20);
  background:rgba(0,0,0,.30);
  color:rgba(255,255,255,.68);
  padding:13px 15px;
  font-size:12px;
  line-height:1.5;
  font-weight:800;
}

.auto-key-note strong{
  color:var(--green);
}

@media (max-width:760px){
  .auto-key-guide{
    width:min(100% - 24px, 720px);
    margin:14px auto 24px;
    border-radius:22px;
    padding:16px;
  }

  .auto-key-flow{
    grid-template-columns:1fr 1fr;
  }

  .auto-key-flow div{
    min-height:108px;
    padding:12px;
  }
}

@media (max-width:430px){
  .auto-key-copy h2{
    font-size:34px;
  }

  .auto-key-flow{
    grid-template-columns:1fr;
  }

  .auto-key-flow div{
    min-height:auto;
  }

  .auto-key-actions .btn-filled,
  .auto-key-actions .btn-outline{
    width:100%;
  }
}

/* PREMIUM BUNDLE SPOTLIGHT */
.bundle-premium-section{
  padding-top:18px !important;
}

.bundle-spotlight{
  isolation:isolate;
  border-radius:34px !important;
  border-color:rgba(36,255,36,.32) !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(36,255,36,.22), transparent 34%),
    radial-gradient(circle at 88% 6%, rgba(162,12,255,.28), transparent 42%),
    radial-gradient(circle at 50% 100%, rgba(36,255,36,.10), transparent 38%),
    linear-gradient(145deg, rgba(13,15,20,.94), rgba(3,4,6,.86)) !important;
  padding:20px !important;
}

.bundle-orbit{
  position:absolute;
  right:-90px;
  top:-110px;
  width:310px;
  height:310px;
  border-radius:999px;
  border:1px solid rgba(36,255,36,.20);
  box-shadow:
    0 0 52px rgba(36,255,36,.12),
    inset 0 0 56px rgba(162,12,255,.20);
  transform:rotate(-18deg);
  pointer-events:none;
  z-index:0;
}

.bundle-hero-head{
  position:relative;
  z-index:2;
  display:grid;
  gap:14px;
  margin-bottom:18px;
}

.bundle-hero-head .section-kicker{
  margin-bottom:9px;
}

.bundle-hero-head .section-title{
  letter-spacing:0 !important;
}

.bundle-head-pill{
  width:max-content;
  max-width:100%;
  min-height:58px;
  display:flex;
  align-items:center;
  gap:12px;
  border-radius:999px;
  border:1px solid rgba(36,255,36,.26);
  background:
    radial-gradient(circle at 50% 0%, rgba(36,255,36,.18), transparent 48%),
    rgba(0,0,0,.32);
  padding:10px 14px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 0 26px rgba(36,255,36,.08);
}

.bundle-head-pill strong,
.bundle-head-pill span{
  display:block;
}

.bundle-head-pill strong{
  color:#fff;
  font-size:14px;
  font-weight:950;
}

.bundle-head-pill span{
  color:var(--green);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}

.bundle-spotlight .bundle-layout{
  align-items:stretch;
}

.bundle-spotlight .bundle-badge{
  letter-spacing:0 !important;
  box-shadow:
    0 0 24px rgba(36,255,36,.30),
    0 12px 30px rgba(0,0,0,.24);
}

.bundle-spotlight .bundle-title{
  letter-spacing:0 !important;
  margin-bottom:14px !important;
}

.bundle-spotlight .bundle-preview-row{
  margin-top:18px;
  margin-bottom:18px;
}

.bundle-spotlight .bundle-preview-card{
  border-radius:22px !important;
  border-color:rgba(255,255,255,.14) !important;
  box-shadow:
    0 18px 36px rgba(0,0,0,.36),
    inset 0 1px 0 rgba(255,255,255,.07);
}

.bundle-bonus-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin:0 0 16px;
}

.bundle-bonus-grid span{
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  border-radius:999px;
  border:1px solid rgba(36,255,36,.18);
  background:
    radial-gradient(circle at 50% 0%, rgba(36,255,36,.10), transparent 46%),
    rgba(0,0,0,.28);
  color:rgba(255,255,255,.82);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}

.bundle-spotlight .bundle-includes{
  gap:9px !important;
}

.bundle-spotlight .bundle-includes li{
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.22);
  padding:11px;
}

.bundle-spotlight .bundle-price-box{
  position:relative;
  overflow:hidden;
  border-radius:28px !important;
  border-color:rgba(36,255,36,.24) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(36,255,36,.16), transparent 42%),
    radial-gradient(circle at 100% 0%, rgba(162,12,255,.18), transparent 44%),
    rgba(0,0,0,.42) !important;
}

.bundle-spotlight .bundle-price{
  letter-spacing:0 !important;
  font-size:52px !important;
}

.bundle-value-compare{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin:16px 0 12px;
}

.bundle-value-compare div{
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.30);
  padding:12px;
}

.bundle-value-compare span{
  display:block;
  color:rgba(255,255,255,.52);
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
  margin-bottom:6px;
}

.bundle-value-compare strong{
  display:block;
  color:#fff;
  font-size:18px;
  font-weight:950;
}

.bundle-value-compare div:first-child strong{
  color:rgba(255,255,255,.50);
  text-decoration:line-through;
}

.bundle-value-compare div:last-child{
  border-color:rgba(36,255,36,.30);
  box-shadow:0 0 22px rgba(36,255,36,.08);
}

.bundle-value-compare div:last-child strong{
  color:var(--green);
  text-shadow:0 0 14px rgba(36,255,36,.34);
}

.bundle-secure-note{
  margin:0 0 14px;
  color:rgba(255,255,255,.62);
  font-size:12px;
  font-weight:800;
  line-height:1.4;
}

.bundle-spotlight .bundle-buttons{
  gap:11px !important;
}

.bundle-spotlight .bundle-buttons .btn-filled,
.bundle-spotlight .bundle-buttons .btn-outline{
  min-height:56px;
  letter-spacing:0 !important;
}

.bundle-choice-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin:22px 0 0;
}

.bundle-option-card{
  position:relative;
  overflow:hidden;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(135deg, rgba(255,255,255,.055), transparent 34%),
    radial-gradient(circle at 82% 8%, rgba(162,12,255,.18), transparent 36%),
    rgba(4,5,6,.82);
  box-shadow:0 20px 70px rgba(0,0,0,.42);
}

.bundle-option-card.is-os-macro{
  border-color:rgba(36,255,36,.34);
  box-shadow:
    0 20px 70px rgba(0,0,0,.42),
    0 0 38px rgba(36,255,36,.08);
}

.bundle-option-media{
  position:relative;
  aspect-ratio:16/9;
  background:#020202;
  border-bottom:1px solid rgba(255,255,255,.09);
}

.bundle-option-media::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg, transparent 40%, rgba(0,0,0,.78));
}

.bundle-option-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  opacity:.9;
}

.bundle-option-copy{
  padding:20px 20px 8px;
}

.bundle-option-copy span{
  color:var(--green);
  font-size:11px;
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.bundle-option-copy h3{
  margin:8px 0 10px;
  color:#fff;
  font-size:clamp(24px,3vw,38px);
  line-height:1.02;
  font-weight:950;
  letter-spacing:0;
}

.bundle-option-copy p{
  color:rgba(255,255,255,.62);
  font-size:13px;
  line-height:1.55;
}

.bundle-option-bottom{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:end;
  gap:14px;
  padding:14px 20px 20px;
}

.bundle-option-bottom strong{
  display:block;
  color:#fff;
  font-size:32px;
  font-weight:950;
}

.bundle-option-bottom small{
  display:block;
  color:rgba(255,255,255,.46);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}

.bundle-option-actions{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
}

.bundle-option-actions .btn-filled,
.bundle-option-actions .btn-outline{
  min-height:48px;
  padding-inline:16px;
}

@media (min-width:760px){
  .bundle-spotlight{
    padding:24px !important;
  }

  .bundle-hero-head{
    grid-template-columns:1fr auto;
    align-items:center;
  }

  .bundle-spotlight .bundle-layout{
    grid-template-columns:1.25fr .75fr !important;
    gap:22px;
  }
}

@media (max-width:520px){
  .bundle-spotlight{
    padding:16px !important;
    border-radius:28px !important;
  }

  .bundle-hero-head .section-title{
    font-size:31px !important;
  }

  .bundle-head-pill{
    min-height:52px;
  }

  .bundle-spotlight .bundle-title{
    font-size:31px !important;
  }

  .bundle-spotlight .bundle-preview-row{
    gap:8px;
  }

  .bundle-bonus-grid{
    grid-template-columns:1fr;
  }

  .bundle-spotlight .bundle-price{
    font-size:44px !important;
  }

  .bundle-choice-grid{
    grid-template-columns:1fr;
  }

  .bundle-option-bottom{
    grid-template-columns:1fr;
  }
}

body.instant-ready #instantBlackout {
  opacity: 0;
  visibility: hidden;
  transition: opacity .28s ease, visibility .28s ease;
}
:root{
  --bg:#020304;
  --bg2:#07080b;
  --panel:#0c0d10;
  --panel2:#111218;
  --line:rgba(255,255,255,.10);
  --line2:rgba(255,255,255,.16);
  --text:#ffffff;
  --muted:#a3a7b2;
  --muted2:#737987;
  --green:#24ff24;
  --green2:#00d91f;
  --greenSoft:rgba(36,255,36,.12);
  --purple:#a20cff;
  --purple2:#7b00ff;
  --purpleSoft:rgba(162,12,255,.16);
  --blue:#7ea2ff;
  --danger:#ff4a6a;
  --radius:24px;
  --shadow:0 24px 70px rgba(0,0,0,.72);
  --font:'Inter',sans-serif;
  --safeTop:env(safe-area-inset-top);
  --safeBottom:env(safe-area-inset-bottom);
}

*{
  box-sizing:border-box;
  margin:0;
  padding:0;
  font-family:var(--font);
  -webkit-tap-highlight-color:transparent;
}

html{
  scroll-behavior:smooth;
  background:#000;
}

body{
  min-height:100vh;
  color:var(--text);
  background:#000;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  padding-top:calc(88px + var(--safeTop));
  padding-bottom:calc(132px + var(--safeBottom));
  position:relative;
}

body.no-scroll{
  overflow:hidden;
}

button,
a,
.tap{
  touch-action:manipulation;
}

button{
  font:inherit;
}

a{
  color:inherit;
  text-decoration:none;
}

#galaxyCanvas{
  position:fixed;
  inset:0;
  width:100vw;
  height:100vh;
  z-index:-5;
  pointer-events:none;
  background:
    radial-gradient(circle at 20% -10%, rgba(162,12,255,.34), transparent 38%),
    radial-gradient(circle at 88% 6%, rgba(36,255,36,.14), transparent 32%),
    radial-gradient(circle at 48% 65%, rgba(162,12,255,.11), transparent 42%),
    linear-gradient(180deg,#030405 0%,#06070a 44%,#010101 100%);
}

#emxRainCanvas{
  position:fixed;
  inset:0;
  width:100vw;
  height:100vh;
  z-index:-3;
  pointer-events:none;
  opacity:.62;
  mix-blend-mode:screen;
}

.page-glow{
  position:fixed;
  inset:0;
  z-index:-4;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 18%, rgba(162,12,255,.18), transparent 34%),
    radial-gradient(circle at 50% 100%, rgba(36,255,36,.13), transparent 38%);
  mix-blend-mode:screen;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-3;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 22%, rgba(36,255,36,.13), transparent 22%),
    radial-gradient(circle at 86% 34%, rgba(162,12,255,.18), transparent 26%),
    radial-gradient(circle at 50% 72%, rgba(36,255,36,.08), transparent 34%);
  animation:pageAuraShift 9s ease-in-out infinite alternate;
  mix-blend-mode:screen;
}

@keyframes pageAuraShift{
  0%{ opacity:.55; transform:translateY(0) scale(1); }
  100%{ opacity:.95; transform:translateY(-18px) scale(1.04); }
}

/* =========================
   PREMIUM BOOT SCREEN
========================= */

#boot-screen{
  position:fixed;
  inset:0;
  z-index:9999999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
  background:
    radial-gradient(circle at 50% 22%, rgba(162,12,255,.34), transparent 30%),
    radial-gradient(circle at 50% 82%, rgba(36,255,36,.18), transparent 38%),
    linear-gradient(180deg,#020204 0%,#050507 50%,#010101 100%);
  transition:opacity .75s ease, transform .75s ease, visibility .75s ease;
  overflow:hidden;
}

#bootGalaxy{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
  opacity:.9;
  z-index:-3;
}

body.booting #boot-screen,
body.app-ready #boot-screen{
  opacity:0 !important;
  transform:scale(1.025);
  visibility:hidden !important;
  pointer-events:none !important;
}

.boot-shell{
  width:min(520px,100%);
  min-height:620px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  position:relative;
  isolation:isolate;
}

.boot-shell::before{
  content:"";
  position:absolute;
  width:440px;
  height:440px;
  border-radius:50%;
  background:
    radial-gradient(circle, rgba(162,12,255,.19), transparent 56%),
    conic-gradient(from 180deg, transparent, rgba(36,255,36,.22), transparent, rgba(162,12,255,.30), transparent);
  opacity:.8;
  animation:slowSpin 13s linear infinite;
  z-index:-2;
}

.boot-shell::after{
  content:"";
  position:absolute;
  width:340px;
  height:340px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:
    0 0 86px rgba(162,12,255,.17),
    inset 0 0 58px rgba(36,255,36,.06);
  z-index:-1;
}

@keyframes slowSpin{
  to{ transform:rotate(360deg); }
}

.boot-topline{
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 15px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(255,255,255,.04);
  backdrop-filter:blur(18px);
  color:var(--muted);
  font-weight:900;
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  margin-bottom:24px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.boot-dot{
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--green);
  box-shadow:0 0 16px var(--green);
}

.boot-logo-wrap{
  width:min(410px,92vw);
  height:170px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:12px;
  position:relative;
  z-index:3;
  animation:logoFloat 3.8s ease-in-out infinite;
}

.boot-logo-wrap::before{
  content:"";
  position:absolute;
  width:120%;
  height:135%;
  border-radius:50%;
  background:
    radial-gradient(circle at 24% 50%, rgba(36,255,36,.26), transparent 42%),
    radial-gradient(circle at 76% 50%, rgba(162,12,255,.34), transparent 46%);
  filter:blur(24px);
  opacity:.92;
  z-index:-1;
  animation:logoGlowPulse 3.4s ease-in-out infinite alternate;
}

.boot-logo-img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  filter:
    drop-shadow(0 0 16px rgba(36,255,36,.34))
    drop-shadow(0 0 28px rgba(162,12,255,.62))
    drop-shadow(0 0 70px rgba(162,12,255,.24));
}

@keyframes logoFloat{
  0%,100%{ transform:translateY(0) scale(1); }
  50%{ transform:translateY(-8px) scale(1.025); }
}

@keyframes logoGlowPulse{
  0%{ opacity:.58; transform:scale(.96); }
  100%{ opacity:1; transform:scale(1.08); }
}

.boot-title{
  font-size:15px;
  color:#f8f8f8;
  font-weight:900;
  letter-spacing:.26em;
  text-transform:uppercase;
  text-align:center;
  margin-bottom:12px;
}

.boot-subtitle{
  color:var(--muted);
  text-align:center;
  max-width:390px;
  line-height:1.55;
  font-size:14px;
  margin-bottom:28px;
}

.boot-spec-grid{
  width:100%;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-bottom:34px;
}

.boot-spec{
  min-height:74px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.11);
  background:
    linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.018));
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 18px 38px rgba(0,0,0,.25);
}

.boot-spec strong{
  font-size:18px;
  color:white;
  line-height:1;
}

.boot-spec span{
  margin-top:7px;
  color:var(--muted2);
  font-size:10px;
  letter-spacing:.15em;
  font-weight:900;
  text-transform:uppercase;
}

.enter-btn{
  width:100%;
  border:2px solid var(--green);
  border-radius:999px;
  background:
    radial-gradient(circle at 50% 0%, rgba(36,255,36,.18), transparent 44%),
    rgba(0,0,0,.40);
  color:var(--green);
  min-height:78px;
  font-size:21px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:
    0 0 20px rgba(36,255,36,.48),
    0 0 56px rgba(36,255,36,.22),
    inset 0 0 26px rgba(36,255,36,.08);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  position:relative;
  overflow:hidden;
}

.enter-btn::before{
  content:"";
  position:absolute;
  inset:0;
  transform:translateX(-120%) skewX(-22deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);
  animation:btnSweep 2.8s ease-in-out infinite;
}

@keyframes btnSweep{
  0%,30%{ transform:translateX(-120%) skewX(-22deg); }
  65%,100%{ transform:translateX(120%) skewX(-22deg); }
}

.enter-btn:active,
.enter-btn.booting{
  transform:scale(.975);
  background:rgba(36,255,36,.08);
  box-shadow:
    0 0 28px rgba(36,255,36,.65),
    0 0 72px rgba(36,255,36,.30),
    inset 0 0 34px rgba(36,255,36,.15);
}

.boot-footer{
  margin-top:24px;
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--muted2);
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.boot-loader{
  width:58px;
  height:4px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.10);
}

.boot-loader span{
  display:block;
  height:100%;
  width:48%;
  border-radius:999px;
  background:var(--green);
  box-shadow:0 0 12px var(--green);
  animation:loaderMove 1.4s ease-in-out infinite;
}

@keyframes loaderMove{
  0%{ transform:translateX(-120%); }
  100%{ transform:translateX(230%); }
}

/* =========================
   EMX LAUNCH SCREEN
========================= */

#emxLaunchOverlay,
.emx-launch-overlay{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  z-index:10000050 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:
    radial-gradient(circle at 50% 28%, rgba(162,12,255,.34), transparent 34%),
    radial-gradient(circle at 50% 88%, rgba(36,255,36,.20), transparent 42%),
    linear-gradient(180deg,#020204 0%,#050507 48%,#000 100%) !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  overflow:hidden !important;
  transform:scale(1) !important;
  transition:opacity .42s ease, visibility .42s ease, transform .65s ease !important;
}

#emxLaunchOverlay.show,
.emx-launch-overlay.show{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}

#emxLaunchOverlay.exit,
.emx-launch-overlay.exit{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:scale(1.035) !important;
}

#launchGalaxy{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  pointer-events:none !important;
  opacity:.95 !important;
  z-index:-4 !important;
}

.emx-launch-core{
  width:min(360px,86vw) !important;
  min-height:390px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  position:relative !important;
  isolation:isolate !important;
  text-align:center !important;
}

.emx-launch-ring{
  position:absolute !important;
  border-radius:50% !important;
  pointer-events:none !important;
}

.ring-one{
  width:265px !important;
  height:265px !important;
  border:1px solid rgba(36,255,36,.22) !important;
  box-shadow:
    0 0 34px rgba(36,255,36,.16),
    inset 0 0 38px rgba(36,255,36,.055) !important;
  animation:launchRingSpin 7s linear infinite !important;
}

.ring-two{
  width:210px !important;
  height:210px !important;
  border:1px solid rgba(162,12,255,.28) !important;
  box-shadow:
    0 0 38px rgba(162,12,255,.18),
    inset 0 0 36px rgba(162,12,255,.055) !important;
  animation:launchRingSpinReverse 5.8s linear infinite !important;
}

.ring-three{
  width:315px !important;
  height:315px !important;
  background:
    conic-gradient(from 180deg, transparent, rgba(36,255,36,.24), transparent, rgba(162,12,255,.28), transparent) !important;
  opacity:.48 !important;
  animation:launchRingSpin 10s linear infinite !important;
  z-index:-2 !important;
}

@keyframes launchRingSpin{
  to{ transform:rotate(360deg); }
}

@keyframes launchRingSpinReverse{
  to{ transform:rotate(-360deg); }
}

.emx-launch-logo-wrap{
  width:132px !important;
  height:132px !important;
  border-radius:32px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(36,255,36,.13), transparent 42%),
    radial-gradient(circle at 50% 100%, rgba(162,12,255,.16), transparent 44%),
    rgba(0,0,0,.42) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  box-shadow:
    0 0 28px rgba(36,255,36,.24),
    0 0 54px rgba(162,12,255,.34),
    0 24px 60px rgba(0,0,0,.62),
    inset 0 1px 0 rgba(255,255,255,.12) !important;
  overflow:hidden !important;
  position:relative !important;
  z-index:3 !important;
  animation:launchLogoPop 1.2s cubic-bezier(.2,.8,.2,1) both, launchLogoFloat 2.8s ease-in-out 1.2s infinite !important;
}

.emx-launch-logo{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  display:block !important;
  filter:
    drop-shadow(0 0 12px rgba(36,255,36,.62))
    drop-shadow(0 0 22px rgba(162,12,255,.70)) !important;
}

@keyframes launchLogoPop{
  0%{ opacity:0; transform:scale(.55) rotate(-9deg); filter:blur(10px); }
  55%{ opacity:1; transform:scale(1.08) rotate(2deg); filter:blur(0); }
  100%{ opacity:1; transform:scale(1) rotate(0); }
}

@keyframes launchLogoFloat{
  0%,100%{ transform:translateY(0) scale(1); }
  50%{ transform:translateY(-8px) scale(1.02); }
}

.emx-launch-title{
  margin-top:28px !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.18em !important;
  text-align:center !important;
  text-transform:uppercase !important;
  text-shadow:
    0 0 16px rgba(255,255,255,.20),
    0 0 24px rgba(162,12,255,.36) !important;
}

.emx-launch-bar{
  margin-top:16px !important;
  width:min(250px,74vw) !important;
  height:8px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.09) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  overflow:hidden !important;
  box-shadow:
    0 0 18px rgba(36,255,36,.12),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.emx-launch-bar span,
#emxLaunchBarFill{
  display:block !important;
  width:0%;
  height:100% !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,var(--green),#7dff56,var(--purple)) !important;
  box-shadow:
    0 0 18px rgba(36,255,36,.72),
    0 0 28px rgba(162,12,255,.40) !important;
  transition:width .38s cubic-bezier(.2,.8,.2,1) !important;
  animation:none !important;
}

#emxLaunchOverlay.show .emx-launch-bar span,
.emx-launch-overlay.show .emx-launch-bar span{
  animation:none !important;
}

.emx-launch-bottom-row{
  margin-top:12px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  flex-wrap:wrap !important;
}

.emx-launch-status{
  color:var(--muted2) !important;
  font-size:10px !important;
  font-weight:900 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  animation:launchStatusPulse 1.1s ease-in-out infinite alternate !important;
}

.emx-launch-percent{
  color:#fff !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.12em !important;
  min-width:44px !important;
  text-align:right !important;
  text-shadow:0 0 14px rgba(36,255,36,.45) !important;
}

@keyframes launchStatusPulse{
  from{ opacity:.42; }
  to{
    opacity:1;
    color:var(--green);
    text-shadow:0 0 12px rgba(36,255,36,.40);
  }
}

/* =========================
   HEADER
========================= */

header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:calc(88px + var(--safeTop));
  padding:var(--safeTop) 16px 0;
  z-index:1000;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:rgba(3,4,5,.82);
  backdrop-filter:blur(24px);
  border-bottom:1px solid rgba(255,255,255,.09);
  box-shadow:0 18px 40px rgba(0,0,0,.38);
}

.header-left{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:82px;
}

.header-logo-img-wrap{
  width:88px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  position:relative;
}

.header-logo-img-wrap::before{
  content:"";
  position:absolute;
  inset:-10px;
  border-radius:18px;
  background:
    radial-gradient(circle at 28% 50%, rgba(36,255,36,.18), transparent 48%),
    radial-gradient(circle at 72% 50%, rgba(162,12,255,.28), transparent 52%);
  filter:blur(12px);
  opacity:.9;
  z-index:-1;
}

.header-logo-img{
  width:86px;
  height:46px;
  object-fit:contain;
  display:block;
  filter:
    drop-shadow(0 0 10px rgba(36,255,36,.30))
    drop-shadow(0 0 15px rgba(162,12,255,.62));
  animation:headerLogoPulse 3.2s ease-in-out infinite alternate;
}

@keyframes headerLogoPulse{
  0%{ transform:translateY(0) scale(1); opacity:.94; }
  100%{ transform:translateY(-1px) scale(1.035); opacity:1; }
}

.header-main-text{
  color:white;
  font-weight:900;
  font-size:13px;
  line-height:1.1;
  letter-spacing:.04em;
  text-align:center;
  text-transform:uppercase;
}

.header-main-text span{
  display:block;
}

.header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  min-width:112px;
}

.icon-btn{
  width:42px;
  height:42px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.045);
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
  position:relative;
  font-size:20px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  transition:transform .16s ease, border-color .16s ease, background .16s ease;
}

.icon-btn:active{
  transform:scale(.94);
}

#installTestBtn{
  background:
    radial-gradient(circle at 50% 0%, rgba(126,162,255,.20), transparent 55%),
    rgba(255,255,255,.055);
  border-color:rgba(126,162,255,.28);
  box-shadow:
    0 0 18px rgba(126,162,255,.16),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.cart-count{
  position:absolute;
  top:-7px;
  right:-6px;
  min-width:22px;
  height:22px;
  border-radius:999px;
  background:var(--green);
  color:#020202;
  display:none;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:900;
  box-shadow:0 0 18px rgba(36,255,36,.70);
}

.cart-count.show{
  display:flex;
}

/* =========================
   HERO
========================= */

main{
  width:min(980px,100%);
  margin:0 auto;
}

.hero{
  padding:22px 16px 4px;
}

.hero-card{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(circle at 8% 0%, rgba(162,12,255,.24), transparent 42%),
    radial-gradient(circle at 88% 18%, rgba(36,255,36,.13), transparent 36%),
    linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
  box-shadow:var(--shadow);
  padding:22px;
}

.hero-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.08) 42%,transparent 56%);
  transform:translateX(-120%);
  animation:heroSweep 7s ease-in-out infinite;
  pointer-events:none;
}

@keyframes heroSweep{
  0%,55%{ transform:translateX(-120%); }
  80%,100%{ transform:translateX(120%); }
}

.hero-logo-float{
  width:min(270px,74vw);
  height:105px;
  margin:0 auto 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  z-index:2;
  animation:mainLogoFloat 4.2s ease-in-out infinite;
}

.hero-logo-float::before{
  content:"";
  position:absolute;
  inset:-18px;
  border-radius:999px;
  background:
    radial-gradient(circle at 25% 50%, rgba(36,255,36,.20), transparent 45%),
    radial-gradient(circle at 75% 50%, rgba(162,12,255,.31), transparent 48%);
  filter:blur(18px);
  opacity:.9;
  z-index:-1;
}

.hero-logo-float img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  filter:
    drop-shadow(0 0 12px rgba(36,255,36,.32))
    drop-shadow(0 0 24px rgba(162,12,255,.50));
}

@keyframes mainLogoFloat{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-7px); }
}

.hero-kicker{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:var(--green);
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  border:1px solid rgba(36,255,36,.25);
  background:rgba(36,255,36,.06);
  border-radius:999px;
  padding:8px 11px;
  margin-bottom:16px;
  position:relative;
  z-index:2;
}

.hero-kicker i{
  display:block;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--green);
  box-shadow:0 0 14px var(--green);
}

.hero h1{
  font-size:clamp(29px,8vw,56px);
  line-height:.96;
  letter-spacing:-.06em;
  font-weight:900;
  margin-bottom:14px;
  position:relative;
  z-index:2;
}

.hero h1 span{
  color:var(--purple);
  text-shadow:0 0 24px rgba(162,12,255,.50);
}

.hero p{
  color:var(--muted);
  line-height:1.55;
  font-size:15px;
  max-width:620px;
  position:relative;
  z-index:2;
}

.hero-actions{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:18px;
}

@media (min-width:620px){
  .hero-actions{
    grid-template-columns:1.05fr .75fr;
    max-width:520px;
  }
}

.hero-map-btn,
.hero-products-btn{
  min-height:56px;
}

.hero-map-btn{
  position:relative;
  overflow:hidden;
  color:#030303;
  background:
    linear-gradient(135deg,var(--green) 0%,#8cff39 38%,var(--purple) 100%);
  box-shadow:
    0 0 24px rgba(36,255,36,.30),
    0 0 28px rgba(162,12,255,.18),
    0 18px 34px rgba(0,0,0,.38);
}

.hero-map-btn::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.26),transparent);
  transform:translateX(-120%) skewX(-22deg);
  animation:btnSweep 4.2s ease-in-out infinite;
  pointer-events:none;
}

.fortnite-map-section{
  padding:12px 16px 2px;
}

.fortnite-map-card{
  position:relative;
  overflow:hidden;
  display:grid;
  gap:16px;
  align-items:center;
  border-radius:24px;
  border:1px solid rgba(36,255,36,.20);
  background:
    radial-gradient(circle at 8% 0%, rgba(36,255,36,.18), transparent 36%),
    radial-gradient(circle at 95% 10%, rgba(162,12,255,.22), transparent 40%),
    linear-gradient(145deg, rgba(10,12,16,.92), rgba(3,4,6,.78));
  padding:18px;
  box-shadow:
    0 22px 64px rgba(0,0,0,.58),
    0 0 30px rgba(36,255,36,.08),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.fortnite-map-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(36,255,36,.07) 1px,transparent 1px),
    linear-gradient(0deg,rgba(162,12,255,.06) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:radial-gradient(circle at 50% 50%, #000, transparent 72%);
  opacity:.55;
}

.fortnite-map-card::after{
  content:"";
  position:absolute;
  top:-60%;
  right:-18%;
  width:230px;
  height:230px;
  border-radius:999px;
  border:1px solid rgba(36,255,36,.22);
  box-shadow:
    0 0 42px rgba(36,255,36,.10),
    inset 0 0 38px rgba(162,12,255,.14);
  transform:rotate(-18deg);
  pointer-events:none;
}

.map-card-copy,
.map-card-button{
  position:relative;
  z-index:2;
}

.map-kicker{
  display:inline-flex;
  width:max-content;
  margin-bottom:8px;
  padding:7px 10px;
  border-radius:999px;
  color:var(--green);
  border:1px solid rgba(36,255,36,.22);
  background:rgba(36,255,36,.08);
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
}

.map-card-copy h2{
  font-size:clamp(25px,6vw,42px);
  line-height:.98;
  letter-spacing:0;
  margin-bottom:8px;
}

.map-card-copy p{
  color:rgba(255,255,255,.66);
  font-size:14px;
  font-weight:750;
  line-height:1.45;
  max-width:560px;
}

.map-card-button{
  min-height:54px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  color:#050505;
  font-weight:950;
  text-align:center;
  background:linear-gradient(135deg,var(--green),#8cff39 55%,#ffffff);
  box-shadow:
    0 0 24px rgba(36,255,36,.26),
    0 16px 28px rgba(0,0,0,.32);
}

.map-card-button:active{
  transform:scale(.965);
}

@media (min-width:720px){
  .fortnite-map-card{
    grid-template-columns:1fr auto;
    padding:20px 22px;
  }

  .map-card-button{
    min-width:210px;
  }
}

.hero-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:20px;
  position:relative;
  z-index:2;
}

.hero-stat{
  border-radius:18px;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(0,0,0,.28);
  padding:14px 10px;
  text-align:center;
}

.hero-stat strong{
  display:block;
  font-size:18px;
  line-height:1;
}

.hero-stat span{
  display:block;
  margin-top:7px;
  color:var(--muted2);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.13em;
}

.search-panel{
  display:none;
  padding:12px 16px 0;
}

.search-panel.show{
  display:block;
}

.search-box{
  width:100%;
  height:54px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:#fff;
  outline:none;
  padding:0 16px;
  font-size:16px;
  font-weight:700;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
}

.search-box::placeholder{
  color:var(--muted2);
}

/* =========================
   TRUST / SECTION
========================= */

.trust-strip{
  padding:12px 16px 2px;
}

.trust-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}

@media (min-width:700px){
  .trust-grid{
    grid-template-columns:repeat(4,1fr);
  }
}

.trust-pill{
  min-height:72px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px;
  box-shadow:0 16px 36px rgba(0,0,0,.34);
  backdrop-filter:blur(16px);
}

.trust-icon{
  width:40px;
  height:40px;
  border-radius:14px;
  display:grid;
  place-items:center;
  color:var(--green);
  border:1px solid rgba(36,255,36,.25);
  background:rgba(36,255,36,.08);
  box-shadow:0 0 22px rgba(36,255,36,.10);
  font-size:18px;
  flex:0 0 40px;
}

.trust-pill strong{
  display:block;
  font-size:13px;
  line-height:1.1;
  margin-bottom:5px;
}

.trust-pill span{
  display:block;
  color:var(--muted2);
  font-size:11px;
  line-height:1.3;
  font-weight:800;
}

.home-proof-ratings{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}

.home-proof-stat{
  position:relative;
  overflow:hidden;
  min-height:86px;
  border-radius:20px;
  padding:14px;
  border:1px solid rgba(255,255,255,.11);
  background:
    radial-gradient(circle at 0% 0%, rgba(36,255,36,.13), transparent 42%),
    radial-gradient(circle at 100% 0%, rgba(162,12,255,.14), transparent 42%),
    rgba(5,6,8,.72);
  box-shadow:
    0 18px 44px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.07);
}

.home-proof-stat strong{
  display:block;
  color:#fff;
  font-size:clamp(22px,5vw,34px);
  line-height:1;
  font-weight:1000;
  letter-spacing:0;
}

.home-proof-stat span{
  display:block;
  margin-top:8px;
  color:rgba(255,255,255,.62);
  font-size:11px;
  line-height:1.25;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.home-proof-gallery{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}

.home-proof-shot{
  position:relative;
  min-height:124px;
  border:1px solid rgba(36,255,36,.20);
  border-radius:20px;
  overflow:hidden;
  background:#000;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  padding:0;
  box-shadow:0 18px 46px rgba(0,0,0,.46);
}

.home-proof-shot img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.82;
  filter:saturate(1.08) contrast(1.05) brightness(.86);
  transition:transform .24s ease, filter .24s ease, opacity .24s ease;
}

.home-proof-shot span{
  position:absolute;
  left:12px;
  right:12px;
  bottom:12px;
  z-index:2;
  color:#fff;
  font-size:12px;
  line-height:1.05;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.04em;
  text-align:left;
  text-shadow:0 3px 16px rgba(0,0,0,.88);
}

.home-proof-shot::after{
  content:"Tap to view";
  position:absolute;
  right:10px;
  top:10px;
  z-index:2;
  padding:6px 8px;
  border-radius:999px;
  color:var(--green);
  background:rgba(0,0,0,.64);
  border:1px solid rgba(36,255,36,.28);
  font-size:9px;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.home-proof-shot:hover img,
.home-proof-shot:active img{
  transform:scale(1.035);
  opacity:.95;
  filter:saturate(1.18) contrast(1.08) brightness(.96);
}

@media (min-width:760px){
  .home-proof-ratings{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .home-proof-gallery{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
}

.section-head{
  padding:20px 16px 10px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
}

.section-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--green);
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-bottom:8px;
}

.section-kicker::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--green);
  box-shadow:0 0 14px var(--green);
  display:block;
}

.section-title{
  color:#fff;
  font-size:clamp(25px,6vw,42px);
  font-weight:900;
  letter-spacing:-.06em;
  line-height:1;
}

.section-title span{
  color:var(--purple);
  text-shadow:0 0 20px rgba(162,12,255,.50);
}

.section-copy{
  color:var(--muted);
  font-size:14px;
  line-height:1.55;
  max-width:560px;
  margin-top:10px;
}

/* =========================
   PRODUCT CARDS
========================= */

.card-container{
  padding:16px;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));
  gap:18px;
  scroll-margin-top:112px;
}

@media (min-width:820px){
  .card-container{
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    max-width:1180px;
    margin-inline:auto;
  }
}

.product-card,
.bundle-card,
.proof-card,
.vouch-card,
.trust-pill,
.legal-card{
  backdrop-filter:blur(8px);
}

.product-card,
.bundle-card,
.proof-card,
.vouch-card{
  background-color:rgba(3,4,5,.72);
}

.product-card{
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  border-radius:var(--radius);
  border:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(circle at 14% 0%, rgba(162,12,255,.17), transparent 38%),
    radial-gradient(circle at 90% 20%, rgba(36,255,36,.06), transparent 35%),
    linear-gradient(180deg,rgba(255,255,255,.067),rgba(255,255,255,.025));
  box-shadow:var(--shadow);
  padding:18px;
  min-height:100%;
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.product-card.product-card-pulse{
  border-color:rgba(36,255,36,.72);
  box-shadow:
    0 0 0 1px rgba(36,255,36,.28),
    0 0 42px rgba(36,255,36,.26),
    0 28px 80px rgba(0,0,0,.54);
}

.product-card.hidden{
  display:none;
}

.product-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:var(--radius);
  box-shadow:
    inset 0 0 0 1px rgba(162,12,255,.18),
    inset 0 0 55px rgba(162,12,255,.055);
}

.product-card::after,
.vouch-card::after,
.proof-card::after,
.bundle-card::after{
  content:"";
  position:absolute;
  inset:-80px;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 20% 15%, rgba(36,255,36,.18), transparent 24%),
    radial-gradient(circle at 85% 30%, rgba(162,12,255,.18), transparent 28%),
    radial-gradient(circle at 50% 100%, rgba(36,255,36,.09), transparent 35%);
  filter:blur(18px);
  opacity:.85;
  animation:cardGalaxyPulse 5.5s ease-in-out infinite alternate;
}

@keyframes cardGalaxyPulse{
  0%{ opacity:.42; transform:translate3d(-8px,8px,0) scale(1); }
  100%{ opacity:1; transform:translate3d(10px,-10px,0) scale(1.08); }
}

.product-card:hover,
.vouch-card:hover,
.bundle-card:hover{
  transform:translateY(-2px);
}

.product-card:hover,
.vouch-card:hover{
  border-color:rgba(36,255,36,.20);
  box-shadow:
    0 24px 70px rgba(0,0,0,.72),
    0 0 32px rgba(36,255,36,.08),
    0 0 42px rgba(162,12,255,.08);
}

.product-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px;
  position:relative;
  z-index:2;
}

.product-title-wrap{
  min-width:0;
}

.product-eyebrow{
  color:var(--green);
  font-size:10px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-bottom:8px;
}

.card-title{
  color:#fff;
  font-weight:900;
  font-size:22px;
  line-height:1.05;
  letter-spacing:-.04em;
  text-transform:capitalize;
}

.card-title .accent{
  color:var(--purple);
  text-shadow:0 0 16px rgba(162,12,255,.55);
}

.card-icon-shell{
  width:58px;
  height:58px;
  flex:0 0 58px;
  border-radius:19px;
  border:1px solid rgba(255,255,255,.11);
  background:rgba(0,0,0,.36);
  display:grid;
  place-items:center;
  overflow:hidden;
  box-shadow:0 0 30px rgba(162,12,255,.10);
  cursor:pointer;
  padding:0;
}

.card-icon{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.price-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:8px;
  position:relative;
  z-index:2;
}

.current-price{
  font-size:40px;
  font-weight:900;
  letter-spacing:-.07em;
  color:#fff;
}

.old-price{
  font-size:18px;
  color:var(--muted2);
  text-decoration:line-through;
  font-weight:800;
}

.discount-badge{
  color:var(--green);
  background:rgba(36,255,36,.10);
  border:1px solid rgba(36,255,36,.20);
  border-radius:12px;
  padding:7px 9px;
  font-weight:900;
  font-size:12px;
  text-transform:uppercase;
  box-shadow:0 0 20px rgba(36,255,36,.08);
}

.meta-info{
  color:var(--muted);
  font-size:13px;
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:18px;
  flex-wrap:wrap;
  position:relative;
  z-index:2;
}

.meta-info strong{
  color:var(--green);
  font-weight:900;
}

.description-block{
  color:var(--muted);
  font-size:15px;
  line-height:1.55;
  margin-bottom:18px;
  position:relative;
  z-index:2;
}

.preview-wrap{
  position:relative;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:#000;
  overflow:hidden;
  margin-bottom:18px;
  aspect-ratio:16/10;
  box-shadow:0 16px 32px rgba(0,0,0,.45);
  width:100%;
  z-index:2;
}

.preview-image-btn{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  outline:0;
  background:#000;
  cursor:pointer;
  padding:0;
  display:block;
  text-align:left;
}

.preview-img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  opacity:.94;
  transition:transform .35s ease, opacity .35s ease;
}

.preview-image-btn:hover .preview-img,
.preview-image-btn:active .preview-img{
  transform:scale(1.035);
  opacity:1;
}

.preview-wrap::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 42%, transparent 22%, rgba(0,0,0,.24) 100%),
    linear-gradient(180deg,transparent 45%,rgba(0,0,0,.74));
  pointer-events:none;
  z-index:2;
}

.preview-label{
  position:absolute;
  left:12px;
  bottom:12px;
  border-radius:999px;
  padding:7px 10px;
  background:rgba(0,0,0,.58);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(14px);
  color:white;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  z-index:3;
  pointer-events:none;
}

.preview-share{
  position:absolute;
  right:12px;
  bottom:12px;
  width:44px;
  height:44px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(36,255,36,.12);
  border:1px solid rgba(36,255,36,.32);
  color:var(--green);
  box-shadow:0 0 22px rgba(36,255,36,.18);
  z-index:4;
  font-size:18px;
  font-weight:900;
  cursor:pointer;
  backdrop-filter:blur(14px);
}

.feature-checklist{
  list-style:none;
  display:grid;
  gap:10px;
  margin-bottom:18px;
  position:relative;
  z-index:2;
}

.feature-item{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:#ececf0;
  font-size:14px;
  line-height:1.35;
  font-weight:700;
}

.check-icon{
  color:var(--green);
  font-weight:900;
  font-size:17px;
  text-shadow:0 0 14px rgba(36,255,36,.55);
  line-height:1;
}

.button-group-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:10px;
  margin-top:auto;
  position:relative;
  z-index:2;
}

.btn-outline,
.btn-filled{
  min-height:54px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  cursor:pointer;
  border:none;
  font-weight:900;
  font-size:14px;
  text-align:center;
  transition:transform .16s ease, filter .16s ease, box-shadow .16s ease;
}

.btn-outline{
  background:rgba(0,0,0,.32);
  border:1px solid rgba(255,255,255,.13);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}

.btn-outline.green{
  color:var(--green);
  border-color:rgba(36,255,36,.34);
  box-shadow:0 0 20px rgba(36,255,36,.06);
}

.btn-filled{
  width:100%;
  color:#040404;
  background:linear-gradient(135deg,var(--green),#7dff56);
  box-shadow:
    0 0 22px rgba(36,255,36,.32),
    0 15px 28px rgba(0,0,0,.34);
  letter-spacing:.04em;
  text-transform:uppercase;
  position:relative;
  z-index:2;
}

.btn-filled.purple{
  color:white;
  background:linear-gradient(135deg,var(--purple),var(--purple2));
  box-shadow:
    0 0 22px rgba(162,12,255,.32),
    0 15px 28px rgba(0,0,0,.34);
}

.btn-outline:active,
.btn-filled:active,
.preview-share:active{
  transform:scale(.965);
  filter:brightness(1.1);
}

/* =========================
   PAYHIP BUTTON LOADING
========================= */

.payhip-loading{
  pointer-events:none;
  opacity:1;
  position:relative;
  overflow:hidden;
  flex-direction:column;
  gap:8px;
  color:#020202 !important;
}

.payhip-loading-label{
  position:relative;
  z-index:3;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.payhip-loading-bar{
  position:relative;
  z-index:3;
  width:min(220px,78%);
  height:8px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(0,0,0,.24);
  border:1px solid rgba(0,0,0,.18);
  box-shadow:
    inset 0 1px 3px rgba(0,0,0,.35),
    0 0 18px rgba(36,255,36,.28);
}

.payhip-loading-bar i{
  display:block;
  height:100%;
  width:42%;
  border-radius:999px;
  background:linear-gradient(90deg,#051005,var(--green),#b7ff9d,var(--green));
  box-shadow:
    0 0 12px rgba(36,255,36,.85),
    0 0 24px rgba(36,255,36,.45);
  animation:payhipBarMove 1s ease-in-out infinite;
}

.payhip-loading::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    radial-gradient(circle at 20% 50%, rgba(36,255,36,.35), transparent 36%),
    radial-gradient(circle at 80% 50%, rgba(162,12,255,.22), transparent 42%),
    linear-gradient(135deg,var(--green),#7dff56);
  opacity:1;
}

.payhip-loading::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.36),transparent);
  transform:translateX(-130%);
  animation:payhipButtonSweep 1.15s ease-in-out infinite;
}

@keyframes payhipBarMove{
  0%{ transform:translateX(-110%); }
  100%{ transform:translateX(260%); }
}

@keyframes payhipButtonSweep{
  0%{ transform:translateX(-130%) skewX(-22deg); }
  100%{ transform:translateX(130%) skewX(-22deg); }
}

/* =========================
   BUNDLE / PROOF / VOUCHES
========================= */

.premium-section{
  padding:10px 16px 18px;
}

.bundle-card{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  border:1px solid rgba(36,255,36,.24);
  scroll-margin-top:112px;
  background:
    radial-gradient(circle at 0% 0%, rgba(36,255,36,.16), transparent 34%),
    radial-gradient(circle at 100% 0%, rgba(162,12,255,.22), transparent 44%),
    linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
  box-shadow:
    0 28px 80px rgba(0,0,0,.66),
    0 0 40px rgba(36,255,36,.10),
    inset 0 0 0 1px rgba(255,255,255,.04);
  padding:22px;
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.bundle-card::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:linear-gradient(120deg,transparent,rgba(36,255,36,.18),transparent,rgba(162,12,255,.18),transparent);
  opacity:.75;
  transform:translateX(-110%);
  animation:bundleSweep 8s ease-in-out infinite;
  pointer-events:none;
}

@keyframes bundleSweep{
  0%,55%{ transform:translateX(-110%); }
  82%,100%{ transform:translateX(110%); }
}

.bundle-layout{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  align-items:center;
}

@media (min-width:780px){
  .bundle-layout{
    grid-template-columns:1.35fr .85fr;
  }
}

.bundle-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  color:#030303;
  background:linear-gradient(135deg,var(--green),#7dff56);
  border-radius:999px;
  padding:8px 11px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  box-shadow:0 0 24px rgba(36,255,36,.30);
  margin-bottom:14px;
}

.bundle-title{
  font-size:clamp(30px,7vw,54px);
  line-height:.94;
  font-weight:900;
  letter-spacing:-.07em;
  margin-bottom:12px;
}

.bundle-title span{
  color:var(--green);
  text-shadow:0 0 22px rgba(36,255,36,.38);
}

.bundle-preview-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin:16px 0 18px;
  max-width:620px;
}

.bundle-preview-card{
  position:relative;
  overflow:hidden;
  min-height:96px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.12);
  background:#000;
  box-shadow:
    0 16px 30px rgba(0,0,0,.42),
    0 0 20px rgba(36,255,36,.08);
}

.bundle-preview-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(180deg,transparent 35%,rgba(0,0,0,.76)),
    radial-gradient(circle at 50% 0%,rgba(36,255,36,.13),transparent 48%);
  pointer-events:none;
}

.bundle-preview-card img{
  width:100%;
  height:100%;
  min-height:96px;
  object-fit:cover;
  display:block;
  opacity:.92;
  transform:scale(1.01);
}

.bundle-preview-card span{
  position:absolute;
  left:9px;
  right:9px;
  bottom:9px;
  z-index:3;
  color:#fff;
  font-size:10px;
  line-height:1.1;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-shadow:0 2px 10px rgba(0,0,0,.70);
}

.bundle-copy{
  color:var(--muted);
  font-size:15px;
  line-height:1.55;
  margin-bottom:18px;
  max-width:620px;
}

.bundle-includes{
  list-style:none;
  display:grid;
  gap:10px;
  margin-bottom:18px;
}

.bundle-includes li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:#fff;
  font-weight:800;
  line-height:1.35;
  font-size:14px;
}

.bundle-includes i{
  color:var(--green);
  font-style:normal;
  text-shadow:0 0 12px rgba(36,255,36,.55);
}

.bundle-price-box{
  border-radius:24px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.34);
  padding:18px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
}

.bundle-price-label{
  color:var(--muted2);
  font-size:11px;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
  margin-bottom:8px;
}

.bundle-price{
  color:#fff;
  font-size:48px;
  font-weight:900;
  letter-spacing:-.08em;
  line-height:1;
  margin-bottom:4px;
}

.bundle-old{
  color:var(--muted2);
  text-decoration:line-through;
  font-weight:900;
  font-size:18px;
  margin-bottom:14px;
  display:block;
}

.bundle-buttons{
  display:grid;
  gap:10px;
}

.proof-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}

@media (min-width:760px){
  .proof-grid{
    grid-template-columns:1fr 1fr;
  }
}

.proof-card,
.vouch-card{
  border-radius:26px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  box-shadow:0 20px 50px rgba(0,0,0,.48);
  padding:18px;
  overflow:hidden;
  position:relative;
}

.proof-card.after{
  border-color:rgba(36,255,36,.22);
  background:
    radial-gradient(circle at 100% 0%, rgba(36,255,36,.11), transparent 38%),
    rgba(255,255,255,.04);
}

.proof-card.before{
  border-color:rgba(255,74,106,.18);
  background:
    radial-gradient(circle at 0% 0%, rgba(255,74,106,.10), transparent 38%),
    rgba(255,255,255,.035);
}

.proof-card h3{
  font-size:22px;
  font-weight:900;
  letter-spacing:-.04em;
  margin-bottom:14px;
}

.proof-card.after h3 span{
  color:var(--green);
}

.proof-list{
  display:grid;
  gap:10px;
  list-style:none;
}

.proof-list li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:var(--muted);
  font-weight:750;
  line-height:1.42;
  font-size:14px;
}

.proof-list b{
  color:#fff;
}

.proof-bad,
.proof-good{
  width:24px;
  height:24px;
  border-radius:999px;
  flex:0 0 24px;
  display:grid;
  place-items:center;
  font-size:13px;
  font-weight:900;
}

.proof-bad{
  color:var(--danger);
  background:rgba(255,74,106,.10);
  border:1px solid rgba(255,74,106,.20);
}

.proof-good{
  color:var(--green);
  background:rgba(36,255,36,.10);
  border:1px solid rgba(36,255,36,.24);
  box-shadow:0 0 16px rgba(36,255,36,.12);
}

.trust-metric-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:14px;
}

@media (min-width:720px){
  .trust-metric-grid{
    grid-template-columns:repeat(4,1fr);
  }
}

.trust-metric{
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(circle at 50% 0%, rgba(36,255,36,.10), transparent 46%),
    rgba(255,255,255,.04);
  padding:16px;
  box-shadow:0 18px 42px rgba(0,0,0,.42);
  text-align:center;
  overflow:hidden;
  position:relative;
}

.trust-metric strong{
  display:block;
  color:#fff;
  font-size:25px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.05em;
  margin-bottom:7px;
}

.trust-metric span{
  color:var(--muted2);
  font-size:10px;
  line-height:1.25;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.vouch-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}

@media (min-width:780px){
  .vouch-grid{
    grid-template-columns:repeat(3,1fr);
  }
}

.vouch-card{
  min-height:260px;
  border-radius:24px;
  background:
    radial-gradient(circle at 0% 0%, rgba(162,12,255,.13), transparent 42%),
    rgba(255,255,255,.04);
}

.vouch-top{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}

.vouch-avatar{
  width:44px;
  height:44px;
  border-radius:16px;
  display:grid;
  place-items:center;
  color:var(--green);
  background:#050505;
  border:1px solid rgba(36,255,36,.22);
  box-shadow:0 0 22px rgba(36,255,36,.10);
  font-size:18px;
  overflow:hidden;
  padding:0;
}

.vouch-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.vouch-name{
  font-size:14px;
  font-weight:900;
  color:#fff;
  line-height:1.2;
}

.vouch-tag{
  color:var(--muted2);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.10em;
  margin-top:3px;
}

.vouch-stars{
  font-size:15px;
  color:var(--green);
  text-shadow:
    0 0 10px rgba(36,255,36,.65),
    0 0 20px rgba(36,255,36,.25);
  letter-spacing:.07em;
  margin-bottom:10px;
}

.vouch-card p{
  color:#d8dbe3;
  font-size:14px;
  line-height:1.55;
  font-weight:750;
}

.vouch-verified{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:14px;
  color:var(--green);
  font-size:10px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
  border:1px solid rgba(36,255,36,.22);
  background:rgba(36,255,36,.07);
  border-radius:999px;
  padding:7px 9px;
}

.vouch-discord-card{
  margin-top:14px;
  border-radius:24px;
  border:1px solid rgba(126,162,255,.28);
  background:
    radial-gradient(circle at 0% 0%, rgba(126,162,255,.14), transparent 36%),
    radial-gradient(circle at 100% 0%, rgba(36,255,36,.10), transparent 38%),
    rgba(255,255,255,.035);
  box-shadow:0 18px 42px rgba(0,0,0,.46);
  padding:16px;
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  align-items:center;
}

@media (min-width:650px){
  .vouch-discord-card{
    grid-template-columns:1fr auto;
  }
}

.vouch-discord-card strong{
  display:block;
  font-size:17px;
  margin-bottom:5px;
}

.vouch-discord-card span{
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
  font-weight:700;
}

.vouch-discord-link{
  min-height:50px;
  border-radius:999px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  color:var(--blue);
  border:1px solid rgba(126,162,255,.55);
  background:rgba(126,162,255,.08);
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  box-shadow:0 0 24px rgba(126,162,255,.10);
}

/* =========================
   FAQ / LEGAL
========================= */

.faq-accordion{
  display:grid;
  gap:10px;
}

.faq-row{
  border-radius:20px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  overflow:hidden;
  box-shadow:0 14px 34px rgba(0,0,0,.32);
}

.faq-question{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:0;
  background:transparent;
  color:#fff;
  padding:16px;
  cursor:pointer;
  font-size:15px;
  font-weight:900;
  text-align:left;
}

.faq-question span{
  color:var(--green);
  font-size:22px;
  line-height:1;
  transition:transform .2s ease;
}

.faq-row.open .faq-question span{
  transform:rotate(45deg);
}

.faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height .26s ease;
}

.faq-row.open .faq-answer{
  max-height:220px;
}

.faq-answer p{
  padding:0 16px 16px;
  color:var(--muted);
  line-height:1.55;
  font-size:14px;
}

.legal-section{
  padding:4px 16px 18px;
}

.legal-card{
  border-radius:24px;
  border:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(circle at 0% 0%, rgba(36,255,36,.10), transparent 36%),
    radial-gradient(circle at 100% 0%, rgba(162,12,255,.14), transparent 42%),
    rgba(255,255,255,.035);
  box-shadow:0 20px 50px rgba(0,0,0,.52);
  padding:18px;
}

.legal-title{
  font-size:18px;
  font-weight:900;
  letter-spacing:-.03em;
  margin-bottom:8px;
}

.legal-copy{
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
  margin-bottom:14px;
}

.legal-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}

@media (min-width:640px){
  .legal-actions{
    grid-template-columns:repeat(3,1fr);
  }
}

/* =========================
   MODALS
========================= */

#media-modal,
#legal-modal,
#detail-modal{
  display:none;
  position:fixed;
  z-index:999999;
  inset:0;
  width:100vw;
  height:100vh;
  background:rgba(0,0,0,.94);
  backdrop-filter:blur(12px);
  align-items:center;
  justify-content:center;
  padding:22px;
}

#media-modal,
#legal-modal{
  flex-direction:column;
}

#media-modal.show,
#legal-modal.show,
#detail-modal.show{
  display:flex;
}

.modal-title{
  color:white;
  font-size:16px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
  margin-bottom:14px;
  text-align:center;
}

#modal-video,
#modal-img{
  max-width:96%;
  max-height:78%;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:
    0 0 30px rgba(162,12,255,.40),
    0 24px 70px rgba(0,0,0,.70);
  background:#000;
  object-fit:contain;
}

.close-modal{
  position:absolute;
  top:calc(28px + var(--safeTop));
  right:22px;
  width:52px;
  height:52px;
  border-radius:18px;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:34px;
  font-weight:900;
  cursor:pointer;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(16px);
  z-index:3;
}

.detail-card,
.legal-modal-card{
  width:min(860px,100%);
  max-height:84vh;
  overflow:auto;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 0% 0%, rgba(36,255,36,.12), transparent 34%),
    radial-gradient(circle at 100% 0%, rgba(162,12,255,.18), transparent 42%),
    linear-gradient(180deg,#111217,#050506);
  box-shadow:
    0 0 34px rgba(162,12,255,.28),
    0 24px 70px rgba(0,0,0,.72);
  padding:22px;
  position:relative;
}

.legal-modal-card{
  width:min(760px,100%);
}

.detail-head{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
  margin-bottom:16px;
}

@media (min-width:720px){
  .detail-head{
    grid-template-columns:1.1fr .9fr;
  }
}

.detail-title{
  font-size:clamp(30px,7vw,52px);
  line-height:.95;
  letter-spacing:-.07em;
  font-weight:900;
  margin-bottom:10px;
}

.detail-title span{
  color:var(--green);
  text-shadow:0 0 20px rgba(36,255,36,.38);
}

.detail-subtitle{
  color:var(--muted);
  line-height:1.55;
  font-size:15px;
}

.detail-media{
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  background:#000;
  aspect-ratio:16/10;
  box-shadow:0 16px 44px rgba(0,0,0,.45);
}

.detail-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.detail-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin:16px 0;
}

@media (min-width:760px){
  .detail-grid{
    grid-template-columns:repeat(3,1fr);
  }
}

.detail-mini{
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  padding:14px;
}

.detail-mini strong{
  color:#fff;
  display:block;
  font-size:14px;
  margin-bottom:8px;
}

.detail-mini ul{
  padding-left:16px;
  display:grid;
  gap:7px;
}

.detail-mini li{
  color:var(--muted);
  font-size:13px;
  line-height:1.42;
}

.detail-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:14px;
}

@media (min-width:580px){
  .detail-actions{
    grid-template-columns:1fr 1fr;
  }
}

.legal-modal-card h2{
  font-size:26px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.05em;
  margin-bottom:8px;
}

.legal-modal-card h2 span{
  color:var(--green);
  text-shadow:0 0 16px rgba(36,255,36,.42);
}

.legal-updated{
  color:var(--muted2);
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:18px;
}

.legal-content{
  display:grid;
  gap:14px;
  color:var(--muted);
  line-height:1.55;
  font-size:14px;
}

.legal-content h3{
  color:#fff;
  font-size:15px;
  font-weight:900;
  margin-top:4px;
}

.legal-content p,
.legal-content li{
  color:var(--muted);
}

.legal-content ul{
  padding-left:18px;
  display:grid;
  gap:8px;
}

.legal-content strong{
  color:#fff;
}

.faq-item{
  border-radius:18px;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.04);
  padding:14px;
}

.faq-item h3{
  margin-bottom:6px;
}

/* =========================
   CART
========================= */

.drawer-backdrop{
  position:fixed;
  inset:0;
  z-index:99990;
  background:rgba(0,0,0,.58);
  backdrop-filter:blur(7px);
  opacity:0;
  visibility:hidden;
  transition:opacity .24s ease, visibility .24s ease;
}

.drawer-backdrop.show{
  opacity:1;
  visibility:visible;
}

.cart-drawer{
  position:fixed;
  top:0;
  right:0;
  width:min(430px,92vw);
  height:100vh;
  z-index:99991;
  background:
    radial-gradient(circle at 20% 0%, rgba(162,12,255,.20), transparent 35%),
    linear-gradient(180deg,#0b0c10,#050506);
  border-left:1px solid rgba(255,255,255,.12);
  box-shadow:-20px 0 70px rgba(0,0,0,.70);
  transform:translateX(110%);
  transition:transform .32s cubic-bezier(.2,.8,.2,1);
  padding:calc(22px + var(--safeTop)) 16px calc(20px + var(--safeBottom));
  display:flex;
  flex-direction:column;
}

.cart-drawer.show{
  transform:translateX(0);
}

.drawer-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:18px;
}

.drawer-title{
  font-size:24px;
  font-weight:900;
  letter-spacing:-.04em;
}

.drawer-title span{
  color:var(--green);
  text-shadow:0 0 14px rgba(36,255,36,.50);
}

.drawer-close{
  width:44px;
  height:44px;
  border-radius:15px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:#fff;
  font-size:24px;
  font-weight:900;
  cursor:pointer;
}

.cart-list{
  flex:1;
  overflow:auto;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding-right:2px;
}

.cart-empty{
  min-height:270px;
  border:1px dashed rgba(255,255,255,.16);
  border-radius:24px;
  display:grid;
  place-items:center;
  text-align:center;
  color:var(--muted);
  padding:24px;
  line-height:1.5;
}

.cart-item{
  border-radius:20px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.045);
  display:grid;
  grid-template-columns:64px 1fr auto;
  gap:12px;
  padding:12px;
  align-items:center;
}

.cart-item img{
  width:64px;
  height:64px;
  border-radius:15px;
  object-fit:cover;
  background:#000;
}

.cart-item h4{
  font-size:14px;
  line-height:1.2;
  margin-bottom:6px;
}

.cart-item p{
  font-size:13px;
  color:var(--green);
  font-weight:900;
}

.remove-btn{
  width:38px;
  height:38px;
  border-radius:13px;
  border:1px solid rgba(255,74,106,.22);
  background:rgba(255,74,106,.08);
  color:var(--danger);
  font-weight:900;
  cursor:pointer;
}

.drawer-bottom{
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.10);
  display:grid;
  gap:10px;
}

.total-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:var(--muted);
  font-weight:800;
  padding:0 2px 4px;
}

.total-row strong{
  color:#fff;
  font-size:24px;
  letter-spacing:-.04em;
}

.mini-note{
  color:var(--muted2);
  font-size:12px;
  line-height:1.45;
  text-align:center;
}

/* =========================
   SUPPORT WIDGET FIX
========================= */

.support-widget{
  position:fixed !important;
  right:16px !important;
  bottom:calc(224px + var(--safeBottom)) !important;
  z-index:970 !important;
  pointer-events:none !important;
  width:auto !important;
  height:auto !important;
}

.support-fab{
  width:58px;
  height:58px;
  border-radius:20px;
  border:1px solid rgba(36,255,36,.34);
  background:
    radial-gradient(circle at 50% 0%, rgba(36,255,36,.20), transparent 45%),
    rgba(0,0,0,.70);
  color:var(--green);
  display:grid;
  place-items:center;
  cursor:pointer;
  position:relative;
  pointer-events:auto;
  box-shadow:
    0 0 24px rgba(36,255,36,.22),
    0 16px 36px rgba(0,0,0,.55),
    inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(18px);
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.support-fab:active{
  transform:scale(.94);
}

.support-fab-icon{
  width:34px;
  height:34px;
  border-radius:13px;
  display:grid;
  place-items:center;
  color:#030303;
  background:linear-gradient(135deg,var(--green),#7dff56);
  font-size:22px;
  font-weight:900;
  box-shadow:0 0 18px rgba(36,255,36,.45);
  position:relative;
  z-index:2;
}

.support-pulse{
  position:absolute;
  inset:-8px;
  border-radius:25px;
  border:1px solid rgba(36,255,36,.28);
  animation:supportPulse 2.2s ease-in-out infinite;
}

@keyframes supportPulse{
  0%{ opacity:.75; transform:scale(.92); }
  100%{ opacity:0; transform:scale(1.28); }
}

.support-panel{
  position:absolute !important;
  right:0 !important;
  bottom:72px !important;
  width:min(360px,calc(100vw - 32px)) !important;
  max-width:calc(100vw - 32px) !important;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 0% 0%, rgba(36,255,36,.15), transparent 38%),
    radial-gradient(circle at 100% 0%, rgba(162,12,255,.20), transparent 42%),
    linear-gradient(180deg,rgba(14,15,20,.96),rgba(3,4,5,.98));
  box-shadow:
    0 0 34px rgba(36,255,36,.10),
    0 0 42px rgba(162,12,255,.14),
    0 22px 70px rgba(0,0,0,.74);
  padding:16px;
  pointer-events:auto;
  opacity:0;
  transform:translateY(14px) scale(.96);
  visibility:hidden;
  transition:opacity .22s ease, transform .22s ease, visibility .22s ease;
  overflow:hidden;
}

.support-panel::before{
  content:"";
  position:absolute;
  inset:-70px;
  background:
    radial-gradient(circle at 20% 20%, rgba(36,255,36,.18), transparent 25%),
    radial-gradient(circle at 82% 35%, rgba(162,12,255,.22), transparent 30%),
    radial-gradient(circle at 50% 100%, rgba(36,255,36,.10), transparent 40%);
  filter:blur(18px);
  opacity:.82;
  z-index:-1;
  animation:supportAura 5.4s ease-in-out infinite alternate;
}

@keyframes supportAura{
  0%{ transform:translate3d(-8px,8px,0) scale(1); opacity:.55; }
  100%{ transform:translate3d(8px,-8px,0) scale(1.08); opacity:1; }
}

.support-widget.open .support-panel{
  opacity:1 !important;
  transform:translateY(0) scale(1) !important;
  visibility:visible !important;
}

.support-panel-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}

.support-logo-mini{
  width:58px;
  height:42px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.36);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:
    0 0 20px rgba(36,255,36,.10),
    inset 0 1px 0 rgba(255,255,255,.06);
  overflow:hidden;
  flex:0 0 58px;
}

.support-logo-mini img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  filter:
    drop-shadow(0 0 8px rgba(36,255,36,.36))
    drop-shadow(0 0 14px rgba(162,12,255,.44));
}

.support-kicker{
  color:var(--green);
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:4px;
}

.support-panel h3{
  color:#fff;
  font-size:20px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.04em;
}

.support-panel p{
  color:var(--muted);
  font-size:13px;
  line-height:1.48;
  margin-bottom:14px;
}

.support-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.support-action{
  min-height:58px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.045);
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  cursor:pointer;
  text-align:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
  transition:transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.support-action span{
  font-size:18px;
  line-height:1;
}

.support-action strong{
  font-size:11px;
  font-weight:900;
  line-height:1.1;
}

.support-action.green{
  color:var(--green);
  border-color:rgba(36,255,36,.28);
  background:rgba(36,255,36,.07);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 0 18px rgba(36,255,36,.08);
}

.support-action:active{
  transform:scale(.965);
}

.support-action:hover{
  border-color:rgba(36,255,36,.22);
  background:rgba(255,255,255,.065);
}

/* =========================
   INSTALL POPUP FIX
========================= */

.install-popup{
  position:fixed !important;
  inset:0 !important;
  z-index:999998 !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  padding:calc(10px + var(--safeTop)) 10px calc(10px + var(--safeBottom)) !important;
  background:rgba(0,0,0,.72) !important;
  backdrop-filter:blur(14px) !important;
}

.install-popup.show{
  display:flex !important;
}

.install-card{
  width:min(430px,calc(100vw - 22px)) !important;
  max-height:calc(100vh - 28px - var(--safeTop) - var(--safeBottom)) !important;
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch !important;
  border-radius:24px !important;
  border:1px solid rgba(255,255,255,.13);
  background:
    radial-gradient(circle at 15% 0%, rgba(36,255,36,.18), transparent 36%),
    radial-gradient(circle at 85% 0%, rgba(162,12,255,.24), transparent 42%),
    linear-gradient(180deg,rgba(16,17,22,.96),rgba(3,4,5,.98));
  box-shadow:
    0 0 34px rgba(36,255,36,.12),
    0 0 54px rgba(162,12,255,.16),
    0 28px 90px rgba(0,0,0,.82);
  padding:14px !important;
  position:relative;
  overflow-x:hidden !important;
  animation:installPopIn .34s cubic-bezier(.2,.9,.2,1);
}

.install-card::before,
.install-card::after{
  pointer-events:none;
}

@keyframes installPopIn{
  0%{ opacity:0; transform:translateY(18px) scale(.96); }
  100%{ opacity:1; transform:translateY(0) scale(1); }
}

.install-close{
  position:absolute;
  top:10px;
  right:10px;
  width:42px;
  height:42px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:#fff;
  font-size:28px;
  line-height:1;
  font-weight:900;
  cursor:pointer;
  z-index:4;
}

.install-phone-preview{
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  margin:0 auto 8px;
  position:relative;
  min-height:104px;
}

.install-phone-glow{
  position:absolute;
  width:145px;
  height:145px;
  border-radius:50%;
  background:
    radial-gradient(circle at 30% 40%, rgba(36,255,36,.26), transparent 42%),
    radial-gradient(circle at 70% 45%, rgba(162,12,255,.36), transparent 48%);
  filter:blur(19px);
  opacity:.95;
  animation:installPhoneGlow 3.6s ease-in-out infinite alternate;
}

@keyframes installPhoneGlow{
  0%{ opacity:.55; transform:scale(.94); }
  100%{ opacity:1; transform:scale(1.08); }
}

.install-phone{
  width:82px;
  height:114px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.22);
  background:
    linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.03)),
    #050607;
  box-shadow:
    0 0 28px rgba(36,255,36,.14),
    0 0 38px rgba(162,12,255,.18),
    0 22px 46px rgba(0,0,0,.55),
    inset 0 1px 0 rgba(255,255,255,.16);
  position:relative;
  padding:7px;
  z-index:2;
  animation:installPhoneFloat 3.8s ease-in-out infinite;
}

@keyframes installPhoneFloat{
  0%,100%{ transform:translateY(0) rotate(-1deg); }
  50%{ transform:translateY(-7px) rotate(1deg); }
}

.install-phone-notch{
  width:30px;
  height:5px;
  border-radius:999px;
  background:rgba(0,0,0,.80);
  position:absolute;
  top:6px;
  left:50%;
  transform:translateX(-50%);
  z-index:3;
}

.install-phone-screen{
  width:100%;
  height:100%;
  border-radius:17px;
  background:
    radial-gradient(circle at 50% 0%, rgba(162,12,255,.18), transparent 42%),
    radial-gradient(circle at 50% 100%, rgba(36,255,36,.14), transparent 45%),
    linear-gradient(180deg,#08090d,#010101);
  border:1px solid rgba(255,255,255,.08);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:15px 7px 9px;
  overflow:hidden;
  position:relative;
}

.install-app-icon-preview{
  width:46px;
  height:46px;
  border-radius:14px;
  background:
    radial-gradient(circle at 50% 0%, rgba(36,255,36,.12), transparent 45%),
    rgba(0,0,0,.50);
  border:1px solid rgba(255,255,255,.16);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:
    0 0 18px rgba(36,255,36,.16),
    0 0 24px rgba(162,12,255,.18),
    inset 0 1px 0 rgba(255,255,255,.12);
  margin-bottom:6px;
  position:relative;
  z-index:2;
  overflow:hidden;
}

.install-app-icon-preview img{
  width:94%;
  height:94%;
  object-fit:contain;
  display:block;
  filter:
    drop-shadow(0 0 7px rgba(36,255,36,.32))
    drop-shadow(0 0 12px rgba(162,12,255,.48));
}

.install-app-name{
  position:relative;
  z-index:2;
  color:#fff;
  font-size:7px;
  font-weight:900;
  letter-spacing:.04em;
  text-align:center;
  margin-bottom:7px;
}

.install-mini-dock{
  position:absolute;
  left:50%;
  bottom:8px;
  transform:translateX(-50%);
  width:50px;
  height:14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.055);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  backdrop-filter:blur(8px);
}

.install-mini-dock span{
  width:5px;
  height:5px;
  border-radius:50%;
  background:rgba(255,255,255,.22);
}

.install-mini-dock span:nth-child(2){
  background:rgba(36,255,36,.64);
  box-shadow:0 0 8px rgba(36,255,36,.45);
}

.install-kicker{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:var(--green);
  font-size:10px;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
  margin-bottom:8px;
}

.install-kicker span{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--green);
  box-shadow:0 0 14px var(--green);
}

.install-card h2{
  color:#fff;
  text-align:center;
  font-size:clamp(25px,8vw,38px);
  line-height:.96;
  font-weight:900;
  letter-spacing:-.06em;
  margin-bottom:10px;
}

.install-card h2 span{
  color:var(--purple);
  text-shadow:0 0 20px rgba(162,12,255,.58);
}

.install-card p{
  color:var(--muted);
  text-align:center;
  font-size:13px;
  line-height:1.42;
  margin-bottom:12px;
}

.install-steps{
  display:grid;
  gap:8px;
  margin-bottom:10px;
}

.install-step{
  min-height:48px;
  border-radius:17px;
  border:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(circle at 0% 50%, rgba(36,255,36,.065), transparent 42%),
    rgba(255,255,255,.045);
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
}

.install-step strong{
  width:38px;
  height:38px;
  min-width:38px;
  border-radius:13px;
  display:grid;
  place-items:center;
  color:#020202;
  background:linear-gradient(135deg,var(--green),#7dff56);
  box-shadow:0 0 18px rgba(36,255,36,.28);
  flex:0 0 38px;
  font-size:17px;
  font-weight:900;
}

.install-step span{
  color:#fff;
  font-size:13px;
  font-weight:850;
  line-height:1.22;
}

.install-note{
  border-radius:14px;
  border:1px solid rgba(162,12,255,.18);
  background:rgba(162,12,255,.065);
  color:var(--muted);
  font-size:11px;
  line-height:1.35;
  font-weight:750;
  text-align:center;
  padding:8px 10px;
  margin:0 0 10px;
  box-shadow:0 0 18px rgba(162,12,255,.08);
}

.install-note span{
  color:#dcdde5;
}

.install-main-btn,
.install-secondary-btn{
  width:100%;
  min-height:48px;
  border-radius:999px;
  cursor:pointer;
  font-weight:900;
  font-size:13px;
  letter-spacing:.045em;
}

.install-main-btn{
  border:none;
  color:#030303;
  background:linear-gradient(135deg,var(--green),#7dff56);
  box-shadow:
    0 0 24px rgba(36,255,36,.28),
    0 16px 30px rgba(0,0,0,.34);
  margin-bottom:10px;
  text-transform:uppercase;
}

.install-secondary-btn{
  color:#fff;
  background:rgba(0,0,0,.32);
  border:1px solid rgba(255,255,255,.13);
  margin-top:8px;
}

.install-main-btn:active,
.install-secondary-btn:active,
.install-close:active{
  transform:scale(.965);
}

/* =========================
   FOOTER / FLOATERS
========================= */

.floating-footer{
  position:fixed;
  left:0;
  bottom:0;
  width:100%;
  height:calc(92px + var(--safeBottom));
  padding:16px 16px calc(16px + var(--safeBottom));
  z-index:980;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  background:linear-gradient(to top,rgba(0,0,0,.98) 58%,rgba(0,0,0,0));
  pointer-events:none;
}

.btn-discord,
.btn-tiktok{
  pointer-events:auto;
  border-radius:999px;
  min-height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-weight:900;
  background:rgba(0,0,0,.70);
  backdrop-filter:blur(18px);
  box-shadow:0 12px 28px rgba(0,0,0,.42);
  border:none;
  cursor:pointer;
}

.btn-discord{
  color:var(--blue);
  border:2px solid rgba(126,162,255,.85);
}

.btn-tiktok{
  color:var(--green);
  border:2px solid rgba(36,255,36,.80);
}

.floating-share{
  position:fixed;
  right:16px;
  bottom:calc(158px + var(--safeBottom));
  width:52px;
  height:52px;
  border-radius:18px;
  border:1px solid rgba(36,255,36,.30);
  background:rgba(36,255,36,.10);
  color:var(--green);
  display:grid;
  place-items:center;
  cursor:pointer;
  z-index:950;
  box-shadow:0 0 24px rgba(36,255,36,.20);
  backdrop-filter:blur(16px);
  font-size:22px;
}

/* =========================
   TOAST
========================= */

#toast-container{
  position:fixed;
  left:50%;
  transform:translateX(-50%);
  bottom:calc(115px + var(--safeBottom));
  width:calc(100% - 32px);
  max-width:390px;
  z-index:1000000;
  display:flex;
  flex-direction:column;
  gap:10px;
  pointer-events:none;
}

.toast{
  background:rgba(14,15,18,.96);
  border:1px solid rgba(36,255,36,.22);
  color:#fff;
  padding:15px;
  border-radius:18px;
  box-shadow:
    0 15px 35px rgba(0,0,0,.55),
    0 0 24px rgba(36,255,36,.10);
  font-size:14px;
  line-height:1.35;
  opacity:0;
  transform:translateY(18px);
  transition:opacity .25s ease, transform .25s ease;
  pointer-events:auto;
  text-align:center;
}

.toast.show{
  opacity:1;
  transform:translateY(0);
}

.toast strong{
  color:var(--green);
}

.toast-copy-btn{
  width:100%;
  min-height:44px;
  margin-top:12px;
  border:none;
  border-radius:999px;
  color:#050505;
  background:linear-gradient(135deg,var(--green),#7dff56);
  font-weight:900;
  cursor:pointer;
}

/* =========================
   MOBILE FIXES
========================= */

@media (max-width:430px){
  .support-widget{
    right:14px !important;
    bottom:calc(222px + var(--safeBottom)) !important;
  }

  .support-panel{
    width:calc(100vw - 28px) !important;
  }

  .support-actions{
    grid-template-columns:1fr;
  }
}

@media (max-width:420px){
  .bundle-preview-row{
    gap:8px;
  }

  .bundle-preview-card{
    min-height:78px;
    border-radius:17px;
  }

  .bundle-preview-card img{
    min-height:78px;
  }

  .bundle-preview-card span{
    font-size:9px;
    letter-spacing:.09em;
  }
}

@media (max-width:390px){
  .header-main-text{
    font-size:12px;
  }

  .header-actions{
    min-width:98px;
    gap:7px;
  }

  .icon-btn{
    width:39px;
    height:39px;
  }

  .boot-logo-wrap{
    width:min(350px,92vw);
    height:145px;
  }

  .enter-btn{
    min-height:70px;
    font-size:18px;
  }

  .hero-stats,
  .boot-spec-grid{
    grid-template-columns:1fr;
  }

  .header-logo-img-wrap{
    width:78px;
  }

  .header-logo-img{
    width:76px;
  }

  .hero-logo-float{
    width:min(230px,74vw);
    height:88px;
  }
}

@media (max-height:760px){
  .install-card{
    max-height:calc(100vh - 18px - var(--safeTop) - var(--safeBottom)) !important;
    padding:12px !important;
  }

  .install-phone-preview{
    min-height:82px;
    margin-bottom:6px;
  }

  .install-phone{
    width:68px;
    height:94px;
  }

  .install-app-icon-preview{
    width:38px;
    height:38px;
  }

  .install-card h2{
    font-size:25px;
  }

  .install-card p{
    font-size:12px;
    margin-bottom:9px;
  }

  .install-step{
    min-height:43px;
  }

  .install-step strong{
    width:34px;
    height:34px;
    min-width:34px;
    font-size:15px;
  }

  .install-main-btn,
  .install-secondary-btn{
    min-height:44px;
  }
}

@media (prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    animation:none !important;
    transition:none !important;
  }
}
/* =========================
   PREMIUM PRODUCT CARD POLISH
   Safe bottom-only upgrade
========================= */

.product-card{
  transform-style:preserve-3d;
  will-change:transform;
}

.product-card::before{
  z-index:1;
}

.product-card > *{
  position:relative;
  z-index:2;
}

.product-card .preview-wrap,
.product-card .card-icon-shell,
.product-card .btn-filled,
.product-card .btn-outline{
  transform:translateZ(0);
}

.product-card:hover,
.product-card.card-hovered{
  border-color:rgba(36,255,36,.30);
  box-shadow:
    0 28px 84px rgba(0,0,0,.76),
    0 0 38px rgba(36,255,36,.13),
    0 0 54px rgba(162,12,255,.12),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.product-card.card-hovered .preview-img,
.product-card:hover .preview-img{
  transform:scale(1.055);
  opacity:1;
}

.product-card.card-hovered .card-icon-shell,
.product-card:hover .card-icon-shell{
  border-color:rgba(36,255,36,.28);
  box-shadow:
    0 0 26px rgba(36,255,36,.14),
    0 0 38px rgba(162,12,255,.16),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.product-card::after{
  transition:opacity .25s ease, transform .25s ease;
}

.product-card.card-hovered::after,
.product-card:hover::after{
  opacity:1;
  transform:translate3d(12px,-12px,0) scale(1.11);
}

.product-card .price-row::after{
  content:"";
  width:100%;
  height:1px;
  display:block;
  margin-top:10px;
  background:linear-gradient(90deg,transparent,rgba(36,255,36,.24),rgba(162,12,255,.22),transparent);
  opacity:.75;
}

.product-card .discount-badge{
  position:relative;
  overflow:hidden;
}

.product-card .discount-badge::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.22),transparent);
  transform:translateX(-130%) skewX(-22deg);
  animation:badgeSweep 3.4s ease-in-out infinite;
}

@keyframes badgeSweep{
  0%,48%{
    transform:translateX(-130%) skewX(-22deg);
  }

  76%,100%{
    transform:translateX(130%) skewX(-22deg);
  }
}

.product-card .btn-filled{
  overflow:hidden;
}

.product-card .btn-filled::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.28),transparent);
  transform:translateX(-130%) skewX(-22deg);
  animation:premiumButtonSweep 4.2s ease-in-out infinite;
  pointer-events:none;
}

.product-card .btn-filled > *,
.product-card .btn-filled{
  position:relative;
}

@keyframes premiumButtonSweep{
  0%,55%{
    transform:translateX(-130%) skewX(-22deg);
  }

  82%,100%{
    transform:translateX(130%) skewX(-22deg);
  }
}

.preview-wrap::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:
    linear-gradient(90deg,transparent,rgba(36,255,36,.13),transparent),
    repeating-linear-gradient(
      180deg,
      rgba(255,255,255,.025) 0px,
      rgba(255,255,255,.025) 1px,
      transparent 1px,
      transparent 8px
    );
  opacity:.35;
  mix-blend-mode:screen;
}

.product-card.card-hovered .preview-wrap::before,
.product-card:hover .preview-wrap::before{
  opacity:.58;
}

.product-card .feature-item{
  transition:transform .18s ease, color .18s ease;
}

.product-card.card-hovered .feature-item,
.product-card:hover .feature-item{
  color:#fff;
}

.product-card.card-hovered .feature-item:nth-child(1),
.product-card:hover .feature-item:nth-child(1){
  transform:translateX(2px);
}

.product-card.card-hovered .feature-item:nth-child(2),
.product-card:hover .feature-item:nth-child(2){
  transform:translateX(4px);
}

.product-card.card-hovered .feature-item:nth-child(3),
.product-card:hover .feature-item:nth-child(3){
  transform:translateX(3px);
}

.product-card.card-hovered .feature-item:nth-child(4),
.product-card:hover .feature-item:nth-child(4){
  transform:translateX(5px);
}

.check-icon{
  transition:transform .18s ease, text-shadow .18s ease;
}

.product-card.card-hovered .check-icon,
.product-card:hover .check-icon{
  transform:scale(1.08);
  text-shadow:
    0 0 12px rgba(36,255,36,.75),
    0 0 24px rgba(36,255,36,.35);
}

@media (hover:none){
  .product-card:active{
    transform:scale(.992);
    border-color:rgba(36,255,36,.24);
    box-shadow:
      0 24px 70px rgba(0,0,0,.72),
      0 0 32px rgba(36,255,36,.10),
      0 0 42px rgba(162,12,255,.10);
  }
}

@media (prefers-reduced-motion:reduce){
  .product-card,
  .product-card *,
  .product-card::before,
  .product-card::after{
    animation:none !important;
    transition:none !important;
  }
}
/* =========================
   EMX PRO COMMAND DOCK
   Safe bottom-block upgrade
========================= */

.pro-command-dock{
  position:fixed;
  left:50%;
  bottom:calc(96px + var(--safeBottom));
  transform:translateX(-50%);
  width:min(520px,calc(100vw - 24px));
  min-height:72px;
  z-index:965;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:7px;
  padding:9px;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.13);
  background:
    radial-gradient(circle at 12% 0%, rgba(36,255,36,.14), transparent 42%),
    radial-gradient(circle at 88% 0%, rgba(162,12,255,.20), transparent 45%),
    rgba(4,5,7,.78);
  backdrop-filter:blur(22px);
  box-shadow:
    0 0 32px rgba(36,255,36,.10),
    0 0 42px rgba(162,12,255,.13),
    0 20px 58px rgba(0,0,0,.72),
    inset 0 1px 0 rgba(255,255,255,.08);
  overflow:hidden;
}

.pro-command-dock::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(120deg,transparent,rgba(255,255,255,.08),transparent);
  transform:translateX(-120%) skewX(-22deg);
  animation:dockSweep 5.5s ease-in-out infinite;
}

.pro-command-dock::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--green),var(--purple),transparent);
  opacity:.85;
  box-shadow:
    0 0 12px rgba(36,255,36,.50),
    0 0 16px rgba(162,12,255,.40);
}

@keyframes dockSweep{
  0%,58%{
    transform:translateX(-120%) skewX(-22deg);
  }

  82%,100%{
    transform:translateX(120%) skewX(-22deg);
  }
}

.dock-command{
  min-width:0;
  min-height:54px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.08), transparent 46%),
    rgba(255,255,255,.045);
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  cursor:pointer;
  position:relative;
  z-index:2;
  overflow:hidden;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 10px 22px rgba(0,0,0,.26);
  transition:
    transform .17s ease,
    border-color .17s ease,
    background .17s ease,
    box-shadow .17s ease;
}

.dock-command::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 30%, rgba(36,255,36,.18), transparent 48%);
  transition:opacity .17s ease;
}

.dock-command:active{
  transform:scale(.94) translateY(1px);
}

.dock-command:hover,
.dock-command:focus-visible{
  border-color:rgba(36,255,36,.30);
  background:rgba(36,255,36,.07);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 0 20px rgba(36,255,36,.10),
    0 10px 24px rgba(0,0,0,.34);
}

.dock-command:hover::before,
.dock-command:focus-visible::before{
  opacity:1;
}

.dock-main{
  border-color:rgba(36,255,36,.36);
  background:
    radial-gradient(circle at 50% 0%, rgba(36,255,36,.22), transparent 48%),
    rgba(36,255,36,.10);
  box-shadow:
    0 0 24px rgba(36,255,36,.18),
    inset 0 1px 0 rgba(255,255,255,.10);
}

.dock-main .dock-icon{
  color:#050505;
  background:linear-gradient(135deg,var(--green),#7dff56);
  box-shadow:
    0 0 16px rgba(36,255,36,.55),
    0 0 26px rgba(36,255,36,.22);
}

.dock-map{
  border-color:rgba(162,12,255,.34);
  background:
    radial-gradient(circle at 50% 0%, rgba(162,12,255,.24), transparent 48%),
    rgba(162,12,255,.08);
}

.dock-map .dock-icon{
  color:#fff;
  background:linear-gradient(135deg,var(--purple),var(--green));
  box-shadow:
    0 0 16px rgba(162,12,255,.48),
    0 0 22px rgba(36,255,36,.18);
}

.dock-icon{
  width:28px;
  height:28px;
  border-radius:11px;
  display:grid;
  place-items:center;
  color:var(--green);
  background:rgba(0,0,0,.36);
  border:1px solid rgba(255,255,255,.09);
  font-size:15px;
  font-weight:900;
  line-height:1;
  text-shadow:0 0 10px rgba(36,255,36,.45);
}

.dock-label{
  color:#dfe3ea;
  font-size:9px;
  line-height:1;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.dock-command.dock-pulse{
  animation:dockPulse .46s ease;
}

@keyframes dockPulse{
  0%{
    transform:scale(.95);
    box-shadow:0 0 0 rgba(36,255,36,0);
  }

  55%{
    transform:scale(1.04);
    box-shadow:
      0 0 24px rgba(36,255,36,.34),
      0 0 44px rgba(162,12,255,.18);
  }

  100%{
    transform:scale(1);
  }
}

@media (max-width:390px){
  .pro-command-dock{
    width:calc(100vw - 18px);
    gap:5px;
    padding:8px;
    border-radius:23px;
  }

  .dock-command{
    min-height:50px;
    border-radius:16px;
  }

  .dock-icon{
    width:25px;
    height:25px;
    border-radius:10px;
    font-size:13px;
  }

  .dock-label{
    font-size:8px;
    letter-spacing:.06em;
  }
}
/* =========================
   EMX PRODUCT POWER METERS
   Safe bottom-block upgrade
========================= */

.power-meter-panel{
  position:relative;
  z-index:2;
  margin:-3px 0 18px;
  padding:14px;
  border-radius:20px;
  border:1px solid rgba(36,255,36,.18);
  background:
    radial-gradient(circle at 0% 0%, rgba(36,255,36,.10), transparent 42%),
    radial-gradient(circle at 100% 0%, rgba(162,12,255,.13), transparent 42%),
    rgba(0,0,0,.28);
  box-shadow:
    0 0 24px rgba(36,255,36,.07),
    inset 0 1px 0 rgba(255,255,255,.07);
  overflow:hidden;
}

.power-meter-panel::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(120deg,transparent,rgba(255,255,255,.075),transparent);
  transform:translateX(-120%) skewX(-22deg);
  animation:powerPanelSweep 5.2s ease-in-out infinite;
}

.power-meter-panel::after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--green),var(--purple),transparent);
  opacity:.75;
  box-shadow:
    0 0 12px rgba(36,255,36,.42),
    0 0 14px rgba(162,12,255,.32);
}

@keyframes powerPanelSweep{
  0%,58%{
    transform:translateX(-120%) skewX(-22deg);
  }

  82%,100%{
    transform:translateX(120%) skewX(-22deg);
  }
}

.power-meter-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:12px;
  position:relative;
  z-index:2;
}

.power-meter-head span{
  color:var(--green);
  font-size:10px;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
  text-shadow:0 0 12px rgba(36,255,36,.42);
}

.power-meter-head strong{
  color:var(--muted2);
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-align:right;
}

.power-meter-grid{
  display:grid;
  gap:10px;
  position:relative;
  z-index:2;
}

.power-meter-row{
  display:grid;
  gap:6px;
}

.power-meter-label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.power-meter-label span{
  color:#e8ebf2;
  font-size:12px;
  font-weight:850;
  letter-spacing:.02em;
}

.power-meter-label strong{
  color:#fff;
  font-size:11px;
  font-weight:900;
  text-shadow:0 0 12px rgba(36,255,36,.38);
}

.power-meter-track{
  width:100%;
  height:8px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.075);
  border:1px solid rgba(255,255,255,.07);
  box-shadow:
    inset 0 1px 2px rgba(0,0,0,.45),
    0 0 12px rgba(36,255,36,.05);
}

.power-meter-track i{
  display:block;
  width:0%;
  height:100%;
  border-radius:999px;
  background:
    linear-gradient(90deg,var(--green),#7dff56,var(--purple));
  box-shadow:
    0 0 12px rgba(36,255,36,.78),
    0 0 20px rgba(162,12,255,.34);
  animation:powerMeterLoad 1.25s cubic-bezier(.2,.8,.2,1) forwards;
}

.product-card:nth-child(1) .power-meter-track i{
  animation-delay:.10s;
}

.product-card:nth-child(2) .power-meter-track i{
  animation-delay:.20s;
}

.product-card:nth-child(3) .power-meter-track i{
  animation-delay:.30s;
}

@keyframes powerMeterLoad{
  from{
    width:0%;
  }

  to{
    width:var(--power);
  }
}

.power-meter-row:nth-child(2) .power-meter-track i{
  filter:hue-rotate(18deg);
}

.power-meter-row:nth-child(3) .power-meter-track i{
  filter:hue-rotate(34deg);
}

.power-meter-row:nth-child(4) .power-meter-track i{
  filter:hue-rotate(48deg);
}

@media (max-width:390px){
  .power-meter-panel{
    padding:12px;
    border-radius:18px;
  }

  .power-meter-head{
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
  }

  .power-meter-head strong{
    text-align:left;
  }
}
/* =========================
   EMX TAP PARTICLE SPARKS
   Safe bottom-block upgrade
========================= */

#tapParticleLayer{
  position:fixed;
  inset:0;
  width:100vw;
  height:100vh;
  pointer-events:none;
  z-index:100000000;
  overflow:hidden;
}

.tap-particle{
  position:fixed;
  display:block;
  border-radius:999px;
  pointer-events:none;
  transform:translate(-50%,-50%) scale(.6);
  background:var(--green);
  box-shadow:
    0 0 10px rgba(36,255,36,.95),
    0 0 22px rgba(36,255,36,.42);
  animation:tapParticleFly .78s cubic-bezier(.12,.82,.18,1) var(--delay) forwards;
}

.tap-particle.purple{
  background:var(--purple);
  box-shadow:
    0 0 10px rgba(162,12,255,.95),
    0 0 22px rgba(162,12,255,.42);
}

.tap-particle.white{
  background:#fff;
  box-shadow:
    0 0 10px rgba(255,255,255,.95),
    0 0 22px rgba(36,255,36,.30);
}

@keyframes tapParticleFly{
  0%{
    opacity:0;
    transform:translate(-50%,-50%) scale(.35);
    filter:blur(0);
  }

  12%{
    opacity:1;
  }

  72%{
    opacity:.9;
    transform:
      translate(calc(-50% + var(--tx)), calc(-50% + var(--ty)))
      scale(1);
    filter:blur(0);
  }

  100%{
    opacity:0;
    transform:
      translate(calc(-50% + var(--tx)), calc(-50% + var(--ty) + 18px))
      scale(.15);
    filter:blur(2px);
  }
}

.tap-ring{
  position:fixed;
  width:12px;
  height:12px;
  left:0;
  top:0;
  border-radius:999px;
  pointer-events:none;
  transform:translate(-50%,-50%) scale(.65);
  border:1px solid rgba(36,255,36,.78);
  box-shadow:
    0 0 12px rgba(36,255,36,.55),
    inset 0 0 10px rgba(162,12,255,.22);
  animation:tapRingPulse .58s cubic-bezier(.15,.8,.25,1) forwards;
}

.tap-ring::before{
  content:"";
  position:absolute;
  inset:-7px;
  border-radius:inherit;
  border:1px solid rgba(162,12,255,.45);
  box-shadow:0 0 18px rgba(162,12,255,.28);
}

@keyframes tapRingPulse{
  0%{
    opacity:0;
    transform:translate(-50%,-50%) scale(.35);
  }

  18%{
    opacity:1;
  }

  100%{
    opacity:0;
    transform:translate(-50%,-50%) scale(5.4);
  }
}

@media (prefers-reduced-motion:reduce){
  #tapParticleLayer,
  .tap-particle,
  .tap-ring{
    display:none !important;
  }
}
/* =========================
   EMX SCROLL REVEAL GLOW
   Safe bottom-block upgrade
========================= */

.emx-reveal {
  opacity: 0;
  transform: translateY(26px) scale(.985);
  filter: blur(7px);
  transition:
    opacity .72s cubic-bezier(.2, .8, .2, 1),
    transform .72s cubic-bezier(.2, .8, .2, 1),
    filter .72s cubic-bezier(.2, .8, .2, 1),
    box-shadow .72s cubic-bezier(.2, .8, .2, 1);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform, filter;
}

.emx-reveal.revealed {
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
}

.product-card.emx-reveal.revealed,
.bundle-card.emx-reveal.revealed,
.proof-card.emx-reveal.revealed,
.vouch-card.emx-reveal.revealed,
.legal-card.emx-reveal.revealed {
  box-shadow:
    0 24px 70px rgba(0, 0, 0, .72),
    0 0 28px rgba(36, 255, 36, .08),
    0 0 34px rgba(162, 12, 255, .07);
}

.trust-pill.emx-reveal.revealed,
.trust-metric.emx-reveal.revealed,
.faq-row.emx-reveal.revealed {
  box-shadow:
    0 18px 42px rgba(0, 0, 0, .45),
    0 0 22px rgba(36, 255, 36, .055);
}

.section-head.emx-reveal {
  transform: translateY(18px);
}

.section-head.emx-reveal.revealed {
  transform: translateY(0);
}

.hero-card.emx-reveal {
  transform: translateY(18px) scale(.98);
}

.hero-card.emx-reveal.revealed {
  transform: translateY(0) scale(1);
}

@media (prefers-reduced-motion:reduce) {
  .emx-reveal {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
}
/* =========================
   EMX PREVIEW MODAL UPGRADE
   Next / Previous Controls
========================= */

.preview-nav-btn{
  position:fixed;
  top:50%;
  transform:translateY(-50%);
  width:58px;
  height:72px;
  border-radius:22px;
  border:1px solid rgba(36,255,36,.28);
  background:
    radial-gradient(circle at 50% 0%, rgba(36,255,36,.18), transparent 45%),
    rgba(0,0,0,.62);
  color:var(--green);
  display:grid;
  place-items:center;
  cursor:pointer;
  z-index:1000002;
  font-size:54px;
  line-height:1;
  font-weight:800;
  box-shadow:
    0 0 24px rgba(36,255,36,.18),
    0 16px 42px rgba(0,0,0,.55),
    inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(18px);
  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    background .18s ease;
}

.preview-nav-btn:hover{
  border-color:rgba(36,255,36,.55);
  box-shadow:
    0 0 28px rgba(36,255,36,.30),
    0 0 38px rgba(162,12,255,.16),
    0 16px 42px rgba(0,0,0,.55);
}

.preview-nav-btn:active{
  transform:translateY(-50%) scale(.94);
}

.preview-prev{
  left:18px;
}

.preview-next{
  right:18px;
}

.preview-counter{
  position:fixed;
  left:50%;
  bottom:calc(34px + var(--safeBottom));
  transform:translateX(-50%);
  z-index:1000002;
  min-width:78px;
  height:38px;
  padding:0 15px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 50% 0%, rgba(162,12,255,.18), transparent 45%),
    rgba(0,0,0,.68);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  box-shadow:
    0 0 22px rgba(162,12,255,.18),
    0 12px 28px rgba(0,0,0,.45),
    inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(16px);
}

#media-modal:not(.show) .preview-nav-btn,
#media-modal:not(.show) .preview-counter{
  display:none;
}

#media-modal.show .preview-nav-btn,
#media-modal.show .preview-counter{
  display:flex;
}

#media-modal.show .preview-nav-btn{
  display:grid;
}

@media (max-width:520px){
  .preview-nav-btn{
    width:46px;
    height:58px;
    border-radius:18px;
    font-size:42px;
  }

  .preview-prev{
    left:10px;
  }

  .preview-next{
    right:10px;
  }

  .preview-counter{
    bottom:calc(24px + var(--safeBottom));
  }

  #modal-video,
  #modal-img{
    max-width:88%;
    max-height:72%;
  }
}

@media (prefers-reduced-motion:reduce){
  .preview-nav-btn,
  .preview-counter{
    transition:none !important;
  }
}
/* =========================================================
   EMX SECURE PAYHIP LOADING SCREEN
   Bottom-safe checkout upgrade
========================================================= */

.emx-pay-loading{
  position:fixed;
  inset:0;
  width:100vw;
  height:100vh;
  z-index:10000080;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:
    radial-gradient(circle at 50% 24%, rgba(36,255,36,.18), transparent 34%),
    radial-gradient(circle at 50% 76%, rgba(162,12,255,.24), transparent 42%),
    linear-gradient(180deg,#020204 0%,#050507 48%,#000 100%);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  overflow:hidden;
  transition:
    opacity .36s ease,
    visibility .36s ease,
    transform .48s ease;
}

.emx-pay-loading.show{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.emx-pay-loading.exit{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:scale(1.025);
}

#payLoadingGalaxy{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
  opacity:.92;
  z-index:-5;
}

.emx-pay-core{
  width:min(420px,92vw);
  min-height:440px;
  border-radius:34px;
  border:1px solid rgba(255,255,255,.13);
  background:
    radial-gradient(circle at 15% 0%, rgba(36,255,36,.13), transparent 38%),
    radial-gradient(circle at 85% 0%, rgba(162,12,255,.20), transparent 42%),
    linear-gradient(180deg,rgba(16,17,22,.74),rgba(3,4,5,.88));
  box-shadow:
    0 0 42px rgba(36,255,36,.13),
    0 0 56px rgba(162,12,255,.18),
    0 28px 90px rgba(0,0,0,.82),
    inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(18px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:26px 20px;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  transform:translateY(18px) scale(.97);
  transition:transform .42s cubic-bezier(.2,.8,.2,1);
}

.emx-pay-loading.show .emx-pay-core{
  transform:translateY(0) scale(1);
}

.emx-pay-core::before{
  content:"";
  position:absolute;
  inset:-80px;
  z-index:-2;
  background:
    radial-gradient(circle at 20% 15%, rgba(36,255,36,.20), transparent 25%),
    radial-gradient(circle at 82% 22%, rgba(162,12,255,.26), transparent 30%),
    radial-gradient(circle at 50% 100%, rgba(36,255,36,.10), transparent 38%);
  filter:blur(18px);
  opacity:.85;
  animation:emxPayAura 4.6s ease-in-out infinite alternate;
}

.emx-pay-core::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.09),transparent);
  transform:translateX(-130%) skewX(-22deg);
  animation:emxPaySweep 3.4s ease-in-out infinite;
  pointer-events:none;
}

@keyframes emxPayAura{
  0%{
    opacity:.48;
    transform:translate3d(-10px,10px,0) scale(1);
  }

  100%{
    opacity:1;
    transform:translate3d(10px,-10px,0) scale(1.08);
  }
}

@keyframes emxPaySweep{
  0%,48%{
    transform:translateX(-130%) skewX(-22deg);
  }

  78%,100%{
    transform:translateX(130%) skewX(-22deg);
  }
}

.emx-pay-ring{
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}

.pay-ring-one{
  width:275px;
  height:275px;
  border:1px solid rgba(36,255,36,.21);
  box-shadow:
    0 0 34px rgba(36,255,36,.14),
    inset 0 0 40px rgba(36,255,36,.05);
  animation:emxPaySpin 7s linear infinite;
}

.pay-ring-two{
  width:220px;
  height:220px;
  border:1px solid rgba(162,12,255,.28);
  box-shadow:
    0 0 38px rgba(162,12,255,.16),
    inset 0 0 36px rgba(162,12,255,.05);
  animation:emxPaySpinReverse 5.8s linear infinite;
}

@keyframes emxPaySpin{
  to{
    transform:rotate(360deg);
  }
}

@keyframes emxPaySpinReverse{
  to{
    transform:rotate(-360deg);
  }
}

.emx-pay-logo-wrap{
  width:132px;
  height:132px;
  border-radius:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at 50% 0%, rgba(36,255,36,.13), transparent 42%),
    radial-gradient(circle at 50% 100%, rgba(162,12,255,.16), transparent 44%),
    rgba(0,0,0,.45);
  border:1px solid rgba(255,255,255,.13);
  box-shadow:
    0 0 28px rgba(36,255,36,.24),
    0 0 54px rgba(162,12,255,.34),
    0 24px 60px rgba(0,0,0,.62),
    inset 0 1px 0 rgba(255,255,255,.12);
  overflow:hidden;
  position:relative;
  z-index:3;
  animation:emxPayLogoFloat 2.9s ease-in-out infinite;
}

.emx-pay-logo{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  filter:
    drop-shadow(0 0 12px rgba(36,255,36,.62))
    drop-shadow(0 0 22px rgba(162,12,255,.70));
}

@keyframes emxPayLogoFloat{
  0%,100%{
    transform:translateY(0) scale(1);
  }

  50%{
    transform:translateY(-8px) scale(1.025);
  }
}

.emx-pay-kicker{
  margin-top:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:var(--green);
  font-size:10px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.emx-pay-kicker span{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--green);
  box-shadow:0 0 14px var(--green);
}

.emx-pay-core h2{
  margin-top:10px;
  color:#fff;
  font-size:clamp(28px,8vw,42px);
  line-height:.96;
  letter-spacing:-.07em;
  font-weight:900;
}

.emx-pay-core h2 span{
  color:var(--purple);
  text-shadow:0 0 22px rgba(162,12,255,.58);
}

.emx-pay-core p{
  margin-top:12px;
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
  font-weight:800;
  min-height:20px;
}

.emx-pay-bar{
  width:min(280px,78vw);
  height:9px;
  border-radius:999px;
  margin-top:18px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.11);
  overflow:hidden;
  box-shadow:
    0 0 18px rgba(36,255,36,.12),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.emx-pay-bar span{
  display:block;
  width:0%;
  height:100%;
  border-radius:999px;
  background:
    linear-gradient(90deg,var(--green),#7dff56,var(--purple));
  box-shadow:
    0 0 18px rgba(36,255,36,.72),
    0 0 28px rgba(162,12,255,.40);
  transition:width .32s cubic-bezier(.2,.8,.2,1);
}

.emx-pay-steps{
  width:100%;
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin-top:18px;
}

.emx-pay-step{
  min-height:34px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--muted2);
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  transition:
    color .24s ease,
    border-color .24s ease,
    background .24s ease,
    box-shadow .24s ease;
}

.emx-pay-step.active{
  color:var(--green);
  border-color:rgba(36,255,36,.34);
  background:rgba(36,255,36,.08);
  box-shadow:0 0 20px rgba(36,255,36,.11);
}

.emx-pay-step.done{
  color:#fff;
  border-color:rgba(255,255,255,.14);
  background:rgba(255,255,255,.07);
}

.emx-pay-note{
  margin-top:14px;
  color:var(--muted2);
  font-size:11px;
  line-height:1.4;
  font-weight:800;
}

@media (min-width:480px){
  .emx-pay-steps{
    grid-template-columns:repeat(3,1fr);
  }
}

@media (max-height:720px){
  .emx-pay-core{
    min-height:390px;
    padding:20px 16px;
  }

  .emx-pay-logo-wrap{
    width:108px;
    height:108px;
    border-radius:28px;
  }

  .pay-ring-one{
    width:238px;
    height:238px;
  }

  .pay-ring-two{
    width:190px;
    height:190px;
  }

  .emx-pay-core h2{
    font-size:28px;
  }

  .emx-pay-step{
    min-height:30px;
  }
}

@media (prefers-reduced-motion:reduce){
  .emx-pay-loading,
  .emx-pay-core,
  .emx-pay-core::before,
  .emx-pay-core::after,
  .emx-pay-ring,
  .emx-pay-logo-wrap,
  .emx-pay-bar span,
  .emx-pay-step{
    animation:none !important;
    transition:none !important;
  }
}
.product-gallery-row {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 4px 2px 12px;
  margin: -4px 0 14px;
  scrollbar-width: none;
}

.product-gallery-row::-webkit-scrollbar {
  display: none;
}

.gallery-thumb-btn {
  flex: 0 0 auto;
  width: 92px;
  height: 64px;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, .14);
  background: rgba(0, 0, 0, .35);
  padding: 0;
  overflow: hidden;
  box-shadow: 0 0 18px rgba(36, 255, 36, .08);
}

.gallery-thumb-btn img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.media-library-panel {
  margin: 28px auto;
  padding: 24px;
  border-radius: 28px;
  border: 1px solid rgba(255, 255, 255, .14);
  background: linear-gradient(145deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .035));
  box-shadow: 0 18px 55px rgba(0, 0, 0, .38), inset 0 1px 0 rgba(255, 255, 255, .08);
}

.media-library-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
}

.media-library-head h2 {
  margin: 0;
  color: #fff;
  font-size: 34px;
  letter-spacing: -.04em;
}

.media-library-head p {
  margin: 6px 0 0;
  color: rgba(255, 255, 255, .62);
  font-size: 16px;
}

.admin-btn.small {
  width: auto;
  min-height: 46px;
  padding: 0 18px;
  border-radius: 16px;
  font-size: 15px;
}

.media-library-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.media-empty {
  grid-column: 1 / -1;
  padding: 22px;
  border-radius: 20px;
  border: 1px dashed rgba(255, 255, 255, .18);
  color: rgba(255, 255, 255, .6);
  text-align: center;
  font-weight: 800;
}

.media-tile {
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid rgba(255, 255, 255, .14);
  background: rgba(0, 0, 0, .45);
  box-shadow: 0 10px 25px rgba(0, 0, 0, .25);
}

.media-thumb {
  position: relative;
  height: 120px;
  background: #050505;
  overflow: hidden;
}

.media-thumb img,
.media-thumb video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.media-type {
  position: absolute;
  top: 8px;
  left: 8px;
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(31, 255, 31, .88);
  color: #000;
  font-size: 11px;
  font-weight: 1000;
  letter-spacing: .08em;
}

.media-name {
  padding: 10px 10px 0;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.media-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  padding: 10px;
}

.media-actions button {
  border: 0;
  min-height: 36px;
  border-radius: 12px;
  background: rgba(255, 255, 255, .1);
  color: #fff;
  font-weight: 1000;
  font-size: 12px;
}

.media-actions button:nth-child(1),
.media-actions button:nth-child(2),
.media-actions button:nth-child(3) {
  background: rgba(31, 255, 31, .9);
  color: #000;
}

.media-actions button.danger {
  background: rgba(255, 60, 90, .18);
  color: #ff9aaa;
  border: 1px solid rgba(255, 60, 90, .35);
}

@media (min-width:720px) {
  .media-library-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
/* ADMIN MOBILE WIDTH FIX — prevents Blob URLs from zooming the whole page out */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

#adminApp,
.admin-app,
.admin-shell,
.edit-panel,
.product-editor,
.media-library-panel,
.card,
.panel {
  max-width: 100%;
  overflow-x: hidden;
}

input,
textarea,
select {
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  overflow: hidden;
  text-overflow: ellipsis;
}

textarea {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
}

input {
  white-space: nowrap;
}

.media-library-panel {
  max-width: 100%;
  overflow: hidden;
}

.media-library-grid {
  max-width: 100%;
}

.media-tile {
  min-width: 0;
}

.media-name {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.upload-btn,
.admin-btn {
  max-width: 100%;
}
/* HARD FIX: stop Blob URLs from stretching admin on mobile */
* {
  box-sizing: border-box !important;
}

html,
body {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

body {
  position: relative !important;
}

#adminApp,
#loginBox,
.admin-panel,
.admin-card,
.editor-card,
.product-editor,
.media-library-panel,
.preview-card,
section,
form,
label,
.field,
.input-wrap {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
}

/* exact admin fields */
#imageField,
#galleryField,
#previewSrcField,
#fallbackField,
#urlField,
#descriptionField,
#featuresField,
input,
textarea,
select {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* long Blob URLs stay inside fields instead of stretching page */
#imageField,
#previewSrcField,
#fallbackField,
#urlField,
input {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* gallery/textarea Blob URLs wrap */
#galleryField,
textarea {
  white-space: pre-wrap !important;
  overflow-wrap: anywhere !important;
  word-break: break-all !important;
  overflow-x: hidden !important;
  resize: vertical !important;
}

/* buttons stop pushing off-screen */
button,
.admin-btn,
.upload-btn {
  max-width: 100% !important;
  min-width: 0 !important;
  white-space: normal !important;
}

/* thumbnails/media library cannot widen page */
.gallery-preview-row,
.gallery-preview-grid,
.media-library-grid,
.media-tile,
.media-thumb {
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
/* FINAL ADMIN OVERFLOW FIX */
#galleryField {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  white-space: pre-wrap !important;
  overflow-wrap: anywhere !important;
  word-break: break-all !important;
}

.gallery-preview-row,
.gallery-preview-grid,
.gallery-row,
.gallery-thumbs,
.product-gallery-row {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  display: flex !important;
  flex-wrap: nowrap !important;
}

.gallery-preview-row>*,
.gallery-preview-grid>*,
.gallery-row>*,
.gallery-thumbs>*,
.product-gallery-row>* {
  flex: 0 0 auto !important;
  max-width: 150px !important;
}

.media-library-panel,
#mediaLibraryPanel {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

.media-library-grid {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

.media-tile {
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.media-actions {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
/* EMX ADMIN DOCK */
body {
  padding-bottom: 150px !important;
}

#adminTabBar {
  position: fixed !important;
  left: 12px !important;
  right: 12px !important;
  bottom: 18px !important;
  z-index: 999999 !important;
  
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 7px !important;
  
  padding: 9px !important;
  border-radius: 28px !important;
  border: 1px solid rgba(31, 255, 31, .28) !important;
  background: rgba(0, 0, 0, .76) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  box-shadow:
    0 0 34px rgba(31, 255, 31, .16),
    0 20px 60px rgba(0, 0, 0, .55),
    inset 0 1px 0 rgba(255, 255, 255, .08) !important;
}

#adminTabBar button {
  min-width: 0 !important;
  min-height: 58px !important;
  border: 1px solid rgba(255, 255, 255, .11) !important;
  border-radius: 20px !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, .10), rgba(255, 255, 255, .035)) !important;
  color: rgba(255, 255, 255, .72) !important;
  font-size: 10px !important;
  font-weight: 1000 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
  
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  overflow: hidden !important;
}

#adminTabBar button span {
  font-size: 18px !important;
  line-height: 1 !important;
}

#adminTabBar button.active {
  background: linear-gradient(180deg, #22ff22, #11c911) !important;
  color: #000 !important;
  border-color: rgba(31, 255, 31, .9) !important;
  box-shadow:
    0 0 22px rgba(31, 255, 31, .45),
    inset 0 1px 0 rgba(255, 255, 255, .35) !important;
}

/* Dock mode: do NOT hide sections */
.admin-tab-hidden {
  display: block !important;
}

.admin-tab-active {
  display: block !important;
}

.admin-settings-panel {
  margin: 28px auto;
  padding: 24px;
  border-radius: 28px;
  border: 1px solid rgba(255, 255, 255, .14);
  background: linear-gradient(145deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .035));
  box-shadow: 0 18px 55px rgba(0, 0, 0, .38), inset 0 1px 0 rgba(255, 255, 255, .08);
}

.admin-settings-panel h2 {
  margin: 0;
  color: #fff;
  font-size: 34px;
  letter-spacing: -.04em;
}

.admin-settings-panel p {
  margin: 8px 0 18px;
  color: rgba(255, 255, 255, .62);
  font-weight: 700;
}

.settings-grid {
  display: grid;
  gap: 12px;
}

.admin-btn.danger-soft {
  background: rgba(255, 60, 90, .16) !important;
  color: #ffb0c0 !important;
  border: 1px solid rgba(255, 60, 90, .35) !important;
}

.settings-note {
  margin-top: 18px;
  padding: 16px;
  border-radius: 18px;
  background: rgba(0, 0, 0, .35);
  border: 1px solid rgba(255, 255, 255, .10);
  color: rgba(255, 255, 255, .72);
  line-height: 1.45;
}

#loginBox:not(.hidden)~#adminTabBar,
body:has(#loginBox:not(.hidden)) #adminTabBar,
#adminApp.hidden~#adminTabBar,
body:has(#adminApp.hidden) #adminTabBar {
  display: none !important;
}

body:not(.app-ready) header,
body:not(.app-ready) main,
body:not(.app-ready) .floating-footer,
body:not(.app-ready) .floating-share,
body:not(.app-ready) #proCommandDock,
body:not(.app-ready) #supportWidget {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.booting header,
body.booting main,
body.booting .floating-footer,
body.booting .floating-share,
body.booting #proCommandDock,
body.booting #supportWidget {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

@media (min-width:720px) {
  #adminTabBar {
    left: 50% !important;
    right: auto !important;
    width: 620px !important;
    transform: translateX(-50%) !important;
  }
}
#adminSettingsPanel,
.admin-settings-panel {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
#adminSettingsPanel {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  scroll-margin-top: 90px !important;
  margin-bottom: 180px !important;
}
#adminSettingsModal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 1000000 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 22px !important;
  background: rgba(0, 0, 0, .72) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}

#adminSettingsModal.show {
  display: flex !important;
}

.admin-settings-modal-card {
  width: min(640px, 100%) !important;
  max-height: 82vh !important;
  overflow: auto !important;
  padding: 26px !important;
  border-radius: 30px !important;
  border: 1px solid rgba(31, 255, 31, .32) !important;
  background: linear-gradient(145deg, rgba(22, 24, 28, .98), rgba(4, 5, 7, .98)) !important;
  box-shadow:
    0 0 40px rgba(31, 255, 31, .20),
    0 30px 80px rgba(0, 0, 0, .70) !important;
}

.admin-settings-modal-card h2 {
  margin: 0 44px 8px 0 !important;
  color: #fff !important;
  font-size: 34px !important;
  letter-spacing: -.04em !important;
}

.admin-settings-modal-card p {
  margin: 0 0 18px !important;
  color: rgba(255, 255, 255, .65) !important;
  font-weight: 800 !important;
}

.admin-settings-close {
  position: absolute !important;
  top: 18px !important;
  right: 18px !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255, 255, 255, .14) !important;
  background: rgba(255, 255, 255, .08) !important;
  color: white !important;
  font-size: 30px !important;
  font-weight: 900 !important;
}

#adminSettingsModal .settings-grid {
  display: grid !important;
  gap: 12px !important;
}

#adminSettingsModal .admin-btn {
  width: 100% !important;
}
#boot-screen {
  z-index: 999998 !important;
}

#instantBlackout {
  z-index: 2147483647 !important;
}
/* DETAIL MODAL V2 TRUST UPGRADE */
.detail-checkout-upgrade {
  margin-top: 22px;
  display: grid;
  gap: 18px;
}

.detail-trust-badges {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.detail-trust-badges span {
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-radius: 16px;
  border: 1px solid rgba(31, 255, 31, .22);
  background:
    radial-gradient(circle at top left, rgba(31, 255, 31, .13), transparent 45%),
    rgba(0, 0, 0, .38);
  color: #fff;
  font-size: 12px;
  font-weight: 1000;
  letter-spacing: .02em;
  text-transform: uppercase;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07);
}

.detail-after-checkout {
  padding: 18px;
  border-radius: 24px;
  border: 1px solid rgba(255, 255, 255, .12);
  background:
    radial-gradient(circle at top right, rgba(31, 255, 31, .12), transparent 38%),
    radial-gradient(circle at bottom left, rgba(170, 0, 255, .13), transparent 42%),
    rgba(0, 0, 0, .36);
  box-shadow: 0 18px 45px rgba(0, 0, 0, .28), inset 0 1px 0 rgba(255, 255, 255, .06);
}

.detail-after-head span {
  color: var(--green);
  font-size: 11px;
  font-weight: 1000;
  letter-spacing: .16em;
}

.detail-after-head h3 {
  margin: 7px 0 8px;
  color: #fff;
  font-size: 24px;
  letter-spacing: -.04em;
}

.detail-after-head p {
  margin: 0 0 16px;
  color: rgba(255, 255, 255, .62);
  line-height: 1.45;
  font-weight: 700;
}

.detail-flow-grid {
  display: grid;
  gap: 10px;
}

.detail-flow-step {
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, .10);
  background: rgba(0, 0, 0, .38);
}

.detail-flow-step strong {
  display: inline-flex;
  width: 38px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(31, 255, 31, .92);
  color: #000;
  font-size: 12px;
  font-weight: 1000;
  margin-bottom: 9px;
}

.detail-flow-step span {
  display: block;
  color: #fff;
  font-weight: 1000;
  font-size: 15px;
  margin-bottom: 4px;
}

.detail-flow-step p {
  margin: 0;
  color: rgba(255, 255, 255, .58);
  font-size: 13px;
  line-height: 1.38;
  font-weight: 700;
}

@media (min-width:720px) {
  .detail-trust-badges {
    grid-template-columns: repeat(4, 1fr);
  }
  
  .detail-flow-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* PRODUCT CARD TRUST BADGES */
.product-trust-row {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin: -6px 0 18px;
}

.product-trust-row span {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-radius: 14px;
  border: 1px solid rgba(36, 255, 36, .18);
  background:
    radial-gradient(circle at top left, rgba(36, 255, 36, .10), transparent 42%),
    rgba(0, 0, 0, .30);
  color: rgba(255, 255, 255, .88);
  font-size: 10px;
  line-height: 1.15;
  font-weight: 1000;
  letter-spacing: .035em;
  text-transform: uppercase;
  box-shadow:
    0 0 18px rgba(36, 255, 36, .055),
    inset 0 1px 0 rgba(255, 255, 255, .06);
}

@media (min-width:720px) {
  .product-trust-row {
    grid-template-columns: repeat(4, 1fr);
  }
}
/* =========================
   EMX VOUCH PROOF HUB
========================= */

.vouch-proof-hub {
  position: relative;
  overflow: hidden;
  margin: 18px 16px 16px;
  padding: 22px;
  border-radius: 28px;
  border: 1px solid rgba(36, 255, 36, .24);
  background:
    radial-gradient(circle at 0% 0%, rgba(36, 255, 36, .16), transparent 38%),
    radial-gradient(circle at 100% 0%, rgba(162, 12, 255, .20), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .025));
  box-shadow:
    0 24px 70px rgba(0, 0, 0, .62),
    0 0 34px rgba(36, 255, 36, .10),
    0 0 42px rgba(162, 12, 255, .10),
    inset 0 1px 0 rgba(255, 255, 255, .08);
}

.vouch-proof-hub::before {
  content: "";
  position: absolute;
  inset: -80px;
  background:
    radial-gradient(circle at 20% 15%, rgba(36, 255, 36, .20), transparent 25%),
    radial-gradient(circle at 85% 25%, rgba(162, 12, 255, .22), transparent 30%),
    radial-gradient(circle at 50% 100%, rgba(36, 255, 36, .10), transparent 38%);
  filter: blur(18px);
  opacity: .8;
  z-index: -1;
  animation: vouchProofAura 5.5s ease-in-out infinite alternate;
}

@keyframes vouchProofAura {
  0% {
    opacity: .48;
    transform: translate3d(-8px, 8px, 0) scale(1);
  }
  
  100% {
    opacity: 1;
    transform: translate3d(10px, -10px, 0) scale(1.08);
  }
}

.vouch-proof-top {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 12px;
  padding: 8px 11px;
  border-radius: 999px;
  border: 1px solid rgba(36, 255, 36, .24);
  background: rgba(36, 255, 36, .07);
}

.vouch-proof-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--green);
  box-shadow: 0 0 14px rgba(36, 255, 36, .85);
}

.vouch-proof-top p {
  margin: 0;
  color: var(--green);
  font-size: 10px;
  font-weight: 1000;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.vouch-proof-hub h2 {
  margin: 0 0 10px;
  color: #fff;
  font-size: clamp(28px, 7vw, 46px);
  line-height: .96;
  letter-spacing: -.06em;
  font-weight: 1000;
}

.vouch-proof-copy {
  margin: 0 0 18px;
  color: rgba(255, 255, 255, .66);
  font-size: 15px;
  line-height: 1.55;
  font-weight: 750;
}

.vouch-proof-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.vouch-proof-pill {
  min-height: 74px;
  padding: 13px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, .11);
  background:
    radial-gradient(circle at 50% 0%, rgba(36, 255, 36, .10), transparent 46%),
    rgba(0, 0, 0, .34);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07);
}

.vouch-proof-pill strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 25px;
  margin-bottom: 8px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--green), #7dff56);
  color: #030303;
  font-size: 11px;
  font-weight: 1000;
  box-shadow: 0 0 16px rgba(36, 255, 36, .28);
}

.vouch-proof-pill span {
  display: block;
  color: #fff;
  font-size: 12px;
  line-height: 1.25;
  font-weight: 1000;
  text-transform: uppercase;
  letter-spacing: .04em;
}

@media (min-width: 720px) {
  .vouch-proof-grid {
    grid-template-columns: repeat(5, 1fr);
  }
}
/* PROOF HUB PHOTO BOXES */
.vouch-proof-pill.photo-pill {
  position: relative;
  min-height: 150px;
  padding: 0;
  overflow: hidden;
  border-radius: 24px;
  background: #000;
}

.vouch-proof-pill.photo-pill img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: .72;
  filter: saturate(1.1) contrast(1.05);
}

.vouch-proof-pill.photo-pill::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, .12), rgba(0, 0, 0, .78)),
    radial-gradient(circle at 20% 18%, rgba(36, 255, 36, .28), transparent 42%),
    radial-gradient(circle at 90% 20%, rgba(162, 12, 255, .20), transparent 45%);
  pointer-events: none;
}

.vouch-proof-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 9px;
  padding: 18px;
}

.vouch-proof-overlay strong {
  display: inline-flex;
  width: 54px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--green), #7dff56);
  color: #000;
  font-size: 16px;
  font-weight: 1000;
  box-shadow: 0 0 22px rgba(36, 255, 36, .55);
}

.vouch-proof-overlay span {
  color: #fff;
  font-size: 18px;
  line-height: 1.05;
  font-weight: 1000;
  letter-spacing: .02em;
  text-transform: uppercase;
  text-shadow: 0 3px 14px rgba(0, 0, 0, .85);
}
/* PROOF HUB CLICKABLE PREVIEW FIX */
button.vouch-proof-pill.photo-pill {
  border: 1px solid rgba(255, 255, 255, .12);
  cursor: pointer;
  text-align: left;
  appearance: none;
  -webkit-appearance: none;
}

button.vouch-proof-pill.photo-pill:active {
  transform: scale(.975);
  filter: brightness(1.15);
}

button.vouch-proof-pill.photo-pill:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 3px;
}
/* PROOF HUB TAP BADGE POLISH */
.vouch-proof-pill.photo-pill::before {
  content: "TAP TO VIEW";
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
  padding: 7px 9px;
  border-radius: 999px;
  background: rgba(0, 0, 0, .62);
  border: 1px solid rgba(36, 255, 36, .30);
  color: var(--green);
  font-size: 9px;
  font-weight: 1000;
  letter-spacing: .12em;
  text-transform: uppercase;
  box-shadow: 0 0 18px rgba(36, 255, 36, .16);
  backdrop-filter: blur(12px);
}

.vouch-proof-pill.photo-pill {
  min-height: 168px;
  box-shadow:
    0 18px 42px rgba(0, 0, 0, .42),
    0 0 22px rgba(36, 255, 36, .08),
    inset 0 1px 0 rgba(255, 255, 255, .08);
}

.vouch-proof-pill.photo-pill:hover,
.vouch-proof-pill.photo-pill:active {
  border-color: rgba(36, 255, 36, .45);
  box-shadow:
    0 22px 50px rgba(0, 0, 0, .55),
    0 0 30px rgba(36, 255, 36, .18),
    0 0 28px rgba(162, 12, 255, .14);
}

.vouch-proof-pill.photo-pill:hover img,
.vouch-proof-pill.photo-pill:active img {
  transform: scale(1.045);
  opacity: .86;
}

.vouch-proof-pill.photo-pill img {
  transition: transform .28s ease, opacity .28s ease, filter .28s ease;
}
/* PROOF HUB PREMIUM MOTION + SHINE */
.vouch-proof-pill.photo-pill {
  isolation: isolate;
  overflow: hidden;
}

.vouch-proof-pill.photo-pill::after {
  content: "";
  position: absolute;
  inset: -40%;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(120deg,
      transparent 0%,
      transparent 38%,
      rgba(255, 255, 255, .18) 48%,
      rgba(36, 255, 36, .18) 52%,
      transparent 62%,
      transparent 100%);
  transform: translateX(-120%) rotate(8deg);
  animation: proofCardSweep 4.8s ease-in-out infinite;
  mix-blend-mode: screen;
}

@keyframes proofCardSweep {

  0%,
  55% {
    transform: translateX(-120%) rotate(8deg);
    opacity: 0;
  }
  
  68% {
    opacity: 1;
  }
  
  100% {
    transform: translateX(120%) rotate(8deg);
    opacity: 0;
  }
}

.vouch-proof-overlay {
  z-index: 4;
}

.vouch-proof-pill.photo-pill::before {
  z-index: 5;
}

.vouch-proof-pill.photo-pill img {
  filter: saturate(1.1) contrast(1.06) brightness(.82);
}

.vouch-proof-pill.photo-pill:active img {
  filter: saturate(1.25) contrast(1.12) brightness(.95);
}

.vouch-proof-pill.photo-pill strong {
  box-shadow:
    0 0 18px rgba(36, 255, 36, .70),
    0 0 34px rgba(36, 255, 36, .26),
    inset 0 1px 0 rgba(255, 255, 255, .35);
}

.vouch-proof-pill.photo-pill span {
  text-shadow:
    0 3px 14px rgba(0, 0, 0, .85),
    0 0 16px rgba(255, 255, 255, .16);
}
/* LIVE DISCORD VOUCHES CARD — PREMIUM UPGRADE */
.vouch-discord-card{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border-color:rgba(126,162,255,.38) !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(126,162,255,.22), transparent 38%),
    radial-gradient(circle at 95% 10%, rgba(36,255,36,.16), transparent 42%),
    radial-gradient(circle at 50% 110%, rgba(162,12,255,.18), transparent 44%),
    rgba(4,5,8,.78) !important;
  box-shadow:
    0 0 34px rgba(126,162,255,.12),
    0 0 38px rgba(36,255,36,.10),
    0 22px 60px rgba(0,0,0,.58),
    inset 0 1px 0 rgba(255,255,255,.09) !important;
}

.vouch-discord-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    repeating-linear-gradient(
      180deg,
      rgba(255,255,255,.035) 0px,
      rgba(255,255,255,.035) 1px,
      transparent 1px,
      transparent 9px
    );
  opacity:.28;
  mix-blend-mode:screen;
}

.vouch-discord-card::after{
  content:"";
  position:absolute;
  inset:-2px;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(
      120deg,
      transparent,
      rgba(126,162,255,.24),
      rgba(36,255,36,.20),
      rgba(162,12,255,.22),
      transparent
    );
  transform:translateX(-120%) skewX(-18deg);
  animation:vouchDiscordSweep 5.4s ease-in-out infinite;
  opacity:.72;
  mix-blend-mode:screen;
}

@keyframes vouchDiscordSweep{
  0%,58%{
    transform:translateX(-120%) skewX(-18deg);
    opacity:0;
  }

  72%{
    opacity:.85;
  }

  100%{
    transform:translateX(120%) skewX(-18deg);
    opacity:0;
  }
}

.vouch-discord-card > *{
  position:relative;
  z-index:2;
}

.vouch-discord-card strong{
  font-size:22px;
  letter-spacing:-.04em;
  text-shadow:
    0 0 18px rgba(255,255,255,.16),
    0 0 24px rgba(126,162,255,.20);
}

.vouch-discord-card span{
  color:rgba(255,255,255,.68) !important;
}

.vouch-discord-link{
  position:relative;
  overflow:hidden;
  border-color:rgba(126,162,255,.72) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(126,162,255,.20), transparent 48%),
    rgba(0,0,0,.42) !important;
  box-shadow:
    0 0 24px rgba(126,162,255,.16),
    0 0 28px rgba(36,255,36,.08),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.vouch-discord-link::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg, transparent, rgba(255,255,255,.22), transparent);
  transform:translateX(-130%) skewX(-22deg);
  animation:vouchLinkSweep 3.2s ease-in-out infinite;
  pointer-events:none;
}

@keyframes vouchLinkSweep{
  0%,45%{
    transform:translateX(-130%) skewX(-22deg);
  }

  78%,100%{
    transform:translateX(130%) skewX(-22deg);
  }
}

.vouch-discord-link:active{
  transform:scale(.965);
  filter:brightness(1.14);
}
/* PREMIUM FAQ ACCORDION UPGRADE */
.faq-row{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border-color:rgba(255,255,255,.13) !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(36,255,36,.10), transparent 38%),
    radial-gradient(circle at 100% 0%, rgba(162,12,255,.13), transparent 42%),
    rgba(5,6,8,.72) !important;
  box-shadow:
    0 18px 42px rgba(0,0,0,.45),
    inset 0 1px 0 rgba(255,255,255,.07) !important;
}

.faq-row::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    repeating-linear-gradient(
      180deg,
      rgba(255,255,255,.025) 0px,
      rgba(255,255,255,.025) 1px,
      transparent 1px,
      transparent 8px
    );
  opacity:.22;
  mix-blend-mode:screen;
}

.faq-row::after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--green),var(--purple),transparent);
  opacity:.55;
  box-shadow:
    0 0 14px rgba(36,255,36,.35),
    0 0 18px rgba(162,12,255,.28);
}

.faq-row.open{
  border-color:rgba(36,255,36,.30) !important;
  box-shadow:
    0 22px 54px rgba(0,0,0,.55),
    0 0 26px rgba(36,255,36,.12),
    0 0 26px rgba(162,12,255,.10),
    inset 0 1px 0 rgba(255,255,255,.09) !important;
}

.faq-question{
  position:relative;
  z-index:2;
}

.faq-question span{
  width:34px;
  height:34px;
  min-width:34px;
  border-radius:13px;
  display:grid;
  place-items:center;
  background:rgba(36,255,36,.10);
  border:1px solid rgba(36,255,36,.25);
  color:var(--green);
  box-shadow:0 0 18px rgba(36,255,36,.12);
}

.faq-row.open .faq-question span{
  background:linear-gradient(135deg,var(--green),#7dff56);
  color:#000;
  box-shadow:
    0 0 18px rgba(36,255,36,.55),
    0 0 30px rgba(36,255,36,.22);
}

.faq-answer{
  position:relative;
  z-index:2;
}

.faq-answer p{
  color:rgba(255,255,255,.66) !important;
  font-weight:750;
}
/* PREMIUM LEGAL / FOOTER TRUST POLISH */
.legal-card{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border-color:rgba(36,255,36,.18) !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(36,255,36,.13), transparent 36%),
    radial-gradient(circle at 100% 0%, rgba(162,12,255,.18), transparent 42%),
    radial-gradient(circle at 50% 110%, rgba(126,162,255,.10), transparent 42%),
    rgba(5,6,8,.76) !important;
  box-shadow:
    0 24px 62px rgba(0,0,0,.56),
    0 0 28px rgba(36,255,36,.08),
    0 0 34px rgba(162,12,255,.08),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.legal-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    repeating-linear-gradient(
      180deg,
      rgba(255,255,255,.026) 0px,
      rgba(255,255,255,.026) 1px,
      transparent 1px,
      transparent 9px
    );
  opacity:.26;
  mix-blend-mode:screen;
}

.legal-card::after{
  content:"";
  position:absolute;
  left:16px;
  right:16px;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--green),var(--purple),transparent);
  opacity:.70;
  box-shadow:
    0 0 16px rgba(36,255,36,.42),
    0 0 20px rgba(162,12,255,.32);
}

.legal-title{
  color:#fff;
  font-size:22px !important;
  text-shadow:
    0 0 18px rgba(255,255,255,.14),
    0 0 22px rgba(36,255,36,.10);
}

.legal-copy{
  color:rgba(255,255,255,.66) !important;
  font-weight:750;
}

.legal-actions .btn-outline{
  position:relative;
  overflow:hidden;
  border-color:rgba(255,255,255,.14) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(36,255,36,.08), transparent 46%),
    rgba(0,0,0,.34) !important;
}

.legal-actions .btn-outline::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.18),transparent);
  transform:translateX(-130%) skewX(-22deg);
  animation:legalButtonSweep 4.4s ease-in-out infinite;
}

@keyframes legalButtonSweep{
  0%,55%{
    transform:translateX(-130%) skewX(-22deg);
  }

  82%,100%{
    transform:translateX(130%) skewX(-22deg);
  }
}

.legal-actions .btn-outline:active{
  transform:scale(.965);
  border-color:rgba(36,255,36,.34) !important;
  color:var(--green);
}
/* PREMIUM CART DRAWER POLISH */
.cart-drawer{
  isolation:isolate;
  overflow:hidden;
  border-left-color:rgba(36,255,36,.20) !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(36,255,36,.13), transparent 36%),
    radial-gradient(circle at 96% 0%, rgba(162,12,255,.20), transparent 42%),
    radial-gradient(circle at 50% 110%, rgba(126,162,255,.10), transparent 40%),
    linear-gradient(180deg,#101116,#030405) !important;
  box-shadow:
    -20px 0 70px rgba(0,0,0,.78),
    0 0 38px rgba(36,255,36,.08),
    inset 1px 0 0 rgba(255,255,255,.06) !important;
}

.cart-drawer::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    repeating-linear-gradient(
      180deg,
      rgba(255,255,255,.025) 0px,
      rgba(255,255,255,.025) 1px,
      transparent 1px,
      transparent 9px
    );
  opacity:.25;
  mix-blend-mode:screen;
}

.cart-drawer::after{
  content:"";
  position:absolute;
  inset:-2px;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(
      120deg,
      transparent,
      rgba(36,255,36,.18),
      rgba(162,12,255,.18),
      transparent
    );
  transform:translateX(-120%) skewX(-18deg);
  animation:cartDrawerSweep 5.8s ease-in-out infinite;
  mix-blend-mode:screen;
}

@keyframes cartDrawerSweep{
  0%,58%{
    transform:translateX(-120%) skewX(-18deg);
    opacity:0;
  }

  72%{
    opacity:.75;
  }

  100%{
    transform:translateX(120%) skewX(-18deg);
    opacity:0;
  }
}

.cart-drawer > *{
  position:relative;
  z-index:2;
}

.drawer-title{
  text-shadow:
    0 0 18px rgba(255,255,255,.12),
    0 0 22px rgba(36,255,36,.10);
}

.drawer-close{
  transition:transform .16s ease, border-color .16s ease, background .16s ease;
}

.drawer-close:active{
  transform:scale(.94);
  border-color:rgba(36,255,36,.32);
  background:rgba(36,255,36,.08);
}

.cart-item{
  position:relative;
  overflow:hidden;
  border-color:rgba(255,255,255,.13) !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(36,255,36,.10), transparent 42%),
    rgba(255,255,255,.045) !important;
  box-shadow:
    0 14px 32px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.07);
}

.cart-item::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--green),var(--purple),transparent);
  opacity:.55;
}

.cart-item img{
  border:1px solid rgba(255,255,255,.10);
  box-shadow:
    0 0 18px rgba(36,255,36,.08),
    0 10px 22px rgba(0,0,0,.35);
}

.cart-item h4{
  color:#fff;
  font-weight:1000;
}

.cart-item p{
  text-shadow:0 0 14px rgba(36,255,36,.38);
}

.remove-btn{
  transition:transform .16s ease, filter .16s ease;
}

.remove-btn:active{
  transform:scale(.92);
  filter:brightness(1.18);
}

.total-row{
  border-radius:18px;
  padding:12px 14px !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(36,255,36,.10), transparent 38%),
    rgba(0,0,0,.30);
  border:1px solid rgba(255,255,255,.10);
}

.total-row strong{
  color:var(--green) !important;
  text-shadow:0 0 18px rgba(36,255,36,.42);
}

.cart-empty{
  border-color:rgba(36,255,36,.22) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(36,255,36,.10), transparent 42%),
    rgba(0,0,0,.26);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
/* PREMIUM SEARCH PANEL POLISH */
.search-panel {
  position: relative;
  z-index: 30;
}

.search-panel.show {
  animation: searchPanelDrop .24s cubic-bezier(.2, .8, .2, 1);
}

@keyframes searchPanelDrop {
  from {
    opacity: 0;
    transform: translateY(-10px) scale(.98);
  }
  
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.search-box {
  position: relative;
  border-color: rgba(36, 255, 36, .24) !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(36, 255, 36, .10), transparent 42%),
    radial-gradient(circle at 100% 0%, rgba(162, 12, 255, .14), transparent 42%),
    rgba(0, 0, 0, .48) !important;
  color: #fff !important;
  box-shadow:
    0 18px 42px rgba(0, 0, 0, .42),
    0 0 24px rgba(36, 255, 36, .08),
    inset 0 1px 0 rgba(255, 255, 255, .08) !important;
  transition:
    border-color .18s ease,
    box-shadow .18s ease,
    transform .18s ease;
}

.search-box:focus {
  border-color: rgba(36, 255, 36, .55) !important;
  box-shadow:
    0 20px 48px rgba(0, 0, 0, .52),
    0 0 30px rgba(36, 255, 36, .20),
    0 0 30px rgba(162, 12, 255, .12),
    inset 0 1px 0 rgba(255, 255, 255, .10) !important;
  transform: translateY(-1px);
}

.search-box::placeholder {
  color: rgba(255, 255, 255, .42) !important;
  font-weight: 850;
}

#searchPanel::before {
  content: "SEARCH TERMINAL";
  display: block;
  width: max-content;
  margin: 0 0 8px 2px;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(36, 255, 36, .22);
  background: rgba(36, 255, 36, .07);
  color: var(--green);
  font-size: 10px;
  font-weight: 1000;
  letter-spacing: .16em;
  text-transform: uppercase;
  box-shadow: 0 0 18px rgba(36, 255, 36, .08);
}

#searchPanel.show::after {
  content: "Type a product name, pack type, or keyword.";
  display: block;
  margin: 9px 2px 0;
  color: rgba(255, 255, 255, .48);
  font-size: 12px;
  line-height: 1.35;
  font-weight: 750;
}
/* PREMIUM HEADER ICON POLISH */
.header-actions{
  position:relative;
  z-index:5;
}

.icon-btn{
  overflow:hidden;
  isolation:isolate;
  border-color:rgba(255,255,255,.14) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(36,255,36,.10), transparent 46%),
    radial-gradient(circle at 50% 100%, rgba(162,12,255,.10), transparent 50%),
    rgba(0,0,0,.36) !important;
  box-shadow:
    0 0 18px rgba(36,255,36,.055),
    0 10px 24px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
  transition:
    transform .16s ease,
    border-color .16s ease,
    box-shadow .16s ease,
    background .16s ease,
    filter .16s ease;
}

.icon-btn::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(120deg, transparent, rgba(255,255,255,.18), transparent);
  transform:translateX(-130%) skewX(-22deg);
  animation:headerIconSweep 4.8s ease-in-out infinite;
}

@keyframes headerIconSweep{
  0%,58%{
    transform:translateX(-130%) skewX(-22deg);
  }

  82%,100%{
    transform:translateX(130%) skewX(-22deg);
  }
}

.icon-btn:hover,
.icon-btn:focus-visible{
  border-color:rgba(36,255,36,.36) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(36,255,36,.18), transparent 48%),
    rgba(0,0,0,.42) !important;
  box-shadow:
    0 0 24px rgba(36,255,36,.16),
    0 0 26px rgba(162,12,255,.10),
    0 12px 28px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
}

.icon-btn:active{
  transform:scale(.92) !important;
  filter:brightness(1.16);
}

#installTestBtn{
  border-color:rgba(126,162,255,.36) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(126,162,255,.24), transparent 48%),
    radial-gradient(circle at 50% 100%, rgba(162,12,255,.12), transparent 50%),
    rgba(0,0,0,.38) !important;
  box-shadow:
    0 0 22px rgba(126,162,255,.13),
    0 10px 24px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}

#cartToggle{
  border-color:rgba(36,255,36,.24) !important;
}

.cart-count{
  border:1px solid rgba(0,0,0,.35);
  animation:cartCountPulse 1.9s ease-in-out infinite;
}

@keyframes cartCountPulse{
  0%,100%{
    transform:scale(1);
    box-shadow:0 0 18px rgba(36,255,36,.70);
  }

  50%{
    transform:scale(1.08);
    box-shadow:
      0 0 24px rgba(36,255,36,.90),
      0 0 34px rgba(36,255,36,.28);
  }
}
/* PREMIUM HERO SECTION POLISH */
.hero-card{
  isolation:isolate;
  border-color:rgba(36,255,36,.18) !important;
  box-shadow:
    0 28px 86px rgba(0,0,0,.72),
    0 0 34px rgba(36,255,36,.08),
    0 0 42px rgba(162,12,255,.10),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.hero-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    repeating-linear-gradient(
      180deg,
      rgba(255,255,255,.026) 0px,
      rgba(255,255,255,.026) 1px,
      transparent 1px,
      transparent 9px
    );
  opacity:.22;
  mix-blend-mode:screen;
}

.hero-card .hero-kicker,
.hero-card h1,
.hero-card p,
.hero-card .hero-stats,
.hero-card .hero-logo-float{
  position:relative;
  z-index:3;
}

.hero-card h1{
  text-shadow:
    0 0 18px rgba(255,255,255,.12),
    0 0 28px rgba(162,12,255,.18);
}

.hero-card h1 span{
  background:linear-gradient(90deg,var(--purple),#d78cff,var(--green));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow:none;
}

.hero-kicker{
  box-shadow:
    0 0 22px rgba(36,255,36,.10),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.hero-stat{
  position:relative;
  overflow:hidden;
  border-color:rgba(255,255,255,.13) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(36,255,36,.10), transparent 46%),
    rgba(0,0,0,.34) !important;
  box-shadow:
    0 14px 32px rgba(0,0,0,.35),
    inset 0 1px 0 rgba(255,255,255,.07);
}

.hero-stat::after{
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--green),var(--purple),transparent);
  opacity:.55;
  box-shadow:
    0 0 12px rgba(36,255,36,.38),
    0 0 14px rgba(162,12,255,.24);
}

.hero-stat strong{
  color:#fff;
  text-shadow:
    0 0 14px rgba(255,255,255,.14),
    0 0 18px rgba(36,255,36,.15);
}

.hero-stat span{
  color:rgba(255,255,255,.58) !important;
}

.hero-logo-float::after{
  content:"";
  position:absolute;
  inset:-14px;
  border-radius:999px;
  border:1px solid rgba(36,255,36,.14);
  box-shadow:
    0 0 28px rgba(36,255,36,.10),
    inset 0 0 22px rgba(162,12,255,.08);
  pointer-events:none;
}
/* PREMIUM TRUST STRIP POLISH */
.trust-pill {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-color: rgba(36, 255, 36, .16) !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(36, 255, 36, .10), transparent 42%),
    radial-gradient(circle at 100% 0%, rgba(162, 12, 255, .12), transparent 42%),
    rgba(5, 6, 8, .68) !important;
  box-shadow:
    0 18px 44px rgba(0, 0, 0, .42),
    0 0 22px rgba(36, 255, 36, .06),
    inset 0 1px 0 rgba(255, 255, 255, .07) !important;
}

.trust-pill::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    repeating-linear-gradient(180deg,
      rgba(255, 255, 255, .025) 0px,
      rgba(255, 255, 255, .025) 1px,
      transparent 1px,
      transparent 8px);
  opacity: .20;
  mix-blend-mode: screen;
}

.trust-pill::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(120deg, transparent, rgba(255, 255, 255, .14), transparent);
  transform: translateX(-130%) skewX(-22deg);
  animation: trustPillSweep 5.2s ease-in-out infinite;
  mix-blend-mode: screen;
}

@keyframes trustPillSweep {

  0%,
  58% {
    transform: translateX(-130%) skewX(-22deg);
    opacity: 0;
  }
  
  74% {
    opacity: .8;
  }
  
  100% {
    transform: translateX(130%) skewX(-22deg);
    opacity: 0;
  }
}

.trust-pill:hover,
.trust-pill:active {
  border-color: rgba(36, 255, 36, .34) !important;
  box-shadow:
    0 22px 52px rgba(0, 0, 0, .52),
    0 0 28px rgba(36, 255, 36, .13),
    0 0 28px rgba(162, 12, 255, .08),
    inset 0 1px 0 rgba(255, 255, 255, .09) !important;
}

.trust-icon {
  box-shadow:
    0 0 22px rgba(36, 255, 36, .18),
    inset 0 1px 0 rgba(255, 255, 255, .08) !important;
}

.trust-pill strong {
  color: #fff;
  text-shadow: 0 0 14px rgba(255, 255, 255, .10);
}

.trust-pill span {
  color: rgba(255, 255, 255, .58) !important;
}
/* PREMIUM BOOT SCREEN V2 — VISIBLE UPGRADE */
#boot-screen{
  isolation:isolate;
}

#boot-screen::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    repeating-linear-gradient(
      180deg,
      rgba(255,255,255,.035) 0px,
      rgba(255,255,255,.035) 1px,
      transparent 1px,
      transparent 10px
    );
  opacity:.20;
  mix-blend-mode:screen;
}

#boot-screen::after{
  content:"";
  position:absolute;
  inset:-40%;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(
      120deg,
      transparent 0%,
      transparent 42%,
      rgba(36,255,36,.12) 48%,
      rgba(162,12,255,.16) 52%,
      transparent 60%,
      transparent 100%
    );
  transform:translateX(-120%) rotate(8deg);
  animation:bootScreenSweepV2 5.8s ease-in-out infinite;
  mix-blend-mode:screen;
}

@keyframes bootScreenSweepV2{
  0%,58%{
    transform:translateX(-120%) rotate(8deg);
    opacity:0;
  }

  72%{
    opacity:1;
  }

  100%{
    transform:translateX(120%) rotate(8deg);
    opacity:0;
  }
}

.boot-logo-img{
  animation:bootLogoPowerPulseV2 2.6s ease-in-out infinite !important;
}

@keyframes bootLogoPowerPulseV2{
  0%,100%{
    transform:scale(1);
    filter:
      drop-shadow(0 0 16px rgba(36,255,36,.38))
      drop-shadow(0 0 30px rgba(162,12,255,.62))
      drop-shadow(0 0 70px rgba(162,12,255,.24));
  }

  50%{
    transform:scale(1.045);
    filter:
      drop-shadow(0 0 22px rgba(36,255,36,.72))
      drop-shadow(0 0 42px rgba(162,12,255,.82))
      drop-shadow(0 0 95px rgba(162,12,255,.34));
  }
}

.enter-btn{
  position:relative;
  isolation:isolate;
}

.enter-btn::after{
  content:"";
  position:absolute;
  inset:8px;
  border-radius:999px;
  border:1px solid rgba(36,255,36,.22);
  box-shadow:
    0 0 22px rgba(36,255,36,.22),
    inset 0 0 22px rgba(36,255,36,.08);
  pointer-events:none;
  animation:enterInnerPulseV2 1.7s ease-in-out infinite;
}

@keyframes enterInnerPulseV2{
  0%,100%{
    opacity:.35;
    transform:scale(.985);
  }

  50%{
    opacity:1;
    transform:scale(1.01);
  }
}

.boot-spec{
  position:relative;
  overflow:hidden;
}

.boot-spec::after{
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--green),var(--purple),transparent);
  opacity:.65;
  box-shadow:
    0 0 14px rgba(36,255,36,.38),
    0 0 18px rgba(162,12,255,.26);
}
/* EMX MOBILE PERFORMANCE PATCH */
@media (max-width:520px){
  .product-card::after,
  .bundle-card::after,
  .vouch-card::after,
  .proof-card::after,
  .hero-card::after,
  .vouch-discord-card::after,
  .cart-drawer::after,
  .legal-actions .btn-outline::after,
  .trust-pill::after{
    animation-duration:7.5s !important;
  }

  .tap-particle{
    animation-duration:.62s !important;
  }

  .product-card,
  .bundle-card,
  .vouch-card,
  .proof-card,
  .hero-card,
  .trust-pill,
  .legal-card,
  .faq-row,
  .cart-item{
    will-change:auto !important;
  }

  #galaxyCanvas,
  #bootGalaxy,
  #launchGalaxy,
  #payLoadingGalaxy{
    opacity:.72 !important;
  }

  .support-panel,
  .cart-drawer,
  .detail-card,
  .legal-modal-card,
  .install-card{
    -webkit-overflow-scrolling:touch !important;
  }
}
/* EMX FLOATING UI SPACING CLEANUP */
body {
  padding-bottom: calc(190px + var(--safeBottom)) !important;
}

.pro-command-dock {
  bottom: calc(104px + var(--safeBottom)) !important;
  transform: translateX(-50%) scale(.94) !important;
}

.floating-footer {
  height: calc(88px + var(--safeBottom)) !important;
  padding: 14px 16px calc(14px + var(--safeBottom)) !important;
}

.btn-discord,
.btn-tiktok {
  min-height: 54px !important;
}

.support-widget {
  bottom: calc(218px + var(--safeBottom)) !important;
  transform: scale(.92);
  transform-origin: bottom right;
}

.floating-share {
  bottom: calc(168px + var(--safeBottom)) !important;
  transform: scale(.92);
  transform-origin: bottom right;
}

@media (max-width:390px) {
  body {
    padding-bottom: calc(205px + var(--safeBottom)) !important;
  }
  
  .pro-command-dock {
    bottom: calc(100px + var(--safeBottom)) !important;
    width: calc(100vw - 18px) !important;
    transform: translateX(-50%) scale(.92) !important;
  }
  
  .floating-footer {
    padding-left: 12px !important;
    padding-right: 12px !important;
    gap: 10px !important;
  }
  
  .btn-discord,
  .btn-tiktok {
    min-height: 52px !important;
    font-size: 14px !important;
  }
  
  .support-widget {
    right: 10px !important;
    bottom: calc(214px + var(--safeBottom)) !important;
    transform: scale(.88);
  }
  
  .floating-share {
    right: 12px !important;
    bottom: calc(162px + var(--safeBottom)) !important;
    transform: scale(.88);
  }
}
/* EMX MOBILE BLACK SCREEN / WEBVIEW STABILITY PATCH */
@media (max-width:520px){
  /* Stop heavy infinite shine/sweep layers on mobile */
  .product-card::after,
  .bundle-card::after,
  .vouch-card::after,
  .proof-card::after,
  .hero-card::after,
  .vouch-discord-card::after,
  .cart-drawer::after,
  .legal-actions .btn-outline::after,
  .trust-pill::after,
  .faq-row::before,
  .legal-card::before,
  .vouch-proof-pill.photo-pill::after,
  .icon-btn::before,
  #boot-screen::after{
    animation:none !important;
    transform:none !important;
    mix-blend-mode:normal !important;
  }

  /* Reduce GPU-heavy blur layers */
  .product-card,
  .bundle-card,
  .hero-card,
  .trust-pill,
  .vouch-card,
  .proof-card,
  .legal-card,
  .faq-row,
  .vouch-discord-card,
  .cart-drawer,
  .detail-card,
  .legal-modal-card,
  .install-card,
  .support-panel,
  .pro-command-dock,
  .floating-footer,
  header{
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }

  /* Keep galaxy visible but lighter */
  #galaxyCanvas{
    opacity:.45 !important;
  }

  #bootGalaxy,
  #launchGalaxy,
  #payLoadingGalaxy{
    opacity:.55 !important;
  }

  /* Stop tap particles from stacking in mobile preview apps */
  #tapParticleLayer{
    display:none !important;
  }

  /* Prevent giant fixed layers from bugging out */
  body,
  main,
  section,
  .product-card,
  .bundle-card,
  .vouch-card,
  .proof-card,
  .legal-card{
    transform:none !important;
    will-change:auto !important;
  }

  /* Make sure blackout never stays stuck */
  #instantBlackout{
    display:none !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }
}
/* EMX SAFE MOBILE MOTION RESTORE */
@media (max-width:520px){
  .discount-badge::after,
  .btn-filled::after,
  .payhip-loading-bar i,
  .boot-logo-img,
  .enter-btn::after,
  .cart-count{
    animation-play-state:running !important;
  }

  .boot-logo-img{
    animation:bootLogoPowerPulseV2 3.4s ease-in-out infinite !important;
  }

  .enter-btn::after{
    animation:enterInnerPulseV2 2.4s ease-in-out infinite !important;
  }

  .cart-count{
    animation:cartCountPulse 2.6s ease-in-out infinite !important;
  }

  .discount-badge::after,
  .btn-filled::after{
    animation-duration:6.8s !important;
  }

  .product-card:active,
  .bundle-card:active,
  .trust-pill:active,
  .vouch-proof-pill.photo-pill:active,
  .vouch-discord-link:active,
  .faq-question:active,
  .icon-btn:active,
  .btn-filled:active,
  .btn-outline:active{
    transform:scale(.985) !important;
    filter:brightness(1.08) !important;
  }

  .vouch-proof-pill.photo-pill:active img,
  .preview-image-btn:active .preview-img{
    transform:scale(1.025) !important;
    opacity:.9 !important;
  }
}
/* CART COUNT BADGE FIX */
.cart-count {
  top: -10px !important;
  right: -10px !important;
  min-width: 26px !important;
  height: 26px !important;
  padding: 0 7px !important;
  font-size: 13px !important;
  line-height: 26px !important;
  border-radius: 999px !important;
  overflow: visible !important;
  z-index: 20 !important;
}

#cartToggle {
  overflow: visible !important;
}

.header-actions,
.icon-btn {
  overflow: visible !important;
}

/* PREMIUM PREVIEW MODAL */
#media-modal{
  background:
    radial-gradient(circle at 20% 0%, rgba(36,255,36,.14), transparent 34%),
    radial-gradient(circle at 82% 10%, rgba(162,12,255,.18), transparent 38%),
    rgba(0,0,0,.90) !important;
  backdrop-filter:blur(18px) !important;
  padding:18px !important;
}

.preview-modal-card{
  position:relative;
  width:min(1120px,calc(100vw - 28px));
  max-height:calc(100vh - 38px - var(--safeTop) - var(--safeBottom));
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.14);
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), transparent 18%),
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.10), transparent 34%),
    rgba(4,5,6,.92);
  padding:16px;
  box-shadow:
    0 32px 90px rgba(0,0,0,.78),
    0 0 32px rgba(255,255,255,.06),
    0 0 42px rgba(36,255,36,.08),
    inset 0 1px 0 rgba(255,255,255,.08);
  overflow:hidden;
}

.preview-modal-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(36,255,36,.06) 1px,transparent 1px),
    linear-gradient(0deg,rgba(162,12,255,.05) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:radial-gradient(circle at 50% 50%, #000, transparent 75%);
}

.preview-modal-head,
.preview-stage,
.preview-modal-actions{
  position:relative;
  z-index:2;
}

.preview-modal-head{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:12px;
  align-items:center;
  min-height:54px;
  padding:0 8px 10px;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.preview-modal-head::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:999px;
  position:absolute;
  left:16px;
  top:20px;
  background:#ff5f57;
  box-shadow:18px 0 #ffbd2e, 36px 0 #28c840;
}

.preview-modal-head .preview-counter{
  position:static !important;
  transform:none !important;
  min-width:64px;
  height:36px;
  z-index:2;
}

.preview-modal-kicker{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  margin:0 0 7px 58px;
  padding:7px 10px;
  border-radius:999px;
  color:var(--green);
  border:1px solid rgba(36,255,36,.22);
  background:rgba(36,255,36,.08);
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

#media-modal .modal-title{
  margin:0 !important;
  text-align:left !important;
  letter-spacing:0 !important;
  font-size:clamp(20px,4vw,32px) !important;
  line-height:1.05;
}

.preview-sound-hint{
  min-height:36px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(162,12,255,.26);
  background:rgba(162,12,255,.10);
  color:#fff;
  padding:0 12px;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  white-space:nowrap;
}

.preview-stage{
  position:relative;
  min-height:0;
  display:grid;
  place-items:center;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    #000;
  background-size:100% 4px;
  overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}

#media-modal #modal-video,
#media-modal #modal-img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:min(70vh,720px) !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:#000;
  object-fit:contain !important;
  transform-origin:center center;
  filter:none !important;
}

#media-modal.preview-reel-open #modal-img{
  animation:emxModalFullViewReel 2.6s cubic-bezier(.2,.8,.2,1) both;
}

#media-modal.preview-reel-open .preview-stage::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, transparent, rgba(255,255,255,.06), transparent),
    radial-gradient(circle at 50% 50%, transparent 45%, rgba(0,0,0,.42));
  mix-blend-mode:screen;
  animation:emxModalReelSweep 2.6s linear infinite;
}

#media-modal.video-preview-open #modal-video[style*="block"]{
  display:block !important;
}

.preview-modal-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.preview-modal-actions.hidden{
  display:none;
}

.preview-modal-actions .btn-outline,
.preview-modal-actions .btn-filled{
  min-height:54px;
  letter-spacing:0 !important;
}

#media-modal .close-modal{
  z-index:5 !important;
}

@media (max-width:620px){
  .preview-modal-card{
    width:calc(100vw - 20px);
    max-height:calc(100vh - 24px - var(--safeTop) - var(--safeBottom));
    border-radius:24px;
    padding:12px;
    gap:10px;
  }

  .preview-modal-head{
    grid-template-columns:1fr;
  }

  .preview-modal-head .preview-counter{
    width:max-content;
  }

  .preview-sound-hint{
    width:max-content;
    min-height:32px;
  }

  #media-modal #modal-video,
  #media-modal #modal-img{
    max-height:58vh !important;
  }

  .preview-modal-actions{
    grid-template-columns:1fr;
  }

  .preview-modal-actions .btn-outline,
  .preview-modal-actions .btn-filled{
    min-height:50px;
  }

  #emxRainCanvas{
    opacity:.38;
  }
}

@keyframes emxModalPhotoReel{
  0%{
    opacity:0;
    transform:scale(1.08) translateX(34px);
    filter:blur(8px) brightness(.62);
  }
  18%{
    opacity:1;
    transform:scale(1.02) translateX(0);
    filter:blur(0) brightness(1.06);
  }
  78%{
    opacity:1;
    transform:scale(1.08) translateX(-18px);
    filter:blur(0) brightness(1);
  }
  100%{
    opacity:.88;
    transform:scale(1.12) translateX(-36px);
    filter:blur(3px) brightness(.78);
  }
}

@keyframes emxModalFullViewReel{
  0%{
    opacity:0;
    transform:scale(.985) translateY(14px);
    filter:none;
  }
  18%{
    opacity:1;
    transform:scale(1) translateY(0);
    filter:none;
  }
  78%{
    opacity:1;
    transform:scale(1) translateY(0);
    filter:none;
  }
  100%{
    opacity:1;
    transform:scale(.995) translateY(-6px);
    filter:none;
  }
}

@keyframes emxModalReelSweep{
  0%{ transform:translateX(-110%); opacity:.12; }
  50%{ opacity:.32; }
  100%{ transform:translateX(110%); opacity:.12; }
}

@media (prefers-reduced-motion:reduce){
  #emxRainCanvas{
    display:none !important;
  }
}

/* EMX FIVE-UPGRADE PREMIUM PASS */
.header-actions .icon-btn{
  width:auto !important;
  min-width:46px;
  height:44px;
  padding:0 13px;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:7px;
  border-radius:16px;
  background:
    radial-gradient(circle at 50% 0%, rgba(36,255,36,.10), transparent 46%),
    rgba(255,255,255,.055);
}

.header-action-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:22px;
  color:#fff;
  font-size:12px;
  line-height:1;
  font-weight:1000;
  text-transform:uppercase;
  text-shadow:
    0 0 12px rgba(36,255,36,.38),
    0 0 16px rgba(162,12,255,.32);
}

#searchToggle .header-action-icon{
  font-size:24px;
  transform:translateY(-1px);
}

.header-action-label{
  color:rgba(255,255,255,.78);
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.header-actions .icon-btn:hover{
  border-color:rgba(36,255,36,.35);
  background:
    radial-gradient(circle at 50% 0%, rgba(36,255,36,.16), transparent 48%),
    rgba(255,255,255,.075);
}

.vouch-trust-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin:0 0 14px;
}

.vouch-trust-stat{
  position:relative;
  overflow:hidden;
  min-height:78px;
  padding:13px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.11);
  background:
    linear-gradient(135deg, rgba(36,255,36,.10), rgba(162,12,255,.10)),
    rgba(0,0,0,.34);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
}

.vouch-trust-stat::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--green),var(--purple),transparent);
  opacity:.62;
}

.vouch-trust-stat strong{
  display:block;
  color:#fff;
  font-size:18px;
  line-height:1;
  font-weight:1000;
  text-transform:uppercase;
}

.vouch-trust-stat span{
  display:block;
  margin-top:8px;
  color:rgba(255,255,255,.64);
  font-size:12px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.proof-signal-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:16px;
}

.proof-signal{
  position:relative;
  overflow:hidden;
  padding:14px;
  min-height:104px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.11);
  background:
    radial-gradient(circle at 0% 0%, rgba(36,255,36,.10), transparent 42%),
    radial-gradient(circle at 100% 0%, rgba(162,12,255,.12), transparent 42%),
    rgba(0,0,0,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
}

.proof-signal::before{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--green),var(--purple),transparent);
  opacity:.65;
}

.proof-signal strong{
  display:block;
  color:#fff;
  font-size:15px;
  font-weight:1000;
  text-transform:uppercase;
}

.proof-signal span{
  display:block;
  margin-top:9px;
  color:rgba(255,255,255,.62);
  font-size:12px;
  line-height:1.4;
  font-weight:750;
}

.product-admin-badges{
  position:relative;
  z-index:3;
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:0 0 12px;
}

.product-admin-badges span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid rgba(36,255,36,.25);
  background:
    linear-gradient(135deg, rgba(36,255,36,.14), rgba(162,12,255,.12)),
    rgba(0,0,0,.38);
  color:#fff;
  font-size:10px;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.08em;
  box-shadow:0 0 18px rgba(36,255,36,.10);
}

.product-card.is-featured-product{
  border-color:rgba(36,255,36,.30);
  box-shadow:
    0 24px 72px rgba(0,0,0,.72),
    0 0 36px rgba(36,255,36,.11),
    0 0 44px rgba(162,12,255,.10);
}

.product-empty-state{
  grid-column:1 / -1;
  min-height:220px;
}

.cart-item-note{
  display:inline-flex;
  margin-top:6px;
  color:rgba(255,255,255,.56);
  font-size:11px;
  font-weight:850;
  text-transform:uppercase;
}

.cart-upgrade-note{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
  margin-top:12px;
  padding:13px;
  border-radius:18px;
  border:1px solid rgba(162,12,255,.28);
  background:
    radial-gradient(circle at 0% 0%, rgba(162,12,255,.18), transparent 42%),
    radial-gradient(circle at 100% 0%, rgba(36,255,36,.13), transparent 42%),
    rgba(0,0,0,.36);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
}

.cart-upgrade-note strong,
.cart-upgrade-note span{
  display:block;
}

.cart-upgrade-note strong{
  color:#fff;
  font-size:14px;
  font-weight:1000;
}

.cart-upgrade-note span{
  margin-top:4px;
  color:rgba(255,255,255,.62);
  font-size:12px;
  font-weight:760;
}

.cart-upgrade-note button{
  min-height:42px;
  padding:0 13px;
  border-radius:999px;
  border:1px solid rgba(36,255,36,.28);
  background:rgba(36,255,36,.10);
  color:var(--green);
  font-size:12px;
  font-weight:1000;
  text-transform:uppercase;
  cursor:pointer;
}

.checkout-confidence{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px;
  margin:10px 0;
}

.checkout-confidence span{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:6px 7px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.045);
  color:rgba(255,255,255,.70);
  font-size:10px;
  line-height:1.15;
  font-weight:950;
  text-align:center;
  text-transform:uppercase;
}

.cart-policy-card{
  margin:10px 0;
  padding:13px;
  border-radius:16px;
  border:1px solid rgba(36,255,36,.16);
  background:
    radial-gradient(circle at 0% 0%, rgba(36,255,36,.10), transparent 42%),
    rgba(0,0,0,.32);
}

.cart-policy-card strong{
  display:block;
  color:#fff;
  font-size:13px;
  font-weight:1000;
  text-transform:uppercase;
}

.cart-policy-card p{
  margin:6px 0 0;
  color:rgba(255,255,255,.62);
  font-size:12px;
  line-height:1.42;
  font-weight:720;
}

.detail-premium-summary{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
  margin:12px 0;
}

.detail-premium-summary div{
  min-height:78px;
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.11);
  background:
    radial-gradient(circle at 0% 0%, rgba(36,255,36,.10), transparent 42%),
    rgba(255,255,255,.04);
}

.detail-premium-summary span,
.detail-premium-summary strong{
  display:block;
}

.detail-premium-summary span{
  color:var(--green);
  font-size:10px;
  font-weight:1000;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.detail-premium-summary strong{
  margin-top:8px;
  color:#fff;
  font-size:13px;
  line-height:1.18;
  font-weight:1000;
}

body.performance-lite #emxRainCanvas{
  opacity:.18 !important;
}

body.performance-lite #galaxyCanvas{
  opacity:.34 !important;
}

body.performance-lite .product-card::after,
body.performance-lite .bundle-card::after,
body.performance-lite .vouch-card::after,
body.performance-lite .proof-card::after,
body.performance-lite .hero-card::after,
body.performance-lite .vouch-discord-card::after,
body.performance-lite .cart-drawer::after,
body.performance-lite .legal-actions .btn-outline::after,
body.performance-lite .trust-pill::after{
  animation:none !important;
}

body.performance-lite .product-card,
body.performance-lite .bundle-card,
body.performance-lite .hero-card,
body.performance-lite .trust-pill,
body.performance-lite .vouch-card,
body.performance-lite .proof-card,
body.performance-lite .legal-card,
body.performance-lite .faq-row,
body.performance-lite .vouch-discord-card,
body.performance-lite .cart-drawer,
body.performance-lite .detail-card,
body.performance-lite .legal-modal-card,
body.performance-lite .install-card,
body.performance-lite .support-panel,
body.performance-lite .pro-command-dock,
body.performance-lite .floating-footer,
body.performance-lite header{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

@media (max-width:720px){
  .header-actions .icon-btn{
    width:44px !important;
    min-width:44px;
    padding:0;
  }

  .header-action-label{
    display:none;
  }

  .header-action-icon{
    font-size:10px;
  }

  #searchToggle .header-action-icon{
    font-size:23px;
  }

  .vouch-trust-strip,
  .proof-signal-row,
  .checkout-confidence{
    grid-template-columns:1fr;
  }

  .detail-premium-summary{
    grid-template-columns:1fr;
  }

  .cart-upgrade-note{
    grid-template-columns:1fr;
  }

  .cart-upgrade-note button{
    width:100%;
  }
}

/* PREMIUM STORE REFRESH */
.hero{
  padding:18px 16px 8px;
}

.hero-card{
  border-radius:32px !important;
  padding:20px !important;
  isolation:isolate;
  background:
    radial-gradient(circle at 12% 0%, rgba(36,255,36,.20), transparent 36%),
    radial-gradient(circle at 88% 8%, rgba(162,12,255,.26), transparent 40%),
    linear-gradient(145deg, rgba(13,15,20,.94), rgba(3,4,6,.86)) !important;
}

.hero-grid{
  position:relative;
  z-index:3;
  display:grid;
  gap:18px;
}

.hero-copy{
  min-width:0;
}

.hero-card h1{
  font-size:42px !important;
  letter-spacing:0 !important;
  line-height:.96 !important;
  max-width:720px;
}

.hero-card h1 span{
  background:linear-gradient(90deg,#fff,var(--green),var(--purple));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent !important;
}

.hero-card p{
  max-width:620px;
  color:rgba(255,255,255,.70) !important;
  font-weight:750;
}

.hero-actions{
  grid-template-columns:1fr !important;
  max-width:none !important;
}

.hero-actions .btn-filled,
.hero-actions .btn-outline{
  min-height:58px;
  white-space:normal;
  text-align:center;
}

.hero-store-btn{
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.32), transparent 44%),
    linear-gradient(135deg,var(--green),#93ff44 52%,#ffffff) !important;
}

.hero-map-btn{
  color:#fff !important;
  border-color:rgba(162,12,255,.42) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(162,12,255,.22), transparent 46%),
    rgba(162,12,255,.08) !important;
}

.hero-visual{
  position:relative;
  min-height:244px;
  display:grid;
  place-items:center;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(90deg, rgba(36,255,36,.07) 1px, transparent 1px),
    linear-gradient(0deg, rgba(162,12,255,.07) 1px, transparent 1px),
    radial-gradient(circle at 50% 35%, rgba(36,255,36,.10), transparent 42%),
    rgba(0,0,0,.30);
  background-size:32px 32px,32px 32px,auto,auto;
  overflow:hidden;
}

.hero-visual::before{
  content:"";
  position:absolute;
  width:280px;
  height:280px;
  border-radius:999px;
  border:1px solid rgba(36,255,36,.20);
  box-shadow:
    0 0 40px rgba(36,255,36,.12),
    inset 0 0 45px rgba(162,12,255,.18);
  transform:rotate(-18deg);
}

.hero-logo-float{
  width:min(290px,78vw) !important;
  height:128px !important;
  margin:0 !important;
}

.hero-system-panel{
  position:absolute;
  left:14px;
  right:14px;
  bottom:14px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.58);
  padding:13px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 18px 38px rgba(0,0,0,.38);
}

.system-panel-head,
.system-tags{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

.system-panel-head span{
  color:var(--green);
  font-size:11px;
  font-weight:950;
}

.system-panel-head strong{
  color:#060606;
  background:var(--green);
  border-radius:999px;
  padding:5px 8px;
  font-size:10px;
  font-weight:950;
}

.system-meter{
  height:8px;
  margin-top:10px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.10);
}

.system-meter i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--green),#f2fff2);
  box-shadow:0 0 14px rgba(36,255,36,.44);
}

.system-meter.purple i{
  background:linear-gradient(90deg,var(--purple),var(--green));
}

.system-tags{
  margin-top:12px;
}

.system-tags span{
  flex:1;
  min-height:28px;
  display:grid;
  place-items:center;
  border-radius:999px;
  color:rgba(255,255,255,.78);
  border:1px solid rgba(255,255,255,.10);
  font-size:10px;
  font-weight:950;
}

.hero-stats{
  margin-top:0 !important;
}

.premium-product-card{
  border-radius:28px !important;
  border-color:rgba(255,255,255,.13) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(36,255,36,.14), transparent 34%),
    radial-gradient(circle at 90% 0%, rgba(162,12,255,.19), transparent 42%),
    linear-gradient(155deg, rgba(13,15,20,.92), rgba(3,4,6,.78)) !important;
  padding:18px !important;
}

.product-premium-rail{
  position:absolute;
  left:0;
  top:18px;
  bottom:18px;
  width:3px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--green),var(--purple));
  box-shadow:
    0 0 16px rgba(36,255,36,.45),
    0 0 18px rgba(162,12,255,.35);
}

.premium-product-card .product-eyebrow{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  padding:7px 9px;
  border-radius:999px;
  border:1px solid rgba(36,255,36,.20);
  background:rgba(36,255,36,.07);
  letter-spacing:0 !important;
}

.premium-product-card .card-title{
  font-size:24px !important;
  letter-spacing:0 !important;
}

.premium-product-card .current-price{
  font-size:38px !important;
  letter-spacing:0 !important;
}

.product-value-row{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
  margin:0 0 14px;
}

.product-value-row span{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.24);
  color:rgba(255,255,255,.72);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}

.premium-product-card .preview-wrap{
  border-radius:22px !important;
  border-color:rgba(36,255,36,.18) !important;
  aspect-ratio:16/11;
}

.preview-type-pill{
  position:absolute;
  top:12px;
  left:12px;
  z-index:3;
  border-radius:999px;
  padding:7px 10px;
  color:#050505;
  background:linear-gradient(135deg,var(--green),#ffffff);
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
  pointer-events:none;
}

.premium-product-card .button-group-row{
  grid-template-columns:1fr !important;
}

.premium-product-card .btn-outline,
.premium-product-card .btn-filled{
  min-height:52px !important;
  letter-spacing:0 !important;
}

@media (min-width:680px){
  .hero-grid{
    grid-template-columns:1.08fr .92fr;
    align-items:stretch;
  }

  .hero-stats{
    grid-column:1 / -1;
  }

  .hero-actions{
    grid-template-columns:1.05fr .82fr .95fr !important;
  }

  .product-value-row{
    grid-template-columns:repeat(3,1fr);
  }
}

@media (min-width:920px){
  .hero-card{
    padding:26px !important;
  }

  .hero-card h1{
    font-size:58px !important;
  }

  .hero-visual{
    min-height:330px;
  }

  .card-container{
    gap:20px !important;
  }
}

@media (max-width:520px){
  .hero{
    padding:12px 16px 6px;
  }

  .hero-card{
    padding:16px !important;
    border-radius:26px !important;
  }

  .hero-grid{
    gap:14px;
  }

  .hero-card h1{
    font-size:33px !important;
  }

  .hero-card p{
    font-size:14px !important;
    line-height:1.42 !important;
  }

  .hero-actions{
    gap:9px;
  }

  .hero-actions .btn-filled,
  .hero-actions .btn-outline{
    min-height:52px !important;
  }

  .hero-visual{
    min-height:214px;
  }

  .hero-logo-float{
    width:min(214px,68vw) !important;
    height:96px !important;
  }

  .hero-system-panel{
    left:10px;
    right:10px;
    bottom:10px;
    padding:10px;
    border-radius:17px;
  }

  .system-meter{
    height:6px;
    margin-top:8px;
  }

  .system-tags{
    margin-top:8px;
  }

  .system-tags span{
    min-height:24px;
    font-size:9px;
  }

  .hero-stats{
    gap:8px !important;
  }

  .hero-stat{
    min-height:58px !important;
    padding:10px 8px !important;
  }

  .premium-product-card .card-title{
    font-size:22px !important;
  }
}

/* EMX CUSTOM OS DROP + ANALYZER */
.custom-os-drop{
  padding:10px 16px 26px;
}

.custom-os-tab-shell{
  width:min(1180px,100%);
  margin:0 auto;
  position:relative;
  overflow:hidden;
  border-radius:30px;
  border:1px solid rgba(36,255,36,.26);
  background:
    linear-gradient(90deg, rgba(36,255,36,.07) 1px, transparent 1px),
    linear-gradient(0deg, rgba(162,12,255,.07) 1px, transparent 1px),
    radial-gradient(circle at 12% 0%, rgba(36,255,36,.20), transparent 34%),
    radial-gradient(circle at 92% 0%, rgba(162,12,255,.22), transparent 38%),
    rgba(0,0,0,.64);
  background-size:34px 34px,34px 34px,auto,auto,auto;
  box-shadow:
    0 28px 80px rgba(0,0,0,.72),
    0 0 38px rgba(36,255,36,.10),
    inset 0 1px 0 rgba(255,255,255,.08);
  animation:emxCardZoomAcross .82s cubic-bezier(.2,.8,.2,1) both;
}

.custom-os-tabbar{
  display:flex;
  gap:8px;
  padding:14px 14px 0;
  overflow-x:auto;
  scrollbar-width:none;
}

.custom-os-tabbar::-webkit-scrollbar{
  display:none;
}

.custom-os-tab{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  padding:0 13px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.36);
  color:rgba(255,255,255,.72);
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}

.custom-os-tab.active{
  color:#030303;
  background:linear-gradient(135deg,var(--green),#ffffff);
  border-color:rgba(36,255,36,.58);
  box-shadow:0 0 24px rgba(36,255,36,.28);
}

.custom-os-layout{
  display:grid;
  gap:18px;
  padding:18px;
}

.custom-os-copy h2{
  margin:8px 0 12px;
  color:#fff;
  font-size:clamp(34px,7vw,70px);
  line-height:.94;
  font-weight:1000;
  letter-spacing:0;
}

.custom-os-copy h2 span{
  color:var(--green);
  text-shadow:0 0 24px rgba(36,255,36,.34);
}

.custom-os-copy p{
  max-width:680px;
  color:rgba(255,255,255,.72);
  font-size:15px;
  line-height:1.6;
  font-weight:760;
}

.custom-os-signal-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
  margin:18px 0;
}

.custom-os-signal-grid div{
  min-height:78px;
  padding:13px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.11);
  background:
    radial-gradient(circle at 0% 0%, rgba(36,255,36,.10), transparent 42%),
    rgba(0,0,0,.34);
}

.custom-os-signal-grid strong,
.custom-os-signal-grid span{
  display:block;
}

.custom-os-signal-grid strong{
  color:#fff;
  font-size:20px;
  font-weight:1000;
}

.custom-os-signal-grid span{
  margin-top:8px;
  color:rgba(255,255,255,.64);
  font-size:12px;
  font-weight:850;
  line-height:1.35;
}

.custom-os-actions{
  display:grid;
  gap:10px;
}

.custom-os-actions .btn-filled,
.custom-os-actions .btn-outline{
  min-height:56px;
  letter-spacing:0 !important;
}

.custom-os-preview{
  min-width:0;
  display:grid;
  gap:10px;
  align-content:start;
  border:1px solid rgba(36,255,36,.22);
  border-radius:24px;
  padding:12px;
  background:rgba(0,0,0,.42);
  cursor:pointer;
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.custom-os-preview:hover{
  transform:translateY(-4px) scale(1.01);
  border-color:rgba(36,255,36,.50);
  box-shadow:
    0 24px 54px rgba(0,0,0,.48),
    0 0 34px rgba(36,255,36,.16);
}

.custom-os-preview img{
  width:100%;
  aspect-ratio:16 / 10;
  object-fit:cover;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:#000;
}

.custom-os-preview span{
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--green);
  font-size:12px;
  font-weight:1000;
  text-transform:uppercase;
}

#pc-analyzer-modal{
  position:fixed;
  inset:0;
  z-index:10000200;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(0,0,0,.82);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .25s ease, visibility .25s ease;
}

#pc-analyzer-modal.show{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.pc-analyzer-card{
  width:min(960px,100%);
  max-height:calc(100vh - 36px);
  overflow:auto;
  position:relative;
  border-radius:28px;
  border:1px solid rgba(36,255,36,.30);
  background:
    linear-gradient(90deg, rgba(36,255,36,.06) 1px, transparent 1px),
    linear-gradient(0deg, rgba(126,162,255,.06) 1px, transparent 1px),
    radial-gradient(circle at 12% 0%, rgba(36,255,36,.20), transparent 34%),
    radial-gradient(circle at 92% 0%, rgba(126,162,255,.20), transparent 38%),
    #050608;
  background-size:30px 30px,30px 30px,auto,auto,auto;
  padding:18px;
  box-shadow:
    0 30px 90px rgba(0,0,0,.82),
    0 0 52px rgba(36,255,36,.18);
  animation:emxModalWarpIn .42s cubic-bezier(.2,.8,.2,1) both;
}

.pc-analyzer-head{
  display:grid;
  gap:14px;
  align-items:center;
}

.pc-analyzer-head h2{
  color:#fff;
  font-size:clamp(30px,6vw,58px);
  line-height:.98;
  font-weight:1000;
  letter-spacing:0;
}

.pc-analyzer-head h2 span{
  color:var(--green);
}

.pc-analyzer-head p{
  margin-top:10px;
  max-width:650px;
  color:rgba(255,255,255,.68);
  line-height:1.5;
  font-weight:760;
}

.pc-analyzer-score{
  min-height:118px;
  display:grid;
  place-items:center;
  border-radius:24px;
  border:1px solid rgba(36,255,36,.25);
  background:rgba(0,0,0,.42);
}

.pc-analyzer-score span{
  color:var(--green);
  font-size:48px;
  line-height:1;
  font-weight:1000;
  text-shadow:0 0 24px rgba(36,255,36,.38);
}

.pc-analyzer-score strong{
  color:#fff;
  font-size:12px;
  font-weight:1000;
  text-transform:uppercase;
}

.pc-analyzer-card.scanning .pc-analyzer-score span{
  animation:emxScanPulse .72s ease-in-out infinite alternate;
}

.pc-analyzer-grid{
  display:grid;
  gap:10px;
  margin:16px 0;
}

.pc-analyzer-modebar{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:9px;
  margin:16px 0 6px;
}

.pc-analyzer-modebar button{
  min-width:0;
  min-height:86px;
  display:grid;
  gap:6px;
  align-content:center;
  text-align:left;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 50% 0%, rgba(36,255,36,.08), transparent 48%),
    rgba(0,0,0,.34);
  color:#fff;
  padding:13px;
  cursor:pointer;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.pc-analyzer-modebar button:hover,
.pc-analyzer-modebar button:focus-visible,
.pc-analyzer-modebar button.active{
  border-color:rgba(36,255,36,.50);
  background:
    radial-gradient(circle at 50% 0%, rgba(36,255,36,.20), transparent 52%),
    rgba(0,0,0,.45);
  box-shadow:0 0 24px rgba(36,255,36,.14);
  transform:translateY(-1px);
}

.pc-analyzer-modebar strong,
.pc-analyzer-modebar span{
  display:block;
}

.pc-analyzer-modebar strong{
  color:var(--green);
  font-size:14px;
  font-weight:1000;
  text-transform:uppercase;
}

.pc-analyzer-modebar span{
  color:rgba(255,255,255,.64);
  font-size:11px;
  line-height:1.35;
  font-weight:800;
}

.pc-analyzer-panel{
  padding:15px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.11);
  background:rgba(0,0,0,.34);
}

.pc-analyzer-panel.primary{
  border-color:rgba(36,255,36,.30);
  box-shadow:0 0 24px rgba(36,255,36,.08);
}

.pc-analyzer-panel span,
.pc-analyzer-panel strong{
  display:block;
}

.pc-analyzer-panel span{
  color:var(--green);
  font-size:10px;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.pc-analyzer-panel strong{
  margin-top:8px;
  color:#fff;
  font-size:20px;
  font-weight:1000;
}

.pc-analyzer-panel p,
.pc-analyzer-panel li{
  color:rgba(255,255,255,.68);
  font-size:13px;
  line-height:1.45;
  font-weight:760;
}

.pc-analyzer-panel p{
  margin-top:8px;
}

.pc-analyzer-panel ul{
  display:grid;
  gap:8px;
  margin-top:10px;
  list-style:none;
}

.pc-analyzer-panel li{
  padding:9px 10px;
  border-radius:12px;
  background:rgba(255,255,255,.045);
}

.pc-analyzer-panel li.pc-analyzer-locked{
  color:rgba(255,255,255,.48);
  background:
    linear-gradient(90deg, rgba(255,255,255,.045), rgba(36,255,36,.035)),
    rgba(255,255,255,.03);
}

.pc-analyzer-loading-row{
  display:flex;
  align-items:center;
  gap:10px;
}

.pc-analyzer-loading-row i{
  width:15px;
  height:15px;
  flex:0 0 15px;
  border-radius:999px;
  border:2px solid rgba(36,255,36,.20);
  border-top-color:var(--green);
  box-shadow:0 0 18px rgba(36,255,36,.24);
  animation:emxScanSpin .72s linear infinite;
}

.pc-analyzer-skeleton{
  position:relative;
  overflow:hidden;
}

.pc-analyzer-skeleton::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(105deg, transparent 0 35%, rgba(36,255,36,.14) 48%, transparent 62% 100%);
  transform:translateX(-115%);
  animation:emxScanSweep 1.15s ease-in-out infinite;
}

.pc-analyzer-deep-grid,
.pc-analyzer-tweaks-panel{
  display:grid;
  gap:10px;
  margin:0 0 14px;
}

.pc-analyzer-lift{
  display:grid;
  gap:9px;
  margin-top:12px;
}

.pc-analyzer-lift div{
  border-radius:16px;
  border:1px solid rgba(36,255,36,.17);
  background:
    radial-gradient(circle at 100% 0%, rgba(162,12,255,.15), transparent 46%),
    rgba(0,0,0,.30);
  padding:12px;
}

.pc-analyzer-lift strong{
  margin:0;
  color:#fff;
  font-size:16px;
  line-height:1.15;
}

.pc-analyzer-lift p{
  margin:5px 0 0;
  color:rgba(36,255,36,.86);
  font-size:11px;
  font-weight:1000;
  text-transform:uppercase;
}

.pc-analyzer-breakdown{
  display:grid;
  gap:10px;
  margin-top:12px;
}

.pc-analyzer-meter{
  display:grid;
  gap:6px;
}

.pc-analyzer-meter b{
  color:#fff;
  font-size:13px;
  font-weight:1000;
}

.pc-analyzer-meter i{
  position:relative;
  display:block;
  height:9px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.pc-analyzer-meter em{
  position:absolute;
  inset:0 auto 0 0;
  border-radius:999px;
  background:linear-gradient(90deg, var(--green), #7eff5f, var(--purple));
  box-shadow:0 0 18px rgba(36,255,36,.38);
  transition:width .48s ease;
}

.pc-analyzer-meter small{
  color:rgba(255,255,255,.56);
  font-size:11px;
  font-weight:800;
}

.pc-analyzer-tweaks{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:9px;
  margin-top:12px;
}

.pc-analyzer-tweaks button{
  min-width:0;
  min-height:132px;
  display:grid;
  align-content:start;
  gap:6px;
  text-align:left;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.11);
  background:
    linear-gradient(130deg, rgba(36,255,36,.08), rgba(162,12,255,.08)),
    rgba(0,0,0,.30);
  padding:12px;
  cursor:pointer;
}

.pc-analyzer-tweaks button:disabled,
.pc-analyzer-actions button:disabled{
  cursor:not-allowed;
  opacity:.54;
  filter:saturate(.6);
}

.pc-analyzer-tweaks button:hover,
.pc-analyzer-tweaks button:focus-visible{
  border-color:rgba(36,255,36,.34);
  box-shadow:0 0 22px rgba(36,255,36,.10);
}

.pc-analyzer-tweaks button span{
  width:max-content;
  max-width:100%;
  border-radius:999px;
  border:1px solid rgba(36,255,36,.22);
  background:rgba(36,255,36,.10);
  color:var(--green);
  padding:5px 8px;
  font-size:9px;
  letter-spacing:.08em;
}

.pc-analyzer-tweaks button strong{
  margin:0;
  color:#fff;
  font-size:15px;
  line-height:1.15;
}

.pc-analyzer-tweaks button p{
  margin:0;
  color:rgba(255,255,255,.62);
  font-size:12px;
  line-height:1.38;
}

.pc-analyzer-actions{
  display:grid;
  gap:10px;
}

.pc-analyzer-actions .btn-outline,
.pc-analyzer-actions .btn-filled{
  min-height:54px;
  letter-spacing:0 !important;
}

.emx-screen-streak{
  position:fixed;
  z-index:10000150;
  width:16px;
  height:16px;
  border-radius:999px;
  pointer-events:none;
  transform:translate(-50%,-50%);
  background:linear-gradient(135deg,var(--green),#fff,var(--purple));
  box-shadow:
    0 0 28px rgba(36,255,36,.80),
    0 0 58px rgba(162,12,255,.58);
  animation:emxClickZoomAcross .72s cubic-bezier(.2,.8,.2,1) forwards;
}

.product-card,
.bundle-card,
.trust-pill,
.vouch-card{
  animation:emxCardZoomAcross .72s cubic-bezier(.2,.8,.2,1) both;
}

#media-modal.show .preview-modal-card,
#detail-modal.show .detail-card,
#legal-modal.show .legal-modal-card,
#installAppPopup.show .install-card{
  animation:emxModalWarpIn .42s cubic-bezier(.2,.8,.2,1) both;
}

@keyframes emxCardZoomAcross{
  0%{
    opacity:0;
    transform:translate3d(34px,22px,0) scale(.94);
    filter:blur(8px);
  }
  100%{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
    filter:blur(0);
  }
}

@keyframes emxModalWarpIn{
  0%{
    opacity:0;
    transform:translateY(28px) scale(.90);
    filter:blur(10px);
  }
  65%{
    opacity:1;
    transform:translateY(-4px) scale(1.015);
    filter:blur(0);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0);
  }
}

@keyframes emxClickZoomAcross{
  0%{
    opacity:.95;
    transform:translate(-50%,-50%) scale(1) rotate(0deg);
  }
  55%{
    opacity:.9;
    transform:translate(calc(-50% + 22vw), calc(-50% - 8vh)) scale(28, .62) rotate(-10deg);
  }
  100%{
    opacity:0;
    transform:translate(calc(-50% + 52vw), calc(-50% - 18vh)) scale(62, .18) rotate(-14deg);
  }
}

@keyframes emxScanSpin{
  to{
    transform:rotate(360deg);
  }
}

@keyframes emxScanSweep{
  0%{
    transform:translateX(-115%);
  }
  100%{
    transform:translateX(115%);
  }
}

@keyframes emxScanPulse{
  0%{
    opacity:.58;
    filter:drop-shadow(0 0 4px rgba(36,255,36,.20));
  }
  100%{
    opacity:1;
    filter:drop-shadow(0 0 18px rgba(36,255,36,.65));
  }
}

@media (min-width:720px){
  .custom-os-layout{
    grid-template-columns:1.04fr .96fr;
    align-items:center;
    padding:22px;
  }

  .custom-os-signal-grid,
  .custom-os-actions,
  .pc-analyzer-actions{
    grid-template-columns:repeat(3,1fr);
  }

  .pc-analyzer-head{
    grid-template-columns:1fr 160px;
  }

  .pc-analyzer-grid{
    grid-template-columns:1.1fr .95fr .95fr;
  }

  .pc-analyzer-deep-grid,
  .pc-analyzer-tweaks-panel{
    grid-template-columns:1fr 1fr;
  }

  .hero-actions{
    grid-template-columns:repeat(4,1fr) !important;
  }
}

@media (max-width:560px){
  .custom-os-drop{
    padding-left:12px;
    padding-right:12px;
  }

  .custom-os-tab-shell,
  .pc-analyzer-card{
    border-radius:24px;
  }

  .custom-os-layout{
    padding:14px;
  }

  .pc-analyzer-card{
    padding:14px;
  }

  .pc-analyzer-modebar{
    grid-template-columns:1fr;
  }

  .pc-analyzer-tweaks{
    grid-template-columns:1fr;
  }

  .pro-command-dock{
    max-width:calc(100vw - 18px);
    overflow-x:auto;
    justify-content:flex-start;
  }
}

@media (prefers-reduced-motion:reduce){
  .product-card,
  .bundle-card,
  .trust-pill,
  .vouch-card,
  .custom-os-tab-shell,
  .pc-analyzer-card,
  #media-modal.show .preview-modal-card,
  #detail-modal.show .detail-card,
  #legal-modal.show .legal-modal-card,
  #installAppPopup.show .install-card,
  .emx-screen-streak{
    animation:none !important;
  }
}

/* EMX FULL-SITE MOTION PASS */
header{
  animation:emxHeaderDrop .58s cubic-bezier(.2,.8,.2,1) both;
}

.header-actions .icon-btn,
.dock-command,
.floating-footer .btn-discord,
.floating-footer .btn-tiktok,
.support-fab,
.floating-share{
  transition:
    transform .2s ease,
    border-color .2s ease,
    box-shadow .2s ease,
    background .2s ease,
    filter .2s ease;
}

.header-actions .icon-btn:hover,
.dock-command:hover,
.floating-footer .btn-discord:hover,
.floating-footer .btn-tiktok:hover,
.support-fab:hover,
.floating-share:hover{
  transform:translateY(-3px) scale(1.035);
  filter:brightness(1.08);
  box-shadow:
    0 16px 34px rgba(0,0,0,.42),
    0 0 26px rgba(36,255,36,.18),
    0 0 22px rgba(162,12,255,.14);
}

.pro-command-dock{
  animation:emxDockRise .68s cubic-bezier(.2,.8,.2,1) .45s both;
}

.floating-footer{
  animation:emxFooterRise .68s cubic-bezier(.2,.8,.2,1) .55s both;
}

.support-widget.open .support-panel,
#supportPanel.open,
.support-panel{
  transform-origin:bottom right;
}

.support-widget.open .support-panel{
  animation:emxPanelPop .34s cubic-bezier(.2,.8,.2,1) both;
}

body.emx-route-leaving header,
body.emx-route-leaving main,
body.emx-route-leaving .pro-command-dock,
body.emx-route-leaving .floating-footer,
body.emx-route-leaving #supportWidget{
  animation:emxRoutePageExit .42s cubic-bezier(.2,.8,.2,1) both !important;
}

.emx-route-wipe{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 50% 50%, rgba(36,255,36,.2), transparent 30%),
    linear-gradient(100deg, rgba(0,0,0,.96), rgba(20,0,36,.98), rgba(0,0,0,.96));
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  clip-path:polygon(0 0, 0 0, 0 100%, 0 100%);
}

.emx-route-wipe.show{
  opacity:1;
  visibility:visible;
  animation:emxRouteWipe .76s cubic-bezier(.2,.8,.2,1) both;
}

.emx-route-wipe span{
  color:#24ff24;
  font-size:clamp(2.4rem, 8vw, 7rem);
  font-weight:900;
  letter-spacing:.08em;
  text-shadow:
    0 0 18px rgba(36,255,36,.52),
    0 0 44px rgba(162,12,255,.48);
  animation:emxRouteLogoFly .42s cubic-bezier(.2,.8,.2,1) both;
}

html.emx-route-arrive #instantBlackout::after{
  content:"EMX";
}

.cart-drawer.show{
  animation:emxDrawerSlide .34s cubic-bezier(.2,.8,.2,1) both;
}

.drawer-backdrop.show{
  animation:emxFadeIn .22s ease both;
}

.faq-row{
  transition:
    transform .22s ease,
    border-color .22s ease,
    background .22s ease,
    box-shadow .22s ease;
}

.faq-row:hover,
.faq-row.open{
  transform:translateY(-2px);
  border-color:rgba(36,255,36,.28);
  box-shadow:0 18px 36px rgba(0,0,0,.28), 0 0 24px rgba(36,255,36,.08);
}

.faq-row.open .faq-answer{
  animation:emxAnswerReveal .26s ease both;
}

.pc-analyzer-panel,
.detail-mini,
.custom-os-signal-grid div{
  animation:emxPanelScanIn .46s cubic-bezier(.2,.8,.2,1) both;
}

.pc-analyzer-panel:nth-child(2),
.detail-mini:nth-child(2),
.custom-os-signal-grid div:nth-child(2){
  animation-delay:.07s;
}

.pc-analyzer-panel:nth-child(3),
.detail-mini:nth-child(3),
.custom-os-signal-grid div:nth-child(3){
  animation-delay:.14s;
}

.btn-filled,
.btn-outline,
.map-card-button,
.support-action,
.cart-upgrade-note button{
  position:relative;
  overflow:hidden;
}

.btn-filled::before,
.btn-outline::before,
.map-card-button::before,
.support-action::before,
.cart-upgrade-note button::before{
  content:"";
  position:absolute;
  inset:-40% auto -40% -80%;
  width:42%;
  transform:skewX(-22deg);
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.24), transparent);
  opacity:0;
  pointer-events:none;
}

.btn-filled:hover::before,
.btn-outline:hover::before,
.map-card-button:hover::before,
.support-action:hover::before,
.cart-upgrade-note button:hover::before{
  animation:emxButtonSweep .74s ease both;
}

.product-gallery-row .gallery-thumb-btn,
.vouch-proof-pill,
.bundle-preview-card{
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, filter .22s ease;
}

.product-gallery-row .gallery-thumb-btn:hover,
.vouch-proof-pill:hover,
.bundle-preview-card:hover{
  transform:translateY(-4px) scale(1.035);
  filter:brightness(1.08);
  border-color:rgba(36,255,36,.34);
  box-shadow:0 18px 34px rgba(0,0,0,.34), 0 0 24px rgba(36,255,36,.10);
}

@keyframes emxHeaderDrop{
  0%{ opacity:0; transform:translateY(-24px) scale(.98); filter:blur(8px); }
  100%{ opacity:1; transform:translateY(0) scale(1); filter:blur(0); }
}

@keyframes emxDockRise{
  0%{ opacity:0; transform:translate(-50%, 28px) scale(.94); filter:blur(8px); }
  100%{ opacity:1; transform:translate(-50%, 0) scale(1); filter:blur(0); }
}

@keyframes emxFooterRise{
  0%{ opacity:0; transform:translateY(28px) scale(.96); filter:blur(8px); }
  100%{ opacity:1; transform:translateY(0) scale(1); filter:blur(0); }
}

@keyframes emxPanelPop{
  0%{ opacity:0; transform:translateY(18px) scale(.90); filter:blur(8px); }
  100%{ opacity:1; transform:translateY(0) scale(1); filter:blur(0); }
}

@keyframes emxDrawerSlide{
  0%{ opacity:0; transform:translateX(36px) scale(.98); filter:blur(8px); }
  100%{ opacity:1; transform:translateX(0) scale(1); filter:blur(0); }
}

@keyframes emxFadeIn{
  from{ opacity:0; }
  to{ opacity:1; }
}

@keyframes emxRoutePageExit{
  0%{
    opacity:1;
    transform:translateX(0) scale(1);
    filter:blur(0) brightness(1);
  }
  100%{
    opacity:0;
    transform:translateX(-7vw) scale(.97);
    filter:blur(8px) brightness(.68);
  }
}

@keyframes emxRouteWipe{
  0%{
    clip-path:polygon(0 0, 0 0, 0 100%, 0 100%);
  }
  100%{
    clip-path:polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}

@keyframes emxRouteLogoFly{
  0%{
    opacity:0;
    transform:translateX(34vw) scale(.7);
    filter:blur(10px);
  }
  100%{
    opacity:1;
    transform:translateX(0) scale(1);
    filter:blur(0);
  }
}

@keyframes emxAnswerReveal{
  0%{ opacity:0; transform:translateY(-6px); filter:blur(4px); }
  100%{ opacity:1; transform:translateY(0); filter:blur(0); }
}

@keyframes emxPanelScanIn{
  0%{ opacity:0; transform:translateY(18px) scale(.97); filter:blur(6px); }
  100%{ opacity:1; transform:translateY(0) scale(1); filter:blur(0); }
}

@keyframes emxButtonSweep{
  0%{ opacity:0; left:-80%; }
  18%{ opacity:1; }
  100%{ opacity:0; left:124%; }
}

@media (prefers-reduced-motion:reduce){
  header,
  .pro-command-dock,
  .floating-footer,
  .support-widget.open .support-panel,
  .cart-drawer.show,
  .drawer-backdrop.show,
  .faq-row.open .faq-answer,
  .pc-analyzer-panel,
  .detail-mini,
  .custom-os-signal-grid div,
  .btn-filled:hover::before,
  .btn-outline:hover::before,
  .map-card-button:hover::before,
  .support-action:hover::before,
  .cart-upgrade-note button:hover::before{
    animation:none !important;
  }
}

/* EMX CART BUNDLE + MOBILE READABILITY FIX */
.cart-upgrade-note.is-hidden{
  display:none !important;
}

@media (max-width:640px){
  .cart-drawer{
    width:100vw !important;
    max-width:none !important;
    padding:calc(18px + var(--safeTop)) 14px calc(18px + var(--safeBottom)) !important;
  }

  .cart-list{
    gap:10px !important;
    padding-right:0 !important;
  }

  .cart-item{
    grid-template-columns:52px minmax(0,1fr) 38px !important;
    min-height:82px !important;
    gap:10px !important;
    padding:10px !important;
    align-items:center !important;
    border-radius:18px !important;
  }

  .cart-item img{
    display:block !important;
    width:52px !important;
    height:52px !important;
    border-radius:14px !important;
  }

  .cart-item h4{
    margin:0 0 5px !important;
    color:#fff !important;
    font-size:14px !important;
    line-height:1.16 !important;
    text-align:left !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }

  .cart-item p{
    margin:0 !important;
    font-size:13px !important;
    line-height:1.1 !important;
    text-align:left !important;
  }

  .cart-item-note{
    margin-top:4px !important;
    font-size:9px !important;
    line-height:1.2 !important;
    letter-spacing:.04em !important;
  }

  .remove-btn{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
  }

  .cart-upgrade-note{
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-top:2px !important;
    padding:12px !important;
  }

  .cart-upgrade-note strong{
    font-size:14px !important;
    line-height:1.16 !important;
  }

  .cart-upgrade-note span{
    font-size:11px !important;
    line-height:1.25 !important;
  }

  .cart-upgrade-note button{
    width:100% !important;
    min-height:40px !important;
  }
}

/* EMX CINEMATIC AUTO INTRO */
#emxLaunchOverlay.cinematic-launch::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(180deg, transparent 0%, rgba(255,255,255,.055) 50%, transparent 100%),
    repeating-linear-gradient(
      180deg,
      rgba(255,255,255,.035) 0,
      rgba(255,255,255,.035) 1px,
      transparent 1px,
      transparent 5px
    );
  opacity:.34;
  mix-blend-mode:screen;
  animation:emxVideoScan 3.4s linear infinite;
}

#emxLaunchOverlay.cinematic-launch::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 46%, rgba(36,255,36,.24), transparent 22%),
    radial-gradient(circle at 50% 54%, rgba(162,12,255,.28), transparent 34%),
    linear-gradient(90deg, rgba(0,0,0,.42), transparent 18%, transparent 82%, rgba(0,0,0,.42));
  opacity:.72;
  animation:emxCinematicBreath 5.8s ease-in-out infinite alternate;
}

#emxLaunchOverlay.cinematic-launch .emx-launch-core{
  z-index:4 !important;
  animation:emxCinematicCoreFloat 5.8s ease-in-out infinite;
}

#emxLaunchOverlay.cinematic-launch .emx-launch-logo-wrap{
  animation:
    launchLogoPop 1.2s cubic-bezier(.2,.8,.2,1) both,
    emxCinematicLogoPulse 4.8s ease-in-out 1.2s infinite !important;
}

#emxLaunchOverlay.cinematic-launch .emx-launch-title{
  position:relative;
  text-shadow:
    0 0 14px rgba(36,255,36,.42),
    0 0 28px rgba(162,12,255,.46);
  animation:emxTitleFlicker 3.2s steps(1,end) infinite;
}

#emxLaunchOverlay.cinematic-launch .emx-launch-bar{
  min-height:10px !important;
  box-shadow:
    0 0 24px rgba(36,255,36,.22),
    inset 0 1px 0 rgba(255,255,255,.12) !important;
}

#emxLaunchOverlay.cinematic-launch .emx-launch-status,
#emxLaunchOverlay.cinematic-launch .emx-launch-percent{
  color:rgba(255,255,255,.86) !important;
  text-shadow:0 0 16px rgba(36,255,36,.28);
}

@keyframes emxVideoScan{
  0%{ transform:translateY(-18%); }
  100%{ transform:translateY(18%); }
}

@keyframes emxCinematicBreath{
  0%{ opacity:.48; transform:scale(1); filter:hue-rotate(0deg); }
  100%{ opacity:.86; transform:scale(1.045); filter:hue-rotate(12deg); }
}

@keyframes emxCinematicCoreFloat{
  0%,100%{ transform:translateY(0) scale(1); }
  50%{ transform:translateY(-10px) scale(1.018); }
}

@keyframes emxCinematicLogoPulse{
  0%,100%{
    transform:translateY(0) scale(1);
    filter:drop-shadow(0 0 18px rgba(36,255,36,.40)) drop-shadow(0 0 34px rgba(162,12,255,.50));
  }
  50%{
    transform:translateY(-8px) scale(1.055);
    filter:drop-shadow(0 0 28px rgba(36,255,36,.62)) drop-shadow(0 0 56px rgba(162,12,255,.74));
  }
}

@keyframes emxTitleFlicker{
  0%, 100%{ opacity:1; transform:translateX(0); }
  8%{ opacity:.76; transform:translateX(1px); }
  9%{ opacity:1; transform:translateX(0); }
  54%{ opacity:.88; transform:translateX(-1px); }
  55%{ opacity:1; transform:translateX(0); }
}

@media (prefers-reduced-motion:reduce){
  #emxLaunchOverlay.cinematic-launch::before,
  #emxLaunchOverlay.cinematic-launch::after,
  #emxLaunchOverlay.cinematic-launch .emx-launch-core,
  #emxLaunchOverlay.cinematic-launch .emx-launch-logo-wrap,
  #emxLaunchOverlay.cinematic-launch .emx-launch-title{
    animation:none !important;
  }
}

/* EMX PAGE REVEAL AFTER INTRO */
body.emx-site-reveal header{
  animation:emxHeaderFlyHome 1.05s cubic-bezier(.16,.86,.18,1) both !important;
}

body.emx-site-reveal main{
  animation:emxPageFlyHome 1.25s cubic-bezier(.16,.86,.18,1) both !important;
}

body.emx-site-reveal .hero-card{
  animation:emxHeroFlyHome 1.35s cubic-bezier(.16,.86,.18,1) .08s both !important;
}

body.emx-site-reveal main > section:not(.hero){
  animation:emxSectionFlyHome 1.12s cubic-bezier(.16,.86,.18,1) both !important;
}

body.emx-site-reveal main > section:nth-child(2){
  animation-delay:.16s !important;
}

body.emx-site-reveal main > section:nth-child(3){
  animation-delay:.24s !important;
}

body.emx-site-reveal main > section:nth-child(4){
  animation-delay:.32s !important;
}

body.emx-site-reveal .pro-command-dock{
  animation:emxDockFlyHome 1.05s cubic-bezier(.16,.86,.18,1) .22s both !important;
}

body.emx-site-reveal .floating-footer{
  animation:emxFooterFlyHome 1.08s cubic-bezier(.16,.86,.18,1) .34s both !important;
}

body.emx-site-reveal #supportWidget,
body.emx-site-reveal .floating-share{
  animation:emxSideControlsFlyHome 1.08s cubic-bezier(.16,.86,.18,1) .44s both !important;
}

@keyframes emxPageFlyHome{
  0%{
    opacity:0;
    transform:translate3d(72px,28px,0) scale(.94);
    filter:blur(14px) saturate(1.35);
  }
  58%{
    opacity:1;
    transform:translate3d(-10px,-3px,0) scale(1.012);
    filter:blur(1px) saturate(1.12);
  }
  100%{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
    filter:blur(0) saturate(1);
  }
}

@keyframes emxHeaderFlyHome{
  0%{
    opacity:0;
    transform:translate3d(0,-42px,0) scale(.96);
    filter:blur(12px);
  }
  100%{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
    filter:blur(0);
  }
}

@keyframes emxHeroFlyHome{
  0%{
    opacity:0;
    transform:translate3d(-86px,18px,0) scale(.92);
    filter:blur(16px);
  }
  64%{
    opacity:1;
    transform:translate3d(10px,-2px,0) scale(1.014);
    filter:blur(1px);
  }
  100%{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
    filter:blur(0);
  }
}

@keyframes emxSectionFlyHome{
  0%{
    opacity:0;
    transform:translate3d(58px,24px,0) scale(.965);
    filter:blur(12px);
  }
  100%{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
    filter:blur(0);
  }
}

@keyframes emxDockFlyHome{
  0%{
    opacity:0;
    transform:translate(-50%, 44px) scale(.90);
    filter:blur(14px);
  }
  100%{
    opacity:1;
    transform:translate(-50%, 0) scale(1);
    filter:blur(0);
  }
}

@keyframes emxFooterFlyHome{
  0%{
    opacity:0;
    transform:translateY(46px) scale(.92);
    filter:blur(14px);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0);
  }
}

@keyframes emxSideControlsFlyHome{
  0%{
    opacity:0;
    transform:translateX(48px) scale(.88);
    filter:blur(12px);
  }
  100%{
    opacity:1;
    transform:translateX(0) scale(1);
    filter:blur(0);
  }
}

@media (prefers-reduced-motion:reduce){
  body.emx-site-reveal header,
  body.emx-site-reveal main,
  body.emx-site-reveal .hero-card,
  body.emx-site-reveal main > section:not(.hero),
  body.emx-site-reveal .pro-command-dock,
  body.emx-site-reveal .floating-footer,
  body.emx-site-reveal #supportWidget,
  body.emx-site-reveal .floating-share{
    animation:none !important;
  }
}

/* EMX Z-STYLE AIRY PRODUCT CINEMA */
@media (min-width:900px){
  body{
    padding-top:112px;
  }

  header{
    display:grid !important;
    grid-template-columns:auto auto minmax(360px,1fr) auto !important;
    align-items:center !important;
    gap:16px !important;
    left:24px !important;
    right:24px !important;
    top:18px !important;
    width:auto !important;
    min-height:70px !important;
    border-radius:999px !important;
    border:1px solid rgba(255,255,255,.10) !important;
    background:rgba(0,0,0,.54) !important;
    backdrop-filter:blur(22px) saturate(1.15) !important;
    -webkit-backdrop-filter:blur(22px) saturate(1.15) !important;
    box-shadow:
      0 18px 48px rgba(0,0,0,.44),
      inset 0 1px 0 rgba(255,255,255,.08) !important;
  }

  .header-left{
    justify-self:start;
  }

  .header-logo-img-wrap{
    width:52px !important;
    height:52px !important;
  }

  .header-main-text{
    justify-self:center;
    text-align:center;
    letter-spacing:.10em;
  }

  .site-nav-tabs{
    justify-self:center;
    display:flex;
    align-items:center;
    gap:6px;
    min-height:50px;
    padding:5px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.045);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
  }

  .site-nav-tabs button,
  .site-nav-tabs a{
    min-height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 12px;
    border:0;
    border-radius:999px;
    background:transparent;
    color:rgba(255,255,255,.70);
    font-size:11px;
    font-weight:950;
    text-transform:uppercase;
    cursor:pointer;
    transition:transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
  }

  .site-nav-tabs button:hover,
  .site-nav-tabs a:hover{
    color:#050505;
    background:linear-gradient(135deg,var(--green),#ffffff);
    transform:translateY(-2px);
    box-shadow:0 0 22px rgba(36,255,36,.20);
  }

  .header-actions{
    justify-self:end;
    gap:8px !important;
  }

  .header-actions .icon-btn{
    min-width:80px !important;
    height:48px !important;
    border-radius:999px !important;
  }

  .hero{
    padding:20px 24px 16px !important;
  }

  .hero-card{
    width:min(1180px,100%) !important;
    margin:0 auto !important;
    padding:28px !important;
    border-radius:34px !important;
    background:
      radial-gradient(circle at 50% 0%, rgba(36,255,36,.12), transparent 34%),
      radial-gradient(circle at 82% 10%, rgba(162,12,255,.22), transparent 42%),
      linear-gradient(180deg, rgba(8,9,11,.92), rgba(0,0,0,.76)) !important;
  }

  .hero-grid{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }

  .hero-copy{
    max-width:860px;
    margin:0 auto;
    text-align:center;
  }

  .hero-card h1{
    max-width:900px;
    margin-left:auto;
    margin-right:auto;
    font-size:clamp(48px,7vw,82px) !important;
    line-height:.92 !important;
  }

  .hero-card p{
    max-width:740px;
    margin-left:auto;
    margin-right:auto;
  }

  .hero-actions{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    max-width:860px !important;
    margin-left:auto;
    margin-right:auto;
  }

  .hero-actions .btn-filled,
  .hero-actions .btn-outline{
    min-height:58px !important;
    padding-left:14px !important;
    padding-right:14px !important;
  }

  .hero-stats{
    max-width:680px;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .pro-command-dock{
    left:24px !important;
    right:auto !important;
    top:50% !important;
    bottom:auto !important;
    transform:translateY(-50%) !important;
    width:86px !important;
    max-width:86px !important;
    display:flex !important;
    flex-direction:column !important;
    gap:8px !important;
    padding:10px !important;
    border-radius:28px !important;
  }

  .pro-command-dock:hover{
    transform:translateY(-50%) !important;
  }

  .dock-command{
    width:64px !important;
    min-width:64px !important;
    height:58px !important;
    padding:6px !important;
    border-radius:18px !important;
  }

  .dock-command .dock-label{
    font-size:9px !important;
    line-height:1.05 !important;
  }

  .dock-command .dock-icon{
    font-size:15px !important;
  }

  .hero,
  main > section{
    padding-left:118px !important;
    padding-right:24px !important;
  }

  .floating-footer{
    left:50% !important;
    right:auto !important;
    width:min(760px,calc(100vw - 280px)) !important;
    transform:translateX(-50%) !important;
  }
}

.hero-visual{
  order:1;
  min-height:min(64vh,620px) !important;
  border-radius:28px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:
    radial-gradient(circle at 50% 18%, rgba(36,255,36,.14), transparent 30%),
    radial-gradient(circle at 50% 58%, rgba(162,12,255,.17), transparent 38%),
    linear-gradient(180deg, rgba(0,0,0,.82), rgba(0,0,0,.94)) !important;
  overflow:hidden !important;
}

.hero-copy{
  order:2;
}

.hero-stats{
  order:3;
}

.hero-visual::before{
  display:none !important;
}

.emx-product-cinema{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-rows:auto 1fr auto;
  overflow:hidden;
  border-radius:inherit;
}

.emx-product-cinema::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 35%, rgba(255,255,255,.055), transparent 34%),
    linear-gradient(90deg, rgba(0,0,0,.64), transparent 18%, transparent 82%, rgba(0,0,0,.64)),
    repeating-linear-gradient(180deg, rgba(255,255,255,.025) 0, rgba(255,255,255,.025) 1px, transparent 1px, transparent 5px);
  opacity:.9;
  pointer-events:none;
  z-index:4;
}

.cinema-window-top{
  position:relative;
  z-index:6;
  min-height:48px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 20px;
  border-bottom:1px solid rgba(255,255,255,.07);
  background:rgba(0,0,0,.38);
}

.cinema-window-top span{
  width:10px;
  height:10px;
  border-radius:999px;
  background:var(--green);
  box-shadow:0 0 12px rgba(36,255,36,.32);
}

.cinema-window-top span:nth-child(2){
  background:#b8ff55;
}

.cinema-window-top span:nth-child(3){
  background:var(--purple);
}

.cinema-window-top strong{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  color:rgba(255,255,255,.28);
  font-size:11px;
  font-weight:1000;
  letter-spacing:.20em;
}

.cinema-stage{
  position:relative;
  z-index:2;
  perspective:1100px;
  overflow:hidden;
}

.cinema-grid-floor{
  position:absolute;
  left:-18%;
  right:-18%;
  bottom:-12%;
  height:48%;
  background:
    linear-gradient(rgba(36,255,36,.18) 1px, transparent 1px),
    linear-gradient(90deg, rgba(162,12,255,.20) 1px, transparent 1px);
  background-size:84px 54px;
  transform:rotateX(67deg);
  transform-origin:50% 100%;
  opacity:.42;
  filter:blur(.2px);
  animation:emxCinemaFloor 7.4s linear infinite;
}

.cinema-card{
  position:absolute;
  left:50%;
  top:50%;
  width:min(580px,58vw);
  aspect-ratio:16 / 9;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.14);
  background:#050505;
  overflow:hidden;
  box-shadow:
    0 32px 90px rgba(0,0,0,.72),
    0 0 34px rgba(36,255,36,.12),
    0 0 42px rgba(162,12,255,.14);
  transform-style:preserve-3d;
  animation:emxCinemaOrbit 9.6s cubic-bezier(.2,.8,.2,1) infinite;
  will-change:transform, opacity, filter;
}

.cinema-card-one{
  animation-delay:0s;
}

.cinema-card-two{
  animation-delay:-2.4s;
}

.cinema-card-three{
  animation-delay:-4.8s;
}

.cinema-card-four{
  animation-delay:-7.2s;
}

.cinema-card img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  filter:saturate(.98) contrast(1.08);
  animation:emxPreviewVideoPan 4.6s ease-in-out infinite alternate;
}

.preview-wrap .preview-img,
.card-icon,
.detail-media img,
.custom-os-preview img{
  animation:emxPreviewVideoPan 6.2s ease-in-out infinite alternate;
  will-change:transform, filter;
}

.product-card:hover .preview-img,
.preview-image-btn:hover .preview-img,
.gallery-thumb-btn:hover img{
  animation-duration:2.4s;
  filter:saturate(1.18) contrast(1.08) brightness(1.06);
}

@keyframes emxCinemaOrbit{
  0%,16%{
    opacity:1;
    transform:translate(-50%,-50%) rotateY(0deg) translateZ(130px) scale(1);
    filter:blur(0) brightness(1.08);
    z-index:5;
  }
  24%,40%{
    opacity:.58;
    transform:translate(-4%,-50%) rotateY(-24deg) translateZ(-60px) scale(.78);
    filter:blur(2.5px) brightness(.72);
    z-index:3;
  }
  48%,64%{
    opacity:.24;
    transform:translate(-50%,-51%) rotateY(0deg) translateZ(-240px) scale(.56);
    filter:blur(6px) brightness(.44);
    z-index:1;
  }
  72%,88%{
    opacity:.58;
    transform:translate(-96%,-50%) rotateY(24deg) translateZ(-60px) scale(.78);
    filter:blur(2.5px) brightness(.72);
    z-index:3;
  }
  100%{
    opacity:1;
    transform:translate(-50%,-50%) rotateY(0deg) translateZ(130px) scale(1);
    filter:blur(0) brightness(1.08);
    z-index:5;
  }
}

@keyframes emxPreviewVideoPan{
  0%{
    transform:scale(1.02) translate3d(-1.4%, -1.2%, 0);
  }
  50%{
    transform:scale(1.075) translate3d(1.2%, .8%, 0);
  }
  100%{
    transform:scale(1.035) translate3d(-.4%, 1.4%, 0);
  }
}

/*
  Retired the previous per-card orbit names. The shared negative-delay orbit
  keeps one screenshot centered at all times instead of leaving the vault blank.
*/
/*
  animation-iteration-count:infinite;
}

.cinema-card img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  filter:saturate(.92) contrast(1.04);
}

.cinema-card-one{
  animation-name:emxCinemaCenterOne;
}

.cinema-card-two{
  animation-name:emxCinemaCenterTwo;
}

.cinema-card-three{
  animation-name:emxCinemaCenterThree;
}

.cinema-card-four{
  animation-name:emxCinemaCenterFour;
}

.cinema-tabs{
  position:relative;
  z-index:6;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.60);
}

.cinema-tabs div{
  min-height:78px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:7px;
  border-left:1px solid rgba(255,255,255,.07);
}

.cinema-tabs div:first-child{
  border-left:0;
}

.cinema-tabs span{
  color:rgba(255,255,255,.34);
  font-size:10px;
  font-weight:1000;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.cinema-tabs strong{
  color:#fff;
  font-size:18px;
  line-height:1;
  font-weight:1000;
  text-shadow:0 0 18px rgba(36,255,36,.22);
}

@keyframes emxCinemaFloor{
  0%{ background-position:0 0, 0 0; }
  100%{ background-position:0 54px, 84px 0; }
}

@keyframes emxCinemaCenterOne{
  0%,18%{ opacity:1; transform:translate(-50%,-50%) rotateY(0deg) translateZ(90px) scale(1); filter:blur(0); z-index:4; }
  25%,43%{ opacity:.34; transform:translate(-118%,-48%) rotateY(34deg) translateZ(-140px) scale(.72); filter:blur(4px); z-index:2; }
  50%,68%{ opacity:.22; transform:translate(18%,-49%) rotateY(-34deg) translateZ(-190px) scale(.66); filter:blur(5px); z-index:1; }
  75%,93%{ opacity:.58; transform:translate(-4%,-51%) rotateY(-22deg) translateZ(-80px) scale(.78); filter:blur(3px); z-index:3; }
  100%{ opacity:1; transform:translate(-50%,-50%) rotateY(0deg) translateZ(90px) scale(1); filter:blur(0); z-index:4; }
}

@keyframes emxCinemaCenterTwo{
  0%,18%{ opacity:.58; transform:translate(-4%,-51%) rotateY(-22deg) translateZ(-80px) scale(.78); filter:blur(3px); z-index:3; }
  25%,43%{ opacity:1; transform:translate(-50%,-50%) rotateY(0deg) translateZ(90px) scale(1); filter:blur(0); z-index:4; }
  50%,68%{ opacity:.34; transform:translate(-118%,-48%) rotateY(34deg) translateZ(-140px) scale(.72); filter:blur(4px); z-index:2; }
  75%,93%{ opacity:.22; transform:translate(18%,-49%) rotateY(-34deg) translateZ(-190px) scale(.66); filter:blur(5px); z-index:1; }
  100%{ opacity:.58; transform:translate(-4%,-51%) rotateY(-22deg) translateZ(-80px) scale(.78); filter:blur(3px); z-index:3; }
}

@keyframes emxCinemaCenterThree{
  0%,18%{ opacity:.22; transform:translate(18%,-49%) rotateY(-34deg) translateZ(-190px) scale(.66); filter:blur(5px); z-index:1; }
  25%,43%{ opacity:.58; transform:translate(-4%,-51%) rotateY(-22deg) translateZ(-80px) scale(.78); filter:blur(3px); z-index:3; }
  50%,68%{ opacity:1; transform:translate(-50%,-50%) rotateY(0deg) translateZ(90px) scale(1); filter:blur(0); z-index:4; }
  75%,93%{ opacity:.34; transform:translate(-118%,-48%) rotateY(34deg) translateZ(-140px) scale(.72); filter:blur(4px); z-index:2; }
  100%{ opacity:.22; transform:translate(18%,-49%) rotateY(-34deg) translateZ(-190px) scale(.66); filter:blur(5px); z-index:1; }
}

@keyframes emxCinemaCenterFour{
  0%,18%{ opacity:.34; transform:translate(-118%,-48%) rotateY(34deg) translateZ(-140px) scale(.72); filter:blur(4px); z-index:2; }
  25%,43%{ opacity:.22; transform:translate(18%,-49%) rotateY(-34deg) translateZ(-190px) scale(.66); filter:blur(5px); z-index:1; }
  50%,68%{ opacity:.58; transform:translate(-4%,-51%) rotateY(-22deg) translateZ(-80px) scale(.78); filter:blur(3px); z-index:3; }
  75%,93%{ opacity:1; transform:translate(-50%,-50%) rotateY(0deg) translateZ(90px) scale(1); filter:blur(0); z-index:4; }
  100%{ opacity:.34; transform:translate(-118%,-48%) rotateY(34deg) translateZ(-140px) scale(.72); filter:blur(4px); z-index:2; }
}
*/

.cinema-tabs{
  position:relative;
  z-index:6;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.60);
}

.cinema-tabs div{
  min-height:78px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:7px;
  border-left:1px solid rgba(255,255,255,.07);
}

.cinema-tabs div:first-child{
  border-left:0;
}

.cinema-tabs span{
  color:rgba(255,255,255,.34);
  font-size:10px;
  font-weight:1000;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.cinema-tabs strong{
  color:#fff;
  font-size:18px;
  line-height:1;
  font-weight:1000;
  text-shadow:0 0 18px rgba(36,255,36,.22);
}

@keyframes emxCinemaFloor{
  0%{ background-position:0 0, 0 0; }
  100%{ background-position:0 54px, 84px 0; }
}

@media (max-width:899px){
  .hero-visual{
    min-height:360px !important;
  }

  .cinema-card{
    width:min(360px,76vw);
  }

  .cinema-tabs{
    grid-template-columns:repeat(2,1fr);
  }

  .cinema-tabs div{
    min-height:58px;
  }

  .cinema-tabs strong{
    font-size:15px;
  }

  .pro-command-dock{
    position:static !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    transform:none !important;
    width:calc(100% - 32px) !important;
    max-width:520px !important;
    margin:16px auto 26px !important;
    display:grid !important;
    grid-template-columns:repeat(3,1fr) !important;
    justify-content:stretch !important;
    border-radius:24px !important;
  }

  .dock-command{
    width:100% !important;
    min-width:0 !important;
  }
}

@media (max-width:1120px){
  .site-nav-tabs{
    display:none !important;
  }

  header{
    grid-template-columns:auto 1fr auto !important;
  }
}

@media (prefers-reduced-motion:reduce){
  .cinema-grid-floor,
  .cinema-card{
    animation:none !important;
  }
}

/* Separate page modes */
body.emx-home-page main > section{
  display:none !important;
}

body.emx-home-page .hero,
body.emx-home-page .fortnite-map-section,
body.emx-home-page .search-panel,
body.emx-home-page .trust-strip,
body.emx-home-page .section-head,
body.emx-home-page #customOsDrop,
body.emx-home-page .premium-section,
body.emx-home-page .bundle-premium-section,
body.emx-home-page .legal-section{
  display:block !important;
}

body.emx-home-page #productGrid{
  display:grid !important;
}

body.emx-home-page .hero{
  min-height:calc(100vh - 94px);
  display:grid !important;
  align-items:center;
}

body.emx-home-page .trust-strip{
  margin-top:10px;
}

body.emx-home-page .legal-section{
  max-width:1040px;
  margin:34px auto 110px;
}

body.emx-home-page .legal-actions{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

body[class*="emx-subpage-"] main{
  padding-top:18px;
}

body[class*="emx-subpage-"] main > section{
  display:none !important;
}

body.emx-subpage-products #productGrid,
body.emx-subpage-products .section-head:has(+ #customOsDrop){
  display:block !important;
}

body.emx-subpage-products #productGrid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));
  gap:22px;
  max-width:1180px;
  margin:34px auto 10px;
  padding:0 18px;
}

body.emx-subpage-products .product-card{
  min-height:390px;
  border-radius:18px !important;
  overflow:hidden;
  background:
    linear-gradient(155deg, rgba(255,255,255,.055), transparent 34%),
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.16), transparent 30%),
    rgba(4,5,6,.9) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  box-shadow:
    0 18px 46px rgba(0,0,0,.5),
    inset 0 1px 0 rgba(255,255,255,.24) !important;
}

body.emx-subpage-products .product-top{
  min-height:220px;
  display:block !important;
  position:relative;
  padding:0 !important;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:#030303;
}

body.emx-subpage-products .product-title-wrap{
  position:absolute;
  left:22px;
  right:22px;
  bottom:18px;
  z-index:3;
}

body.emx-subpage-products .card-icon-shell{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  border:0 !important;
  border-radius:0 !important;
  background:#000 !important;
  box-shadow:none !important;
}

body.emx-subpage-products .card-icon{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  opacity:.72;
  filter:brightness(.7) contrast(1.08);
  transform:none;
}

body.emx-subpage-products .product-top::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(180deg, transparent 38%, rgba(0,0,0,.86));
}

body.emx-subpage-products .description-block,
body.emx-subpage-products .preview-wrap,
body.emx-subpage-products .product-gallery-row,
body.emx-subpage-products .feature-checklist,
body.emx-subpage-products .product-value-row,
body.emx-subpage-products .product-trust-row,
body.emx-subpage-products .meta-info,
body.emx-subpage-products .power-meter-panel{
  display:none !important;
}

body.emx-subpage-products .price-row,
body.emx-subpage-products .button-group-row,
body.emx-subpage-products .product-card > .btn-filled{
  margin-left:22px !important;
  margin-right:22px !important;
}

body.emx-subpage-products .price-row{
  margin-top:22px;
}

body.emx-subpage-products .button-group-row{
  grid-template-columns:1fr 1fr;
}

body.emx-subpage-products .product-card > .btn-filled{
  margin-bottom:22px;
}

body.emx-subpage-bundle .bundle-premium-section{
  display:block !important;
  max-width:1180px;
  margin:26px auto 112px;
  padding:0 18px;
}

body.emx-subpage-bundle .bundle-spotlight{
  margin:0 !important;
}

body.emx-subpage-macros #productGrid,
body.emx-subpage-macros .section-head:has(+ #customOsDrop){
  display:block !important;
}

body.emx-subpage-macros #productGrid{
  display:grid !important;
  grid-template-columns:minmax(0,620px);
  justify-content:center;
  max-width:760px;
  margin:30px auto 112px;
  padding:0 18px;
}

body.emx-subpage-macros .product-card{
  min-height:100%;
}

body.emx-subpage-custom-os #customOsDrop,
body.emx-subpage-analyzer #customOsDrop{
  display:block !important;
}

body.emx-subpage-about #aboutPageSection,
body.emx-subpage-contact #contactPageSection,
body.emx-subpage-affiliate #affiliatePageSection,
body.emx-subpage-license #licensePageSection{
  display:block !important;
}

body.emx-subpage-vouches .section-head:has(+ .premium-section),
body.emx-subpage-vouches .premium-section:has(.vouch-grid),
body.emx-subpage-vouches .premium-section:has(.vouch-proof-hub){
  display:block !important;
}

body.emx-subpage-faq .section-head:has(+ .premium-section .faq-accordion),
body.emx-subpage-faq .premium-section:has(.faq-accordion),
body.emx-subpage-faq .legal-section{
  display:block !important;
}

body[class*="emx-subpage-"] .hero{
  display:none !important;
}

body[class*="emx-subpage-"] .floating-footer{
  position:fixed;
}

body.emx-subpage-products .section-head,
body.emx-subpage-vouches .section-head,
body.emx-subpage-faq .section-head{
  margin-top:26px;
}

/* Final header/link routing pass: keep nav visible without overlap. */
@media (min-width:900px){
  header{
    grid-template-columns:auto minmax(0,1fr) auto !important;
    gap:12px !important;
    padding-left:14px !important;
    padding-right:14px !important;
  }

  .header-main-text{
    display:none !important;
  }

  .site-nav-tabs{
    min-width:0 !important;
    max-width:100% !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    flex-wrap:nowrap !important;
    justify-content:flex-start !important;
    white-space:nowrap !important;
    scrollbar-width:none;
  }

  .site-nav-tabs::-webkit-scrollbar{
    display:none;
  }

  .site-nav-tabs a{
    flex:0 0 auto !important;
    min-width:auto !important;
    padding:0 10px !important;
    font-size:10px !important;
    line-height:1.05 !important;
    white-space:nowrap !important;
  }

  .header-actions{
    min-width:max-content !important;
    flex:0 0 auto !important;
  }

  .header-actions .icon-btn{
    min-width:68px !important;
    height:44px !important;
    padding:0 10px !important;
  }

  .header-action-label{
    font-size:10px !important;
    letter-spacing:.04em !important;
  }
}

@media (min-width:900px) and (max-width:1320px){
  .header-actions .icon-btn{
    width:46px !important;
    min-width:46px !important;
    padding:0 !important;
  }

  .header-action-label{
    display:none !important;
  }

  .site-nav-tabs a{
    padding:0 8px !important;
  }
}

@media (max-width:899px){
  body{
    padding-top:calc(132px + var(--safeTop)) !important;
  }

  header{
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) !important;
    grid-template-areas:
      "logo actions"
      "nav nav";
    left:0 !important;
    right:0 !important;
    top:0 !important;
    width:100% !important;
    height:auto !important;
    min-height:calc(118px + var(--safeTop)) !important;
    padding:var(--safeTop) 10px 10px !important;
    align-items:center !important;
    gap:8px !important;
    border-radius:0 0 22px 22px !important;
  }

  .header-left{
    grid-area:logo;
    min-width:54px !important;
  }

  .header-logo-img-wrap{
    width:58px !important;
    height:42px !important;
  }

  .header-logo-img{
    width:58px !important;
    height:42px !important;
  }

  .header-main-text{
    display:none !important;
  }

  .header-actions{
    grid-area:actions;
    min-width:0 !important;
    justify-content:flex-end !important;
    gap:6px !important;
  }

  .header-actions .icon-btn{
    width:40px !important;
    min-width:40px !important;
    height:40px !important;
    padding:0 !important;
    border-radius:14px !important;
  }

  .header-action-label{
    display:none !important;
  }

  .site-nav-tabs{
    grid-area:nav;
    display:flex !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    flex-wrap:nowrap !important;
    justify-content:flex-start !important;
    gap:6px !important;
    padding:5px !important;
    border-radius:999px !important;
    border:1px solid rgba(255,255,255,.10) !important;
    background:rgba(0,0,0,.50) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.07) !important;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .site-nav-tabs::-webkit-scrollbar{
    display:none;
  }

  .site-nav-tabs a{
    flex:0 0 auto !important;
    min-height:36px !important;
    padding:0 12px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:999px !important;
    color:rgba(255,255,255,.78) !important;
    font-size:10px !important;
    font-weight:950 !important;
    line-height:1 !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
  }
}

@media (max-width:420px){
  body{
    padding-top:calc(126px + var(--safeTop)) !important;
  }

  header{
    min-height:calc(112px + var(--safeTop)) !important;
    padding-left:8px !important;
    padding-right:8px !important;
  }

  .header-actions .icon-btn{
    width:37px !important;
    min-width:37px !important;
    height:37px !important;
  }

  .site-nav-tabs a{
    min-height:34px !important;
    padding:0 10px !important;
    font-size:9px !important;
  }
}

body.emx-subpage-analyzer #pc-analyzer-modal{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  position:relative;
  inset:auto;
  min-height:calc(100vh - 190px);
  background:transparent;
  z-index:2;
}

body.emx-subpage-analyzer #pc-analyzer-modal .close-modal{
  display:none;
}

body.emx-subpage-analyzer .pc-analyzer-card{
  max-height:none;
  margin:24px auto 80px;
}

.about-page-section,
.contact-page-section,
.affiliate-page-section,
.license-page-section{
  max-width:1080px;
  margin:34px auto 120px;
  padding:0 18px;
}

.about-hero-panel,
.contact-hero-panel,
.affiliate-hero-panel,
.license-hero-panel{
  min-height:330px;
  display:grid;
  align-items:center;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(110deg, rgba(255,255,255,.055), transparent 34%),
    radial-gradient(circle at 82% 18%, rgba(36,255,36,.08), transparent 34%),
    rgba(4,5,6,.68);
  padding:clamp(28px,6vw,58px);
  box-shadow:0 20px 70px rgba(0,0,0,.46);
}

.about-hero-panel{
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
}

.about-hero-panel h2,
.contact-hero-panel h2,
.affiliate-hero-panel h1,
.license-hero-panel h1{
  color:#fff;
  font-size:clamp(42px,8vw,92px);
  line-height:.9;
  letter-spacing:0;
  font-weight:950;
  margin:12px 0 16px;
  text-transform:uppercase;
}

.about-hero-panel h2 span,
.contact-hero-panel h2 span,
.affiliate-hero-panel h1 span{
  color:rgba(255,255,255,.42);
}

.about-hero-panel p,
.contact-hero-panel p,
.affiliate-hero-panel p,
.about-panel p,
.contact-card p,
.contact-faq-strip p{
  color:rgba(255,255,255,.58);
  line-height:1.65;
  max-width:640px;
}

.about-logo-mark{
  font-size:56px;
  font-weight:950;
  color:rgba(255,255,255,.78);
  text-shadow:0 0 26px rgba(36,255,36,.16);
}

.about-grid-panels,
.contact-card-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:64px;
}

.about-panel,
.contact-card,
.contact-faq-strip > div{
  border-radius:20px;
  border:1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(130deg, rgba(255,255,255,.045), transparent 36%),
    rgba(6,7,9,.72);
  padding:28px;
}

.about-panel h3,
.contact-card h3{
  color:#fff;
  font-size:22px;
  font-weight:950;
  text-transform:uppercase;
  margin-bottom:18px;
}

.value-row{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:12px;
  align-items:start;
  padding:16px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.025);
}

.value-row + .value-row{
  margin-top:12px;
}

.value-row strong{
  color:rgba(255,255,255,.24);
  font-size:20px;
  font-weight:950;
}

.value-row span{
  color:rgba(255,255,255,.58);
  line-height:1.45;
}

.value-row b{
  display:block;
  color:#fff;
  margin-bottom:4px;
}

.contact-card{
  min-height:250px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.contact-card.accent .btn-filled{
  background:#5865f2 !important;
  border-color:#7289ff !important;
}

.contact-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:12px;
  color:#fff;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.10);
  margin-bottom:18px;
}

.contact-metric-row,
.contact-faq-strip{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:28px;
}

.contact-metric-row div{
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.035);
  padding:18px;
}

.contact-metric-row strong{
  color:#fff;
  display:block;
  font-size:22px;
}

.contact-metric-row span{
  color:rgba(255,255,255,.42);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.16em;
}

.affiliate-layout{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:18px;
  margin-top:16px;
}

.affiliate-page-section{
  max-width:1180px;
  margin-top:12px;
}

.affiliate-hero-panel{
  min-height:190px;
  padding:clamp(22px,3vw,34px);
}

.affiliate-hero-panel h1{
  font-size:clamp(34px,5vw,62px);
  margin-bottom:10px;
}

.affiliate-form-panel,
.affiliate-output-panel{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.11);
  background:
    linear-gradient(135deg, rgba(255,255,255,.055), transparent 32%),
    radial-gradient(circle at 78% 14%, rgba(162,12,255,.16), transparent 36%),
    rgba(4,5,6,.78);
  padding:24px;
  box-shadow:0 20px 70px rgba(0,0,0,.42);
}

.affiliate-form-panel::before,
.affiliate-output-panel::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg, transparent, rgba(36,255,36,.10), transparent);
  transform:translateX(-110%);
  animation:affiliatePanelSweep 5.5s ease-in-out infinite;
}

@keyframes affiliatePanelSweep{
  0%, 36%{ transform:translateX(-110%); opacity:0; }
  48%{ opacity:1; }
  68%, 100%{ transform:translateX(110%); opacity:0; }
}

.affiliate-form-head,
.affiliate-output-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:18px;
}

.affiliate-form-head span,
.affiliate-output-head span{
  color:var(--green);
  font-size:11px;
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.affiliate-form-head strong,
.affiliate-output-head strong{
  color:#fff;
  font-size:18px;
  font-weight:950;
  text-transform:uppercase;
}

.affiliate-field{
  display:grid;
  gap:9px;
  margin-bottom:14px;
}

.affiliate-field span{
  color:rgba(255,255,255,.60);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}

.affiliate-field input,
.affiliate-output-box input{
  width:100%;
  min-height:54px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.48);
  color:#fff;
  padding:0 15px;
  font:800 14px/1 Inter, Arial, sans-serif;
  outline:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}

.affiliate-field input:focus,
.affiliate-output-box input:focus{
  border-color:rgba(36,255,36,.58);
  box-shadow:
    0 0 0 3px rgba(36,255,36,.10),
    inset 0 1px 0 rgba(255,255,255,.06);
}

.affiliate-generate-btn{
  width:100%;
  margin-top:8px;
}

.affiliate-status{
  min-height:42px;
  margin:14px 0 0;
  color:rgba(255,255,255,.58);
  font-size:13px;
  line-height:1.45;
}

.affiliate-status[data-state="success"]{
  color:var(--green);
}

.affiliate-status[data-state="error"]{
  color:#ff6b7a;
}

.affiliate-output-box{
  margin:4px 0 14px;
}

.affiliate-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.affiliate-actions button:disabled{
  opacity:.42;
  cursor:not-allowed;
}

.affiliate-checklist{
  display:grid;
  gap:10px;
  margin-top:18px;
}

.affiliate-checklist div{
  display:grid;
  grid-template-columns:38px 1fr;
  align-items:center;
  gap:10px;
  border-radius:15px;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.035);
  padding:12px;
}

.affiliate-checklist strong{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(36,255,36,.14);
  color:var(--green);
}

.affiliate-checklist span{
  color:rgba(255,255,255,.68);
  font-size:13px;
  line-height:1.35;
}

.supporting-creator-banner{
  position:fixed;
  left:50%;
  top:calc(var(--safeTop) + 88px);
  z-index:9994;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:42px;
  width:min(520px, calc(100vw - 34px));
  padding:9px 16px;
  border-radius:999px;
  border:1px solid rgba(36,255,36,.34);
  background:rgba(0,0,0,.76);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  box-shadow:0 12px 42px rgba(0,0,0,.36), 0 0 22px rgba(36,255,36,.14);
  transform:translateX(-50%);
}

.supporting-creator-banner span{
  color:rgba(255,255,255,.58);
  font-size:10px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.supporting-creator-banner strong{
  color:var(--green);
  font-size:13px;
  font-weight:950;
  min-width:0;
  max-width:none;
  overflow:visible;
  text-align:center;
  white-space:nowrap;
}

body.emx-subpage-affiliate .floating-footer,
body.emx-subpage-license .floating-footer,
body.emx-subpage-bundle .floating-footer{
  position:static !important;
  transform:none !important;
  max-width:760px;
  margin:28px auto 118px;
}

@media (max-width:900px){
  body.emx-subpage-products #productGrid,
  .about-grid-panels,
  .contact-card-grid,
  .contact-metric-row,
  .contact-faq-strip,
  .affiliate-layout{
    grid-template-columns:1fr;
  }

  .about-hero-panel{
    grid-template-columns:1fr;
  }
}

@media (max-width:760px){
  .affiliate-actions{
    grid-template-columns:1fr;
  }

  .supporting-creator-banner{
    top:calc(var(--safeTop) + 122px);
    width:calc(100vw - 34px);
    gap:8px;
    padding:9px 12px;
  }

  .supporting-creator-banner span{
    flex:0 0 auto;
    font-size:9px;
    letter-spacing:.09em;
  }

  .supporting-creator-banner strong{
    flex:1 1 auto;
    font-size:12px;
    white-space:normal;
    overflow-wrap:anywhere;
  }
}

@media (max-width:720px){
  .legal-actions{
    grid-template-columns:1fr !important;
  }

  body.emx-home-page .legal-actions{
    grid-template-columns:1fr;
  }
}

@media (min-width:721px){
  .legal-actions{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
}

/* User-requested cinematic product motion stays on even in performance-lite previews. */
.cinema-grid-floor{
  animation:emxCinemaFloor 7.4s linear infinite !important;
}

.cinema-card{
  animation:emxCinemaOrbit 9.6s cubic-bezier(.2,.8,.2,1) infinite !important;
}

.cinema-card-one{ animation-delay:0s !important; }
.cinema-card-two{ animation-delay:-2.4s !important; }
.cinema-card-three{ animation-delay:-4.8s !important; }
.cinema-card-four{ animation-delay:-7.2s !important; }

.cinema-card img,
.preview-wrap .preview-img,
.card-icon,
.detail-media img,
.custom-os-preview img{
  animation:emxPreviewVideoPan 5.2s ease-in-out infinite alternate !important;
}

/* Clear product-picture slideshow mode for the first preview window. */
.cinema-card{
  left:50% !important;
  top:44% !important;
  width:min(680px,82%) !important;
  opacity:0;
  animation:emxProductPictureSlideshow 8s cubic-bezier(.2,.8,.2,1) infinite !important;
}

.cinema-card-one{ animation-delay:0s !important; }
.cinema-card-two{ animation-delay:2s !important; }
.cinema-card-three{ animation-delay:4s !important; }
.cinema-card-four{ animation-delay:6s !important; }

@keyframes emxProductPictureSlideshow{
  0%{
    opacity:0;
    transform:translate(26%,-50%) scale(.82) rotateY(-18deg);
    filter:blur(8px) brightness(.55);
    z-index:1;
  }
  7%,24%{
    opacity:1;
    transform:translate(-50%,-50%) scale(1) rotateY(0deg);
    filter:blur(0) brightness(1.08);
    z-index:5;
  }
  31%,100%{
    opacity:0;
    transform:translate(-126%,-50%) scale(.78) rotateY(18deg);
    filter:blur(8px) brightness(.48);
    z-index:1;
  }
}

body:not(.app-ready):not(.booting) header,
body:not(.app-ready):not(.booting) main,
body:not(.app-ready):not(.booting) .floating-footer,
body:not(.app-ready):not(.booting) .floating-share,
body:not(.app-ready):not(.booting) #proCommandDock,
body:not(.app-ready):not(.booting) #supportWidget {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
