/* =============================================================
   nv.css — NEON 2003 (loser-core playlist skin)
   Loud PS2 / Dreamcast grade on top of the XMB frame:
   saturated neon, thick outlines, bloom, CRT scanlines, VHS
   tracking, drifting clouds and a low-poly menu girl.
   Loaded last. Owns every surface.
   ============================================================= */

html.av2 {
  --nv-ink: #ffffff;
  --nv-pink: #ff2f8e;
  --nv-pink2: #ff8ac4;
  --nv-cyan: #22e6ff;
  --nv-lime: #b6ff3d;
  --nv-gold: #ffd23f;
  --nv-violet: #7a4dff;
  --nv-blue: #0a2a5e;
  --nv-blue2: #061a3c;
  --nv-deep: #030b1e;
  --nv-line: #030a18;
  --nv-font: "Trebuchet MS", "Segoe UI", Tahoma, Verdana, sans-serif;
}

/* ---------- 1. ground: deep blue water, neon bloom ---------- */

html.av2 body {
  background: var(--nv-deep) !important;
  font-family: var(--nv-font) !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  color: var(--nv-ink) !important;
  -webkit-font-smoothing: antialiased;
}
html.av2 body::before {
  background:
    radial-gradient(80% 46% at 18% 8%, rgba(255, 47, 142, .42) 0%, transparent 62%),
    radial-gradient(70% 42% at 84% 4%, rgba(34, 230, 255, .38) 0%, transparent 64%),
    radial-gradient(120% 70% at 50% 116%, rgba(122, 77, 255, .55) 0%, transparent 66%),
    linear-gradient(180deg, #071a44 0%, #051335 42%, #030c22 74%, #02060f 100%) !important;
}
html.av2 body::after { display: none !important; }
html.av2 #p-grain { opacity: .1 !important; mix-blend-mode: overlay !important; }
html.av2 #p-vig {
  background: radial-gradient(112% 84% at 50% 40%, transparent 42%, rgba(2, 6, 14, .86) 100%) !important;
}

/* ---------- 2. frame: chunky bevel ---------- */

html.av2 #win { max-width: 800px !important; padding: 5px 5px 0 !important; }
@media (min-width: 900px) {
  html.av2 #win { max-width: 1200px !important; padding: 14px 14px 0 !important; }
}
html.av2 #chrome {
  border: 3px solid #0a1a3a !important;
  border-radius: 4px 4px 0 0 !important;
  background: linear-gradient(180deg, #123a7a 0%, #08214e 52%, #030c22 100%) !important;
  box-shadow:
    inset 0 0 0 2px rgba(34, 230, 255, .5),
    inset 0 2px 0 rgba(255, 255, 255, .4),
    0 0 0 1px #000,
    0 0 32px rgba(34, 230, 255, .35),
    0 0 70px rgba(122, 77, 255, .3),
    0 26px 60px rgba(0, 0, 0, .9) !important;
  position: relative !important;
  overflow: hidden !important;
}

/* ---------- 3. status strip: neon marquee ---------- */

html.av2 #titlebar {
  padding: 3px 10px !important;
  min-height: 21px !important;
  gap: 8px !important;
  background: linear-gradient(180deg, #1b52ad 0%, #0c2a63 56%, #061733 100%) !important;
  border-bottom: 2px solid #ff2f8e !important;
  color: #ffffff !important;
  font-family: var(--nv-font) !important;
  font-weight: 700 !important;
  text-shadow: 0 0 8px rgba(34, 230, 255, .9) !important;
}
html.av2 #titlebar::after { display: none !important; }
html.av2 #titlebar .ticon {
  width: 9px !important;
  height: 9px !important;
  border: 2px solid #04101e !important;
  border-radius: 50% !important;
  background: radial-gradient(circle at 36% 28%, #ffffff, #b6ff3d 52%, #3f8a12 100%) !important;
  box-shadow: 0 0 12px rgba(182, 255, 61, .95) !important;
  animation: nvpulse 1.8s ease-in-out infinite !important;
}
html.av2 #titlebar .ttitle {
  font-family: var(--nv-font) !important;
  font-weight: 700 !important;
  font-size: 10px !important;
  letter-spacing: .16em !important;
  color: #ffffff !important;
  text-shadow: 0 0 10px rgba(255, 47, 142, .95), 0 1px 0 #000 !important;
}
html.av2 #titlebar .ttitle::before { content: "\25B6\00a0\00a0" !important; color: var(--nv-lime) !important; }
html.av2 #titlebar .tbtns b,
html.av2 #theme-toggle {
  width: 15px !important;
  height: 13px !important;
  font: 700 9px/1 var(--nv-font) !important;
  color: #ffffff !important;
  background: linear-gradient(180deg, #3f7fe0 0%, #123a7a 100%) !important;
  border: 2px solid #04101e !important;
  border-radius: 3px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5) !important;
}
html.av2 #titlebar .tbtns b.x { background: linear-gradient(180deg, #ff5a8f 0%, #a11243 100%) !important; }
html.av2 #titlebar .tbtns b:hover,
html.av2 #theme-toggle:hover { box-shadow: 0 0 12px rgba(34, 230, 255, .9) !important; }

/* top bar / ticker stay retired; the taskbar comes back at the bottom */
html.av2 #top,
html.av2 #ticker,
html.av2 #wintabs,
html.av2 #rail,
html.av2 #appbanner { display: none !important; }
html.av2 #taskbar { display: flex !important; }

/* ---------- 4. shell + live background ---------- */

html.av2 #ps3 {
  background:
    linear-gradient(180deg, #0b2c66 0%, #061a3c 46%, #030c22 100%) !important;
}
html.av2 .p3-waves { inset: 22% 0 0 0 !important; opacity: 1 !important; }
html.av2 .p3-waves i:nth-child(1) {
  background:
    radial-gradient(52% 100% at 34% 60%, rgba(34, 230, 255, .45) 0%, rgba(20, 90, 170, .28) 46%, transparent 76%) !important;
  filter: blur(3px) !important;
  animation: p3wave 21s linear infinite, nvhue 14s linear infinite !important;
}
html.av2 .p3-waves i:nth-child(2) {
  background:
    radial-gradient(56% 100% at 70% 46%, rgba(255, 47, 142, .38) 0%, rgba(122, 77, 255, .22) 48%, transparent 78%) !important;
  filter: blur(6px) !important;
  animation: p3wave 33s linear infinite reverse !important;
}
html.av2 .p3-waves i:nth-child(3) {
  background:
    radial-gradient(64% 100% at 26% 44%, rgba(182, 255, 61, .26) 0%, transparent 70%),
    radial-gradient(56% 100% at 78% 66%, rgba(255, 210, 63, .22) 0%, transparent 74%) !important;
  filter: blur(9px) !important;
  animation: p3wave 47s linear infinite !important;
}
@keyframes nvhue {
  from { filter: blur(3px) hue-rotate(0deg); }
  to { filter: blur(3px) hue-rotate(28deg); }
}

/* the low-poly cloud deck + drifting dust live in nv.js */
html.av2 .nv-sky {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
}
html.av2 .nv-cloud {
  position: absolute !important;
  opacity: .5 !important;
  will-change: transform;
  filter: blur(1.5px) drop-shadow(0 0 18px rgba(34, 230, 255, .35)) !important;
}
html.av2 .nv-cloud svg { display: block !important; width: 100% !important; height: auto !important; }
html.av2 .nv-dust {
  position: absolute !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, #ffffff 0%, #b6ff3d 46%, transparent 70%) !important;
  opacity: .0;
  animation: nvdust linear infinite !important;
}
@keyframes nvdust {
  0%   { transform: translate3d(0, 0, 0) scale(.6); opacity: 0; }
  12%  { opacity: .9; }
  88%  { opacity: .5; }
  100% { transform: translate3d(var(--dx, 30px), -120px, 0) scale(1.1); opacity: 0; }
}

/* ---------- 5. CRT: scanlines, roll bar, VHS track, bloom ---------- */

html.av2 .nv-crt {
  position: absolute !important;
  inset: 0 !important;
  z-index: 60 !important;
  pointer-events: none !important;
  mix-blend-mode: overlay !important;
  opacity: .55 !important;
  background: repeating-linear-gradient(180deg, rgba(255, 255, 255, .22) 0 1px, rgba(0, 0, 0, .18) 1px 3px) !important;
}
html.av2 .nv-roll {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  height: 22% !important;
  z-index: 61 !important;
  pointer-events: none !important;
  opacity: .3 !important;
  background: linear-gradient(180deg, transparent 0%, rgba(190, 240, 255, .35) 46%, transparent 100%) !important;
  animation: nvroll 7.5s linear infinite !important;
}
@keyframes nvroll {
  from { transform: translateY(-30%); }
  to   { transform: translateY(520%); }
}
html.av2 .nv-vhs {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  height: 10px !important;
  z-index: 62 !important;
  pointer-events: none !important;
  opacity: 0 !important;
  background: linear-gradient(90deg, transparent, rgba(255, 47, 142, .55), rgba(34, 230, 255, .55), transparent) !important;
  animation: nvtrack 9s steps(1) infinite !important;
}
@keyframes nvtrack {
  0%, 92%   { opacity: 0; transform: translateY(12%); }
  93%       { opacity: .55; transform: translateY(38%) scaleY(.6); }
  95%       { opacity: .3;  transform: translateY(64%) scaleY(1.4); }
  97%, 100% { opacity: 0;   transform: translateY(80%); }
}
html.av2 #ps3::after {
  opacity: .16 !important;
  background: repeating-linear-gradient(180deg, rgba(255, 255, 255, .05) 0 1px, transparent 1px 3px) !important;
}
/* soft bloom over the whole screen on a slow breath */
html.av2 .nv-bloom {
  position: absolute !important;
  inset: 0 !important;
  z-index: 55 !important;
  pointer-events: none !important;
  mix-blend-mode: screen !important;
  background:
    radial-gradient(46% 30% at 22% 14%, rgba(34, 230, 255, .2), transparent 70%),
    radial-gradient(42% 28% at 82% 10%, rgba(255, 47, 142, .22), transparent 72%) !important;
  animation: nvbloom 4.6s ease-in-out infinite !important;
}
@keyframes nvbloom { 0%,100% { opacity: .55; } 50% { opacity: .95; } }
@keyframes nvpulse { 0%,100% { opacity: .55; } 50% { opacity: 1; } }

/* cloud parallax drift */
@keyframes nvdrift {
  from { transform: translate3d(-9%, 0, 0); }
  50%  { transform: translate3d(6%, -10px, 0); }
  to   { transform: translate3d(-9%, 0, 0); }
}
/* ---------- 6. category band: sticker tabs ---------- */

html.av2 .p3-band {
  height: 104px !important;
  padding: 0 12px !important;
  gap: 4px !important;
  background:
    linear-gradient(180deg, rgba(48, 122, 224, .92) 0%, rgba(10, 42, 94, .8) 58%, rgba(3, 12, 34, 0) 100%) !important;
  border-bottom: 3px solid rgba(34, 230, 255, .55) !important;
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, .35), 0 6px 22px rgba(34, 230, 255, .3) !important;
}
html.av2 .p3-cat { width: 74px !important; gap: 4px !important; }
html.av2 .p3-cat .p3-ci {
  width: 42px !important;
  height: 42px !important;
  border-radius: 9px !important;
  border: 3px solid #04101e !important;
  background:
    radial-gradient(circle at 34% 20%, rgba(255, 255, 255, .9) 0%, rgba(255, 255, 255, .18) 42%, transparent 68%),
    linear-gradient(180deg, #59c6ff 0%, #1b74d6 46%, #0a2a6e 100%) !important;
  box-shadow:
    inset 0 2px 0 rgba(255, 255, 255, .7),
    inset 0 -6px 10px rgba(0, 10, 30, .55),
    0 3px 0 #04101e,
    0 0 16px rgba(34, 230, 255, .55) !important;
  color: #ffffff !important;
  animation: nvfloat 3.4s ease-in-out infinite !important;
}
html.av2 .p3-cat:nth-child(2) .p3-ci { animation-delay: .4s !important; }
html.av2 .p3-cat:nth-child(3) .p3-ci { animation-delay: .8s !important; }
html.av2 .p3-cat:nth-child(4) .p3-ci { animation-delay: 1.2s !important; }
@keyframes nvfloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}
html.av2 .p3-cat .p3-ci svg { width: 24px !important; height: 24px !important; filter: drop-shadow(0 1px 0 #04101e) !important; }
html.av2 .p3-cat .p3-cl {
  font-family: var(--nv-font) !important;
  font-weight: 700 !important;
  font-size: 9.5px !important;
  letter-spacing: .1em !important;
  color: rgba(200, 232, 255, .75) !important;
  text-shadow: 0 1px 0 #04101e, 0 0 8px rgba(34, 230, 255, .5) !important;
}
html.av2 .p3-cat:hover .p3-ci { box-shadow: inset 0 2px 0 #fff, 0 3px 0 #04101e, 0 0 26px rgba(255, 47, 142, .85) !important; }
html.av2 .p3-cat.on .p3-ci {
  transform: scale(1.24) !important;
  background:
    radial-gradient(circle at 34% 18%, #ffffff 0%, rgba(255, 255, 255, .55) 40%, transparent 70%),
    linear-gradient(180deg, #fff27a 0%, #ffd23f 42%, #ff2f8e 100%) !important;
  border-color: #04101e !important;
  color: #24103a !important;
  box-shadow:
    inset 0 2px 0 #ffffff,
    inset 0 -6px 10px rgba(120, 20, 60, .45),
    0 3px 0 #04101e,
    0 0 26px rgba(255, 210, 63, .95),
    0 0 52px rgba(255, 47, 142, .7) !important;
  animation: nvpulse 1.6s ease-in-out infinite !important;
}
html.av2 .p3-cat.on .p3-cl {
  font-size: 11.5px !important;
  color: #ffffff !important;
  text-shadow: 0 0 10px #ff2f8e, 0 0 20px #ff2f8e, 0 1px 0 #04101e !important;
}
html.av2 .p3-cat.on::after {
  left: 8px !important;
  right: 8px !important;
  bottom: 9px !important;
  height: 3px !important;
  background: linear-gradient(90deg, transparent, #22e6ff, #ffffff, #22e6ff, transparent) !important;
  box-shadow: 0 0 10px #22e6ff !important;
}

/* ---------- 7. column: chunky sticker buttons ---------- */

html.av2 .p3-scroll { padding: 8px 0 14px !important; }
html.av2 .p3-col { padding: 4px 0 10px !important; }
html.av2 .p3-row {
  margin: 3px 10px 6px !important;
  padding: 8px 14px 8px 12px !important;
  gap: 12px !important;
  border: 3px solid #04101e !important;
  border-radius: 10px !important;
  background:
    linear-gradient(180deg, rgba(84, 168, 255, .55) 0%, rgba(20, 78, 168, .75) 46%, rgba(5, 24, 58, .92) 100%) !important;
  box-shadow:
    inset 0 2px 0 rgba(255, 255, 255, .45),
    inset 0 -8px 14px rgba(0, 10, 30, .5),
    0 4px 0 #04101e,
    0 0 18px rgba(34, 230, 255, .35) !important;
  transition: transform .1s ease-out, box-shadow .12s linear !important;
}
html.av2 .p3-row::before {
  inset: 3px !important;
  border-radius: 7px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .22) 0%, transparent 52%) !important;
  box-shadow: none !important;
  opacity: 1 !important;
}
html.av2 .p3-row.on::before {
  opacity: 1 !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .9) 0%, rgba(190, 226, 255, .35) 52%, transparent 100%) !important;
}
html.av2 .p3-row.on {
  border-color: #fff27a !important;
  background:
    linear-gradient(180deg, #ff5aa8 0%, #d8126e 42%, #7a0a48 100%) !important;
  transform: translateX(3px) scale(1.006) !important;
  box-shadow:
    inset 0 2px 0 rgba(255, 255, 255, .7),
    inset 0 -8px 16px rgba(60, 0, 30, .55),
    0 4px 0 #04101e,
    0 0 24px rgba(255, 47, 142, .95),
    0 0 48px rgba(255, 210, 63, .55) !important;
  animation: nvpulse 1.9s ease-in-out infinite !important;
}
html.av2 .p3-row:active { transform: translateY(3px) scale(.995) !important; box-shadow: 0 1px 0 #04101e, 0 0 20px rgba(34, 230, 255, .7) !important; }

html.av2 .p3-row .ico {
  width: 46px !important;
  height: 46px !important;
  border-radius: 10px !important;
  border: 3px solid #04101e !important;
  background:
    radial-gradient(circle at 34% 18%, #ffffff 0%, rgba(255, 255, 255, .3) 42%, transparent 70%),
    linear-gradient(180deg, #7de0ff 0%, #1a86e0 48%, #0a2a6e 100%) !important;
  box-shadow: inset 0 2px 0 #fff, inset 0 -7px 12px rgba(0, 10, 30, .5), 0 2px 0 #04101e, 0 0 16px rgba(34, 230, 255, .6) !important;
  color: #04101e !important;
}
html.av2 .p3-row .ico svg { width: 26px !important; height: 26px !important; stroke-width: 2.6 !important; }
html.av2 .p3-row.on .ico {
  transform: scale(1.08) rotate(-2deg) !important;
  background:
    radial-gradient(circle at 34% 18%, #ffffff 0%, rgba(255, 255, 255, .6) 42%, transparent 70%),
    linear-gradient(180deg, #fff9b0 0%, #ffd23f 46%, #ff9a1f 100%) !important;
  box-shadow: inset 0 2px 0 #fff, inset 0 -7px 12px rgba(140, 70, 0, .45), 0 2px 0 #04101e, 0 0 22px rgba(255, 210, 63, .95) !important;
}
html.av2 .p3-row .nm, html.av2 .p3-row .hlog {
  font-family: var(--nv-font) !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  text-shadow: 0 2px 0 #04101e, 0 0 12px rgba(34, 230, 255, .7) !important;
}
html.av2 .p3-row.on .nm, html.av2 .p3-row.on .hlog {
  color: #ffffff !important;
  text-shadow: 0 2px 0 #5a0630, 0 0 14px rgba(255, 210, 63, .95) !important;
}
html.av2 .p3-row .sub, html.av2 .p3-row .hsub {
  font-family: var(--nv-font) !important;
  font-weight: 400 !important;
  font-size: 9.5px !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
  color: rgba(200, 232, 255, .82) !important;
  text-shadow: 0 1px 0 #04101e !important;
}
html.av2 .p3-row.on .sub, html.av2 .p3-row.on .hsub { color: rgba(255, 255, 255, .9) !important; }

/* the arena banner */
html.av2 .p3-row.hero {
  min-height: 92px !important;
  padding: 12px 16px !important;
  border-radius: 12px !important;
  background:
    radial-gradient(60% 120% at 12% 0%, rgba(255, 210, 63, .55) 0%, transparent 62%),
    linear-gradient(180deg, #2d6bff 0%, #12257f 48%, #050f36 100%) !important;
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, .55), inset 0 -10px 20px rgba(0, 6, 24, .6), 0 5px 0 #04101e, 0 0 30px rgba(34, 230, 255, .55) !important;
}
html.av2 .p3-row.hero .hlog {
  font-size: 30px !important;
  letter-spacing: .06em !important;
  text-shadow: 0 3px 0 #04101e, 0 0 18px rgba(255, 210, 63, .95), 0 0 40px rgba(255, 47, 142, .8) !important;
}
html.av2 .p3-row.hero .p3-arena {
  display: inline-block !important;
  margin-top: 5px !important;
  padding: 2px 9px !important;
  border: 2px solid #04101e !important;
  border-radius: 4px !important;
  background: linear-gradient(180deg, #b6ff3d 0%, #5ec400 100%) !important;
  font: 700 9px/1.5 var(--nv-font) !important;
  letter-spacing: .26em !important;
  color: #0a2a0a !important;
  text-shadow: none !important;
  box-shadow: 0 2px 0 #04101e, 0 0 14px rgba(182, 255, 61, .8) !important;
}
html.av2 .p3-row.on.hero {
  background:
    radial-gradient(60% 120% at 12% 0%, rgba(255, 210, 63, .7) 0%, transparent 62%),
    linear-gradient(180deg, #ff5aa8 0%, #b8106a 48%, #4a0630 100%) !important;
}

/* balance row */
html.av2 .p3-row.p3-bal .p3-amt {
  font-family: var(--nv-font) !important;
  font-weight: 700 !important;
  font-size: 20px !important;
  color: #ffe66a !important;
  text-shadow: 0 2px 0 #04101e, 0 0 16px rgba(255, 210, 63, .95) !important;
}
html.av2 .p3-row.p3-bal.on .p3-amt { color: #ffffff !important; text-shadow: 0 2px 0 #5a0630, 0 0 18px rgba(255, 255, 255, .8) !important; }
html.av2 .p3-row.p3-bal .p3-cur {
  font: 700 8.5px/1 var(--nv-font) !important;
  letter-spacing: .16em !important;
  color: #b6ff3d !important;
  text-shadow: 0 1px 0 #04101e !important;
}

/* ---------- 8. info panel: glass cartridge ---------- */

html.av2 .p3-info {
  width: 300px !important;
  margin: 6px 10px 12px 0 !important;
  border: 3px solid #04101e !important;
  border-radius: 10px !important;
  background:
    linear-gradient(180deg, rgba(30, 96, 190, .55) 0%, rgba(6, 24, 58, .72) 52%, rgba(3, 10, 26, .86) 100%) !important;
  box-shadow:
    inset 0 2px 0 rgba(255, 255, 255, .4),
    0 4px 0 #04101e,
    0 0 26px rgba(34, 230, 255, .45) !important;
  backdrop-filter: blur(3px) saturate(1.25) !important;
  z-index: 4 !important;
}
html.av2 .p3-info .p3-ihead { border-bottom: 2px solid rgba(34, 230, 255, .5) !important; }
html.av2 .p3-info .p3-iico {
  width: 52px !important;
  height: 52px !important;
  border-radius: 11px !important;
  border: 3px solid #04101e !important;
  background:
    radial-gradient(circle at 34% 18%, #ffffff 0%, rgba(255, 255, 255, .55) 42%, transparent 70%),
    linear-gradient(180deg, #fff9b0 0%, #ffd23f 46%, #ff2f8e 100%) !important;
  box-shadow: inset 0 2px 0 #fff, 0 2px 0 #04101e, 0 0 20px rgba(255, 210, 63, .85) !important;
  color: #24103a !important;
}
html.av2 .p3-info .p3-iico svg { width: 28px !important; height: 28px !important; }
html.av2 .p3-info h3 {
  font-family: var(--nv-font) !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  color: #ffffff !important;
  text-shadow: 0 2px 0 #04101e, 0 0 12px rgba(34, 230, 255, .8) !important;
}
html.av2 .p3-info p {
  font-family: var(--nv-font) !important;
  font-weight: 400 !important;
  font-size: 10.5px !important;
  color: rgba(214, 238, 255, .92) !important;
  text-shadow: 0 1px 0 #04101e !important;
}
html.av2 .p3-info .p3-rows { border-top: 2px solid rgba(34, 230, 255, .35) !important; }
html.av2 .p3-info .p3-kv { font-family: var(--nv-font) !important; font-size: 10.5px !important; font-weight: 700 !important; }
html.av2 .p3-info .p3-kv span { color: #8fe8ff !important; }
html.av2 .p3-info .p3-kv b { color: #ffe66a !important; text-shadow: 0 1px 0 #04101e !important; }
html.av2 .p3-info .p3-keys { color: rgba(200, 232, 255, .9) !important; font-weight: 700 !important; }
html.av2 .p3-info .p3-keys i {
  color: #04101e !important;
  background: linear-gradient(180deg, #ffffff 0%, #b6ff3d 100%) !important;
  border: 2px solid #04101e !important;
  border-radius: 4px !important;
  padding: 1px 5px !important;
}

/* ---------- 9. confirmation dialog ---------- */

html.av2 .p3-confirm { background: rgba(2, 8, 20, .82) !important; }
html.av2 .p3-confirm-box {
  border: 3px solid #04101e !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, #2a74e0 0%, #0b2a63 52%, #04101e 100%) !important;
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, .55), 0 6px 0 #04101e, 0 0 40px rgba(255, 47, 142, .7) !important;
  animation: nvpop .18s ease-out !important;
}
@keyframes nvpop {
  from { transform: scale(.86) translateY(8px); opacity: 0; }
  to   { transform: scale(1) translateY(0); opacity: 1; }
}
html.av2 .p3-confirm-t {
  padding: 10px 14px !important;
  font-family: var(--nv-font) !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  color: #04101e !important;
  background: linear-gradient(180deg, #ffe66a 0%, #ffd23f 52%, #ff9a1f 100%) !important;
  border-bottom: 3px solid #04101e !important;
}
html.av2 .p3-confirm-b {
  font-family: var(--nv-font) !important;
  font-weight: 400 !important;
  font-size: 12px !important;
  color: #ffffff !important;
  text-shadow: 0 1px 0 #04101e !important;
}
html.av2 .p3-confirm-b b { color: #b6ff3d !important; text-shadow: 0 0 10px rgba(182, 255, 61, .9) !important; }
html.av2 .p3-btn {
  font-family: var(--nv-font) !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  padding: 9px 17px !important;
  border: 3px solid #04101e !important;
  border-radius: 9px !important;
  color: #ffffff !important;
  background: linear-gradient(180deg, #5aa8ff 0%, #1a5fc0 52%, #0a2a63 100%) !important;
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, .55), 0 3px 0 #04101e, 0 0 16px rgba(34, 230, 255, .5) !important;
  text-shadow: 0 1px 0 #04101e !important;
}
html.av2 .p3-btn.p3-primary {
  color: #04101e !important;
  background: linear-gradient(180deg, #fff9b0 0%, #ffd23f 48%, #ff8a1f 100%) !important;
  box-shadow: inset 0 2px 0 #fff, 0 3px 0 #04101e, 0 0 20px rgba(255, 210, 63, .9) !important;
  text-shadow: none !important;
}
html.av2 .p3-btn:active { transform: translateY(3px) !important; box-shadow: 0 0 0 #04101e, 0 0 22px rgba(34, 230, 255, .8) !important; }

/* ---------- 10. in-game controls: arcade plates ---------- */

html.av2 .vhead {
  border: 3px solid #04101e !important;
  border-radius: 8px !important;
  background: linear-gradient(180deg, #3f8ff0 0%, #0d2f6b 100%) !important;
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, .5), 0 3px 0 #04101e, 0 0 18px rgba(34, 230, 255, .4) !important;
}
html.av2 .vhead h2 {
  font-family: var(--nv-font) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: .1em !important;
  color: #ffffff !important;
  text-shadow: 0 2px 0 #04101e, 0 0 10px rgba(255, 210, 63, .8) !important;
}
html.av2 .backbtn, html.av2 .btn, html.av2 .btn.blue, html.av2 .mini, html.av2 .quick button, html.av2 .chipsrow button, html.av2 .dpick-b, html.av2 .roomrow .rj {
  font-family: var(--nv-font) !important;
  font-weight: 700 !important;
  border: 3px solid #04101e !important;
  border-radius: 9px !important;
  color: #ffffff !important;
  background: linear-gradient(180deg, #59b6ff 0%, #1a63c6 52%, #082355 100%) !important;
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, .5), 0 3px 0 #04101e, 0 0 14px rgba(34, 230, 255, .45) !important;
  text-shadow: 0 1px 0 #04101e !important;
}
html.av2 .btn.gold, html.av2 .mini.gold, html.av2 .chipsrow button.on, html.av2 .dpick-b.on {
  color: #04101e !important;
  background: linear-gradient(180deg, #fff9b0 0%, #ffd23f 50%, #ff8a1f 100%) !important;
  box-shadow: inset 0 2px 0 #fff, 0 3px 0 #04101e, 0 0 18px rgba(255, 210, 63, .9) !important;
  text-shadow: none !important;
}
html.av2 .btn:active, html.av2 .mini:active, html.av2 .backbtn:active { transform: translateY(3px) !important; }
html.av2 .panel {
  border: 3px solid #04101e !important;
  border-radius: 9px !important;
  background: linear-gradient(180deg, rgba(34, 96, 186, .52) 0%, rgba(4, 16, 40, .8) 100%) !important;
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, .3), 0 3px 0 #04101e, 0 0 20px rgba(34, 230, 255, .3) !important;
  color: #eaf6ff !important;
}
html.av2 .panel .ph {
  font-family: var(--nv-font) !important;
  font-weight: 700 !important;
  font-size: 10.5px !important;
  letter-spacing: .06em !important;
  color: #ffffff !important;
  border-bottom: 2px solid rgba(34, 230, 255, .4) !important;
  text-shadow: 0 1px 0 #04101e !important;
}
html.av2 #main, html.av2 .view { color: #eaf6ff !important; }
html.av2 #main .panel b, html.av2 #main .panel strong { color: #ffe66a !important; }
html.av2 #main [style*="#33507e"], html.av2 #main [style*="#123b7a"], html.av2 #main [style*="#0b2f6e"], html.av2 #main [style*="#5d6e8f"] { color: rgba(200, 232, 255, .9) !important; }
html.av2 .betval { border: 3px solid #04101e !important; border-radius: 8px !important; background: rgba(3, 12, 34, .8) !important; }
html.av2 .betval b { color: #ffe66a !important; font-weight: 700 !important; }
html.av2 .betadj { border: 3px solid #04101e !important; background: linear-gradient(180deg, #59b6ff 0%, #0a2a63 100%) !important; color: #fff !important; box-shadow: 0 3px 0 #04101e !important; }
html.av2 .msg { font-family: var(--nv-font) !important; font-weight: 700 !important; color: #b6ff3d !important; text-shadow: 0 1px 0 #04101e !important; }
html.av2 .msg.lose { color: #ff8ac4 !important; }
html.av2 .cards, html.av2 .rtable {
  border: 3px solid #04101e !important;
  border-radius: 8px !important;
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, .3), 0 3px 0 #04101e, 0 0 24px rgba(122, 77, 255, .4) !important;
}
html.av2 .minesgrid button, html.av2 .minesgrid > *, html.av2 .towers > * {
  border: 3px solid #04101e !important;
  border-radius: 7px !important;
  background: linear-gradient(180deg, rgba(90, 168, 255, .55) 0%, rgba(4, 16, 40, .85) 100%) !important;
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, .35), 0 3px 0 #04101e !important;
  color: #eaf6ff !important;
}
html.av2 .minesgrid button.open { background: linear-gradient(180deg, #b6ff3d 0%, #2f9a00 100%) !important; color: #04101e !important; }
html.av2 .minesgrid button.bomb { background: linear-gradient(180deg, #ff5a8f 0%, #8a0a3a 100%) !important; }
html.av2 .bigmult, html.av2 .totalpill {
  font-family: var(--nv-font) !important;
  font-weight: 700 !important;
  color: #ffe66a !important;
  text-shadow: 0 3px 0 #04101e, 0 0 26px rgba(255, 210, 63, .9) !important;
}
html.av2 .modal { background: rgba(2, 8, 20, .84) !important; }
html.av2 .mbox {
  border: 3px solid #04101e !important;
  border-radius: 10px 10px 0 0 !important;
  background: linear-gradient(180deg, #2a74e0 0%, #0b2a63 52%, #04101e 100%) !important;
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, .5), 0 0 40px rgba(34, 230, 255, .55) !important;
  color: #eaf6ff !important;
}
html.av2 .mtitle {
  font-family: var(--nv-font) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .14em !important;
  color: #04101e !important;
  background: linear-gradient(180deg, #ffe66a 0%, #ffd23f 52%, #ff9a1f 100%) !important;
  border-bottom: 3px solid #04101e !important;
}
html.av2 .ctabs button { font-family: var(--nv-font) !important; font-weight: 700 !important; color: rgba(200, 232, 255, .8) !important; }
html.av2 .ctabs button.on { color: #04101e !important; background: linear-gradient(180deg, #fff 0%, #b6ff3d 100%) !important; }
html.av2 .qrow { border: 2px solid rgba(34, 230, 255, .5) !important; border-radius: 6px !important; background: rgba(255, 255, 255, .06) !important; }
html.av2 .qrow .qt { color: #ffffff !important; }
html.av2 #popstack > *, html.av2 .pop {
  border: 3px solid #04101e !important;
  border-radius: 9px !important;
  background: linear-gradient(180deg, #ff5aa8 0%, #a80a56 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 0 #04101e, 0 0 26px rgba(255, 47, 142, .8) !important;
  font-family: var(--nv-font) !important;
  font-weight: 700 !important;
  text-shadow: 0 1px 0 #04101e !important;
}

/* ---------- 11. bottom nav returns, arcade style ---------- */

html.av2 #taskbar {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin: 0 !important;
  padding: 7px 10px !important;
  border: 3px solid #04101e !important;
  border-radius: 10px 10px 0 0 !important;
  background: linear-gradient(180deg, #3f8ff0 0%, #0d2f6b 52%, #04101e 100%) !important;
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, .5), 0 0 24px rgba(34, 230, 255, .45) !important;
  position: relative !important;
  z-index: 5 !important;
}
html.av2 #startbtn, html.av2 .tb-item {
  font-family: var(--nv-font) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  font-size: 9.5px !important;
  letter-spacing: .1em !important;
  color: #ffffff !important;
  padding: 6px 11px !important;
  border: 2px solid #04101e !important;
  border-radius: 7px !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, .32) 0%, rgba(10, 42, 94, .6) 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .55), 0 2px 0 #04101e !important;
  text-shadow: 0 1px 0 #04101e !important;
}
html.av2 #startbtn { background: linear-gradient(180deg, #b6ff3d 0%, #4f9e00 100%) !important; color: #04101e !important; text-shadow: none !important; }
html.av2 .tb-item:hover { box-shadow: inset 0 1px 0 #fff, 0 2px 0 #04101e, 0 0 14px rgba(255, 47, 142, .8) !important; }
html.av2 .tb-clock { font-family: var(--nv-font) !important; font-weight: 700 !important; color: #b6ff3d !important; text-shadow: 0 1px 0 #04101e, 0 0 10px rgba(182, 255, 61, .8) !important; }

/* ---------- 12. menu girl: low-poly pin-up, back of the scene ---------- */

html.av2 .nv-girl {
  position: absolute !important;
  right: 6px !important;
  bottom: 0 !important;
  width: 250px !important;
  height: 460px !important;
  z-index: 1 !important;
  pointer-events: none !important;
  opacity: .96 !important;
  animation: nvbreath 6.5s ease-in-out infinite !important;
  filter: drop-shadow(0 0 26px rgba(255, 47, 142, .45)) saturate(1.15) !important;
}
html.av2 .nv-girl svg { width: 100% !important; height: 100% !important; display: block !important; }
html.av2 .nv-girl::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: -18px !important;
  width: 260px !important;
  height: 60px !important;
  transform: translateX(-50%) !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(255, 47, 142, .5) 0%, rgba(122, 77, 255, .22) 46%, transparent 72%) !important;
  filter: blur(8px) !important;
}
@keyframes nvbreath {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-5px) scale(1.008); }
}
/* she hangs behind the glass panel, visible through it */
@media (max-width: 820px) {
  html.av2 .nv-girl { width: 200px !important; height: 368px !important; right: -26px !important; opacity: .85 !important; }
}

/* ---------- 13. interaction feedback ---------- */

html.av2 .nv-ring {
  position: absolute !important;
  z-index: 70 !important;
  width: 18px !important;
  height: 18px !important;
  margin: -9px 0 0 -9px !important;
  border-radius: 50% !important;
  border: 4px solid #b6ff3d !important;
  pointer-events: none !important;
  animation: nvring .55s ease-out forwards !important;
}
@keyframes nvring {
  from { transform: scale(.4); opacity: 1; }
  to   { transform: scale(6.5); opacity: 0; }
}
html.av2 .nv-spark {
  position: absolute !important;
  z-index: 71 !important;
  width: 7px !important;
  height: 7px !important;
  margin: -3.5px 0 0 -3.5px !important;
  border-radius: 2px !important;
  pointer-events: none !important;
  animation: nvspark .62s ease-out forwards !important;
}
@keyframes nvspark {
  from { transform: translate(0, 0) scale(1) rotate(0deg); opacity: 1; }
  to   { transform: translate(var(--sx), var(--sy)) scale(.2) rotate(220deg); opacity: 0; }
}
html.av2 .nv-flash {
  position: absolute !important;
  inset: 0 !important;
  z-index: 65 !important;
  pointer-events: none !important;
  mix-blend-mode: screen !important;
  animation: nvflash .3s ease-out forwards !important;
}
@keyframes nvflash {
  from { opacity: .5; }
  to   { opacity: 0; }
}
html.av2 .nv-shake { animation: nvshake .28s linear !important; }
@keyframes nvshake {
  0%, 100% { transform: translate(0, 0); }
  20% { transform: translate(-4px, 2px) rotate(-.25deg); }
  40% { transform: translate(4px, -3px) rotate(.25deg); }
  60% { transform: translate(-3px, -2px); }
  80% { transform: translate(3px, 3px); }
}

/* ---------- 14. floating currency motes ---------- */

html.av2 .nv-coin {
  position: absolute !important;
  z-index: 3 !important;
  pointer-events: none !important;
  font-family: var(--nv-font) !important;
  font-weight: 700 !important;
  color: #ffe66a !important;
  text-shadow: 0 2px 0 #04101e, 0 0 14px rgba(255, 210, 63, .9) !important;
  animation: nvcoin linear infinite !important;
  opacity: 0;
}
@keyframes nvcoin {
  0%   { transform: translateY(20px) scale(.7) rotate(-8deg); opacity: 0; }
  15%  { opacity: .9; }
  80%  { opacity: .55; }
  100% { transform: translateY(-160px) scale(1.05) rotate(10deg); opacity: 0; }
}

/* ---------- 15. light mode: daytime neon ---------- */

html.av2[data-mode="light"] body { background: #cfe0ff !important; color: #08204a !important; }
html.av2[data-mode="light"] body::before {
  background:
    radial-gradient(80% 46% at 18% 8%, rgba(255, 47, 142, .34) 0%, transparent 62%),
    radial-gradient(70% 42% at 84% 4%, rgba(34, 230, 255, .4) 0%, transparent 64%),
    linear-gradient(180deg, #e8f4ff 0%, #cfe0ff 46%, #a9c6f2 100%) !important;
}
html.av2[data-mode="light"] #chrome {
  border-color: #0a1a3a !important;
  background: linear-gradient(180deg, #ffffff 0%, #dbeaff 52%, #b6d2f5 100%) !important;
  box-shadow: inset 0 0 0 2px rgba(34, 230, 255, .6), inset 0 2px 0 #fff, 0 0 0 1px #0a1a3a, 0 0 30px rgba(34, 230, 255, .45), 0 22px 46px rgba(20, 50, 100, .35) !important;
}
html.av2[data-mode="light"] #ps3 { background: linear-gradient(180deg, #d9ebff 0%, #c3daff 46%, #a8c6f0 100%) !important; }
html.av2[data-mode="light"] #titlebar { background: linear-gradient(180deg, #ffffff 0%, #cfe3ff 100%) !important; border-bottom-color: #ff2f8e !important; color: #08204a !important; text-shadow: none !important; }
html.av2[data-mode="light"] #titlebar .ttitle { color: #08204a !important; text-shadow: 0 1px 0 #fff !important; }
html.av2[data-mode="light"] .p3-band { background: linear-gradient(180deg, rgba(255, 255, 255, .95) 0%, rgba(200, 224, 255, .8) 58%, rgba(200, 224, 255, 0) 100%) !important; border-bottom-color: rgba(34, 230, 255, .8) !important; }
html.av2[data-mode="light"] .p3-cat .p3-ci { background: radial-gradient(circle at 34% 20%, #fff 0%, rgba(255, 255, 255, .5) 42%, transparent 68%), linear-gradient(180deg, #8fd4ff 0%, #2f8ae0 48%, #12407e 100%) !important; color: #04101e !important; }
html.av2[data-mode="light"] .p3-cat.on .p3-ci { background: radial-gradient(circle at 34% 18%, #fff 0%, rgba(255, 255, 255, .6) 40%, transparent 70%), linear-gradient(180deg, #fff27a 0%, #ffd23f 42%, #ff2f8e 100%) !important; color: #24103a !important; }
html.av2[data-mode="light"] .p3-cat .p3-cl { color: rgba(10, 40, 90, .7) !important; text-shadow: 0 1px 0 #fff !important; }
html.av2[data-mode="light"] .p3-cat.on .p3-cl { color: #08204a !important; }
html.av2[data-mode="light"] .p3-row { background: linear-gradient(180deg, rgba(255, 255, 255, .95) 0%, rgba(206, 226, 255, .95) 46%, rgba(160, 196, 240, .95) 100%) !important; }
html.av2[data-mode="light"] .p3-row .nm, html.av2[data-mode="light"] .p3-row .hlog { color: #08204a !important; text-shadow: 0 1px 0 #fff !important; }
html.av2[data-mode="light"] .p3-row .sub, html.av2[data-mode="light"] .p3-row .hsub { color: rgba(10, 44, 92, .78) !important; text-shadow: none !important; }
html.av2[data-mode="light"] .p3-row.on { background: linear-gradient(180deg, #ffd6ea 0%, #ff5aa8 46%, #c01068 100%) !important; }
html.av2[data-mode="light"] .p3-row.on .nm, html.av2[data-mode="light"] .p3-row.on .hlog { color: #ffffff !important; text-shadow: 0 2px 0 #6a0634 !important; }
html.av2[data-mode="light"] .p3-info { background: linear-gradient(180deg, rgba(255, 255, 255, .82) 0%, rgba(214, 232, 255, .88) 100%) !important; }
html.av2[data-mode="light"] .p3-info h3 { color: #08204a !important; text-shadow: 0 1px 0 #fff !important; }
html.av2[data-mode="light"] .p3-info p { color: rgba(10, 44, 92, .85) !important; text-shadow: none !important; }
html.av2[data-mode="light"] .p3-info .p3-kv span { color: #1b5fb0 !important; }
html.av2[data-mode="light"] .p3-info .p3-kv b { color: #b8005a !important; text-shadow: none !important; }
html.av2[data-mode="light"] .p3-row.p3-bal .p3-amt { color: #b8005a !important; text-shadow: 0 1px 0 #fff !important; }
html.av2[data-mode="light"] .panel { background: linear-gradient(180deg, rgba(255, 255, 255, .92) 0%, rgba(204, 224, 255, .94) 100%) !important; color: #08204a !important; }
html.av2[data-mode="light"] .panel .ph { color: #08204a !important; }
html.av2[data-mode="light"] #main, html.av2[data-mode="light"] .view { color: #0a2a5e !important; }
html.av2[data-mode="light"] #main [style*="#33507e"], html.av2[data-mode="light"] #main [style*="#123b7a"] { color: rgba(10, 44, 92, .8) !important; }
html.av2[data-mode="light"] #taskbar { background: linear-gradient(180deg, #ffffff 0%, #cfe3ff 52%, #a8c6f0 100%) !important; }
html.av2[data-mode="light"] #startbtn { background: linear-gradient(180deg, #b6ff3d 0%, #4f9e00 100%) !important; color: #04101e !important; }
html.av2[data-mode="light"] .tb-item { color: #08204a !important; background: linear-gradient(180deg, #fff 0%, #cfe3ff 100%) !important; }
html.av2[data-mode="light"] .tb-clock { color: #0a6b1f !important; text-shadow: none !important; }
html.av2[data-mode="light"] .nv-crt { opacity: .34 !important; }
html.av2[data-mode="light"] .nv-girl { filter: drop-shadow(0 0 22px rgba(255, 47, 142, .5)) saturate(1.2) brightness(1.04) !important; }

/* ---------- 16. motion budget + phone ---------- */

@media (prefers-reduced-motion: reduce) {
  html.av2 .p3-waves i,
  html.av2 .nv-cloud,
  html.av2 .nv-dust,
  html.av2 .nv-roll,
  html.av2 .nv-vhs,
  html.av2 .nv-bloom,
  html.av2 .p3-row.on,
  html.av2 .p3-cat .p3-ci,
  html.av2 .p3-cat.on .p3-ci,
  html.av2 .nv-girl,
  html.av2 .nv-coin { animation: none !important; }
  html.av2 .nv-shake { animation: none !important; }
}
@media (max-width: 430px) {
  html.av2 .p3-band { height: 92px !important; padding: 0 7px !important; }
  html.av2 .p3-cat { width: 66px !important; }
  html.av2 .p3-cat .p3-ci { width: 36px !important; height: 36px !important; }
  html.av2 .p3-cat .p3-ci svg { width: 20px !important; height: 20px !important; }
  html.av2 .p3-cat .p3-cl { font-size: 8px !important; letter-spacing: .06em !important; }
  html.av2 .p3-cat.on .p3-cl { font-size: 9.5px !important; }
  html.av2 .p3-row { margin: 3px 7px 6px !important; padding: 7px 11px 7px 9px !important; border-radius: 9px !important; }
  html.av2 .p3-row .ico { width: 38px !important; height: 38px !important; border-radius: 9px !important; }
  html.av2 .p3-row .ico svg { width: 21px !important; height: 21px !important; }
  html.av2 .p3-row .nm, html.av2 .p3-row .hlog { font-size: 13px !important; }
  html.av2 .p3-row .sub, html.av2 .p3-row .hsub { font-size: 8.5px !important; }
  html.av2 .p3-row.hero { min-height: 78px !important; }
  html.av2 .p3-row.hero .hlog { font-size: 24px !important; }
  html.av2 .p3-row.p3-bal .p3-amt { font-size: 16px !important; }
  html.av2 #taskbar { padding: 6px 7px !important; gap: 5px !important; }
  html.av2 #startbtn, html.av2 .tb-item { font-size: 8.5px !important; padding: 5px 8px !important; }
  html.av2 #ps3 .p3-scroll > #main { padding: 6px 7px 12px !important; }
}

/* =============================================================
   17. SPLASH — PS3 system-software boot, not an arcade cab
   Deep near-black room, one drifting XMB light ribbon, thin
   wide-tracked wordmark, hairline progress. No gold, no chunky.
   ============================================================= */

html.av2 #splash {
  background:
    radial-gradient(130% 78% at 50% 112%, rgba(28, 92, 190, .5) 0%, rgba(10, 40, 96, .25) 42%, transparent 70%),
    radial-gradient(70% 50% at 8% 4%, rgba(70, 150, 255, .16) 0%, transparent 66%),
    linear-gradient(180deg, #05090f 0%, #03060d 54%, #000206 100%) !important;
  justify-content: center !important;
  gap: 0 !important;
  overflow: hidden !important;
  padding-bottom: 0 !important;
}
html.av2 #splash.off { opacity: 0 !important; transition: opacity .5s linear !important; }

/* the ribbon: one soft light band, drifting on a slow skew */
html.av2 #splash::before {
  content: "" !important;
  position: absolute !important;
  left: -24% !important;
  right: -24% !important;
  top: 36% !important;
  height: 30% !important;
  pointer-events: none !important;
  background:
    linear-gradient(90deg,
      transparent 0%,
      rgba(88, 168, 255, .06) 16%,
      rgba(150, 214, 255, .3) 44%,
      rgba(72, 148, 255, .1) 68%,
      transparent 100%) !important;
  filter: blur(2px) !important;
  transform: skewY(-5deg) !important;
  animation: nvxmb 16s ease-in-out infinite !important;
}
@keyframes nvxmb {
  0%, 100% { transform: translate3d(-7%, 0, 0) skewY(-5deg) scaleY(.92); opacity: .8; }
  50%      { transform: translate3d(7%, -6px, 0) skewY(-3.4deg) scaleY(1.1); opacity: 1; }
}
/* the dust motes in the light */
html.av2 #splash::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  opacity: .5 !important;
  background:
    radial-gradient(1.4px 1.4px at 18% 44%, rgba(210, 236, 255, .9) 0%, transparent 100%),
    radial-gradient(1.2px 1.2px at 32% 62%, rgba(210, 236, 255, .7) 0%, transparent 100%),
    radial-gradient(1.6px 1.6px at 47% 38%, rgba(255, 255, 255, .85) 0%, transparent 100%),
    radial-gradient(1.2px 1.2px at 63% 56%, rgba(210, 236, 255, .7) 0%, transparent 100%),
    radial-gradient(1.5px 1.5px at 76% 42%, rgba(255, 255, 255, .8) 0%, transparent 100%),
    radial-gradient(1.2px 1.2px at 88% 60%, rgba(210, 236, 255, .6) 0%, transparent 100%),
    radial-gradient(1.3px 1.3px at 54% 70%, rgba(255, 255, 255, .5) 0%, transparent 100%) !important;
  animation: nvmote 9s linear infinite !important;
}
@keyframes nvmote {
  0%   { transform: translate3d(0, 6px, 0); }
  50%  { transform: translate3d(6px, -6px, 0); }
  100% { transform: translate3d(0, 6px, 0); }
}

/* wordmark: thin, wide, quiet */
html.av2 #splash .slogo {
  position: relative !important;
  z-index: 2 !important;
  font-family: var(--nv-font) !important;
  font-weight: 400 !important;
  font-size: 21px !important;
  line-height: 1.1 !important;
  letter-spacing: .56em !important;
  text-indent: .56em !important;
  text-transform: uppercase !important;
  color: #f4f9ff !important;
  background: none !important;
  -webkit-text-fill-color: #f4f9ff !important;
  text-shadow:
    0 0 16px rgba(120, 190, 255, .85),
    0 0 44px rgba(48, 118, 220, .55) !important;
  animation: nvxlogo 4.4s ease-in-out infinite !important;
}
html.av2 #splash .slogo::after {
  content: "" !important;
  display: block !important;
  width: 46% !important;
  height: 1px !important;
  margin: 13px auto 0 !important;
  background: linear-gradient(90deg, transparent, rgba(160, 214, 255, .85), transparent) !important;
  box-shadow: 0 0 10px rgba(120, 190, 255, .7) !important;
}
@keyframes nvxlogo {
  0%, 100% { opacity: .82; }
  50%      { opacity: 1; }
}

/* the status line: system text, not an arcade prompt */
html.av2 #splash .stxt {
  position: relative !important;
  z-index: 2 !important;
  margin-top: 20px !important;
  font-family: var(--nv-font) !important;
  font-weight: 400 !important;
  font-size: 8px !important;
  letter-spacing: .46em !important;
  text-indent: .46em !important;
  text-transform: uppercase !important;
  color: rgba(176, 208, 240, .85) !important;
  text-shadow: 0 0 12px rgba(90, 160, 255, .55) !important;
}

/* hairline progress */
html.av2 #splash .sbar {
  position: relative !important;
  z-index: 2 !important;
  width: 232px !important;
  height: 2px !important;
  margin-top: 15px !important;
  border: 0 !important;
  border-radius: 2px !important;
  background: rgba(150, 190, 240, .16) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
html.av2 #splash .sbar i {
  height: 100% !important;
  border-radius: 2px !important;
  background: linear-gradient(90deg, rgba(96, 168, 255, .35), #cfe8ff 62%, #ffffff) !important;
  box-shadow: 0 0 12px rgba(150, 214, 255, .95) !important;
  animation: nvshine 2.6s linear infinite !important;
}
@keyframes nvshine {
  0%   { filter: brightness(.9); }
  50%  { filter: brightness(1.5); }
  100% { filter: brightness(.9); }
}

/* light mode keeps the same boot room, cooler */
html.av2[data-mode="light"] #splash {
  background:
    radial-gradient(130% 78% at 50% 112%, rgba(60, 128, 220, .34) 0%, transparent 66%),
    linear-gradient(180deg, #dfeeff 0%, #c9dcf4 54%, #b2c8e6 100%) !important;
}
html.av2[data-mode="light"] #splash::before {
  background:
    linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, .5) 42%, rgba(120, 170, 230, .22) 66%, transparent 100%) !important;
}
html.av2[data-mode="light"] #splash::after { opacity: .3 !important; }
html.av2[data-mode="light"] #splash .slogo {
  color: #0a2544 !important;
  -webkit-text-fill-color: #0a2544 !important;
  text-shadow: 0 1px 0 #ffffff, 0 0 22px rgba(255, 255, 255, .9) !important;
}
html.av2[data-mode="light"] #splash .slogo::after {
  background: linear-gradient(90deg, transparent, rgba(10, 40, 80, .45), transparent) !important;
  box-shadow: none !important;
}
html.av2[data-mode="light"] #splash .stxt { color: rgba(10, 40, 80, .7) !important; text-shadow: none !important; }
html.av2[data-mode="light"] #splash .sbar { background: rgba(10, 40, 80, .12) !important; }
html.av2[data-mode="light"] #splash .sbar i {
  background: linear-gradient(90deg, rgba(20, 70, 140, .5), #14406e 70%, #0a2544) !important;
  box-shadow: none !important;
}

/* ---- 18. menu girl: cover-art paint pass ---- */

html.av2 .nv-girl {
  filter:
    drop-shadow(0 14px 26px rgba(3, 8, 20, .75))
    drop-shadow(0 0 30px rgba(255, 47, 142, .4))
    saturate(1.18) contrast(1.08) !important;
}
@media (max-width: 430px) {
  html.av2 .nv-girl { filter: drop-shadow(0 8px 16px rgba(3, 8, 20, .8)) saturate(1.16) !important; }
}
@media (prefers-reduced-motion: reduce) {
  html.av2 #splash::before,
  html.av2 #splash::after,
  html.av2 #splash .slogo,
  html.av2 #splash .sbar i { animation: none !important; }
}
