﻿@import url("https://fonts.googleapis.com/css2?family=Titan+One&display=swap");

/* Tuselcraft header */

#header {
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  background-color: rgb(var(--color-voon-950) / 0.88);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.22);
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

#header.is-scrolled {
  background-color: rgb(var(--color-voon-950) / 0.96);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
}

#mobile-menu {
  position: sticky;
  top: 0;
  z-index: 100;
  background-color: rgb(var(--color-voon-950) / 0.92);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

#header .tuselcraft-header {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 1rem;
  min-height: 5.5rem;
  padding: 0.65rem 0;
}

#header .tuselcraft-nav--left {
  grid-column: 1;
  justify-self: start;
}

#header .tuselcraft-logo-link {
  grid-column: 2;
  justify-self: center;
  display: block;
  line-height: 0;
}

#header .tuselcraft-header__actions {
  grid-column: 3;
  justify-self: end;
  position: static;
  transform: none;
}

#header .tuselcraft-logo {
  height: 4.25rem;
  width: auto;
  max-width: min(420px, 52vw);
  object-fit: contain;
  transform-origin: center center;
  transition: transform 0.35s cubic-bezier(0.34, 1.4, 0.64, 1), filter 0.35s ease;
  will-change: transform;
}

#header .tuselcraft-logo-link:hover .tuselcraft-logo,
#header .tuselcraft-logo-link:focus-visible .tuselcraft-logo {
  transform: scale(1.1);
  filter: drop-shadow(0 4px 18px rgba(var(--color-indigo-400), 0.35));
}

#header .tuselcraft-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 1.35rem;
}

#header .tuselcraft-nav .nav-item {
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  padding: 0.4rem 0.1rem;
  white-space: nowrap;
  transition: color 0.2s ease;
}

#header .tuselcraft-nav .nav-item:not(.active) {
  color: rgba(255, 255, 255, 0.62);
}

#header .tuselcraft-nav .nav-item:not(.active):hover {
  color: rgba(255, 255, 255, 0.95);
}

#header .tuselcraft-nav .nav-item.active {
  font-weight: 600;
  color: #fff;
}

#header .tuselcraft-nav .nav-item.active::after {
  bottom: -0.65rem;
  height: 0.18rem;
  border-radius: 9999px;
}

#header .tuselcraft-nav .nav-item.active:after {
  box-shadow: 0 0 14px rgba(var(--color-indigo-500), 0.4);
}

#header .tuselcraft-login-btn {
  border-radius: 0.65rem;
  padding: 0.5rem 1rem;
  font-size: 0.8125rem;
  font-weight: 600;
  gap: 0.5rem;
  white-space: nowrap;
}

#mobile-menu .tuselcraft-logo-mobile {
  height: 2.75rem;
  width: auto;
  max-width: 240px;
  object-fit: contain;
}

#mobile-menu .text-base {
  font-size: 0.875rem !important;
}

@media (min-width: 1024px) {
  #header .tuselcraft-header {
    min-height: 6rem;
  }

  #header .tuselcraft-logo {
    height: 4.75rem;
    max-width: 460px;
  }

  #header .tuselcraft-nav {
    gap: 0.25rem 1.65rem;
  }

  #header .tuselcraft-logo-link:hover .tuselcraft-logo,
  #header .tuselcraft-logo-link:focus-visible .tuselcraft-logo {
    transform: scale(1.12);
  }
}

/* Hero animated background */

.hero-bg-layer {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.hero-bg-animated {
  position: absolute;
  inset: -10%;
  width: 120%;
  height: 120%;
  background-size: cover;
  background-position: center center;
  will-change: transform;
  animation: heroKenBurns 24s ease-in-out infinite alternate;
}

.hero-bg-shimmer {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    115deg,
    transparent 0%,
    rgba(99, 102, 241, 0.06) 35%,
    rgba(129, 140, 248, 0.14) 50%,
    rgba(99, 102, 241, 0.06) 65%,
    transparent 100%
  );
  background-size: 220% 100%;
  animation: heroShimmer 9s ease-in-out infinite;
  mix-blend-mode: screen;
}

.hero-bg-particles {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-repeat: repeat;
  background-size: auto;
  opacity: 0.35;
  animation: heroParticlesFloat 18s ease-in-out infinite alternate;
}

.hero-bg-vignette {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.hero-bg-layer::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: radial-gradient(ellipse at 30% 20%, rgba(99, 102, 241, 0.18) 0%, transparent 55%),
    radial-gradient(ellipse at 75% 80%, rgba(79, 70, 229, 0.12) 0%, transparent 50%);
  animation: heroGlowPulse 8s ease-in-out infinite alternate;
}

@keyframes heroKenBurns {
  0% {
    transform: scale(1) translate3d(0, 0, 0);
  }
  100% {
    transform: scale(1.14) translate3d(-2.5%, -1.8%, 0);
  }
}

@keyframes heroShimmer {
  0% {
    background-position: 120% 0;
    opacity: 0.35;
  }
  50% {
    opacity: 0.7;
  }
  100% {
    background-position: -120% 0;
    opacity: 0.35;
  }
}

@keyframes heroParticlesFloat {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 0.28;
  }
  100% {
    transform: translate3d(-1.5%, -2%, 0) scale(1.04);
    opacity: 0.42;
  }
}

@keyframes heroGlowPulse {
  0% {
    opacity: 0.55;
  }
  100% {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-bg-animated,
  .hero-bg-shimmer,
  .hero-bg-particles,
  .hero-bg-layer::after {
    animation: none;
  }

  .hero-bg-animated {
    inset: 0;
    width: 100%;
    height: 100%;
  }
}

@media (max-width: 1100px) {
  #header .tuselcraft-nav {
    gap: 0.25rem 0.85rem;
  }

  #header .tuselcraft-nav .nav-item {
    font-size: 0.75rem;
  }

  #header .tuselcraft-logo {
    height: 3.5rem;
    max-width: 280px;
  }
}

/* ============================================================
   Retro TV site shell (all pages)
   ============================================================ */

html.retro-tv-site,
body.retro-tv-site {
  height: 100%;
  overflow: hidden;
}

html.retro-tv-site--auth,
body.retro-tv-site--auth {
  height: 100%;
  overflow: hidden;
}

/* Brand strip overlays; #app fills the full viewport for equal TV margins */
body.retro-tv-site,
body.retro-tv-site--auth {
  display: flex;
  flex-direction: column;
  position: relative;
  isolation: isolate;
  /* Soft cream sandstone gutters — sakura-friendly */
  background-color: #f3e6d8;
  background-image: url("../img/mc-cream-tile.png");
  background-size: 128px 128px;
  background-repeat: repeat;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
  /* Fullscreen TV content column */
  --tv-content-max: 1240px;
  --tv-gutter: clamp(1.15rem, 4.5vw, 3.5rem);
  --tv-chrome-h: 4.65rem;
  --tv-chrome-top: 1.15rem;
  --tv-broadcast-h: 2.85rem;
  --tv-btn-primary-gradient: linear-gradient(180deg, #ffe4f0 0%, #f9a8d4 20%, #f472b6 50%, #ec4899 76%, #be185d 100%);
  --tv-btn-primary-border: #fdbad8;
  --tv-btn-primary-color: #fff;
  --tv-btn-primary-shadow: rgb(157 23 77 / 0.42);
}

body.retro-tv-site #app,
body.retro-tv-site--auth #app {
  position: relative;
  z-index: 1;
  display: block;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: transparent;
}

body.retro-tv-site #app > .retro-tv-stage,
body.retro-tv-site--auth #app > .retro-tv-stage {
  height: 100%;
  width: 100%;
  overflow: hidden;
  box-sizing: border-box;
  background-color: #f0dfd0;
  background-image:
    linear-gradient(rgb(255 246 238 / 0.35), rgb(255 236 243 / 0.22)),
    url("../img/mc-cream-tile.png");
  background-size: auto, 128px 128px;
  background-repeat: no-repeat, repeat;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
}

/* Top outer strip: hidden when TV is fullscreen */
body.retro-tv-site .retro-tv-stage::before,
body.retro-tv-site--auth .retro-tv-stage::before {
  content: none;
  display: none;
}

body.retro-tv-site .retro-tv-stage::after,
body.retro-tv-site--auth .retro-tv-stage::after {
  content: none;
  display: none;
}

body.retro-tv-site .retro-tv-stage > .retro-tv,
body.retro-tv-site--auth .retro-tv-stage > .retro-tv {
  position: relative;
  z-index: 1;
}

/* Legacy external footer (if any cached markup remains) */
body.retro-tv-site .retro-tv-footer {
  display: none !important;
}

/* Footer inside TV viewport */
body.retro-tv-site .tv-screen-footer {
  position: relative;
  z-index: 5;
  margin-top: 0;
  border-top: 1px solid rgb(var(--color-indigo-500) / 0.28);
  background:
    linear-gradient(180deg, rgb(8 14 22 / 0.72) 0%, rgb(4 8 14 / 0.92) 100%);
  backdrop-filter: blur(2px);
}

body.retro-tv-site .tv-screen-footer > .bg-voon-700\/50 {
  background: transparent !important;
  border-top: none !important;
  padding-top: 1.1rem !important;
  padding-bottom: 1.25rem !important;
}

body.retro-tv-site .tv-screen-footer h3 {
  font-family: "Titan One", sans-serif !important;
  font-size: 1.15rem !important;
  line-height: 1.25 !important;
  letter-spacing: 0.06em;
  color: rgb(var(--color-indigo-200)) !important;
  text-shadow: 1px 1px 0 #000;
}

body.retro-tv-site .tv-screen-footer,
body.retro-tv-site .tv-screen-footer p,
body.retro-tv-site .tv-screen-footer li,
body.retro-tv-site .tv-screen-footer a,
body.retro-tv-site .tv-screen-footer span {
  font-family: "Titan One", sans-serif;
}

body.retro-tv-site .tv-screen-footer .text-white\/75,
body.retro-tv-site .tv-screen-footer .text-sm,
body.retro-tv-site .tv-screen-footer li,
body.retro-tv-site .tv-screen-footer a {
  font-size: 1.05rem !important;
  line-height: 1.3;
}

body.retro-tv-site .tv-screen-footer a:hover {
  color: #fff !important;
}

body.retro-tv-site .tv-screen-footer .border-t {
  border-color: rgb(var(--color-indigo-500) / 0.25) !important;
}

body.retro-tv-site .tv-screen-footer [x-show="languageMenu"],
body.retro-tv-site .tv-screen-footer [x-show="currencyMenu"] {
  border-radius: 0 !important;
  border: 2px solid rgb(var(--color-indigo-400) / 0.45) !important;
  background: rgb(var(--color-voon-900)) !important;
}


body.retro-tv-site #header,
body.retro-tv-site #header.is-scrolled,
body.retro-tv-site #mobile-menu {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  z-index: 40;
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: none !important;
  box-shadow: none !important;
}

body.retro-tv-site .retro-tv__chrome #header.hidden.sm\:block {
  display: block;
}

body.retro-tv-site .retro-tv__viewport {
  flex: 1 1 auto;
  min-height: 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  /* clip (not hidden) so position:sticky descendants can pin inside this scrollport */
  overflow-x: clip;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-top: calc(var(--tv-chrome-h) + var(--tv-chrome-top));
  box-sizing: border-box;
  /* Cream sandstone — soft sakura wash over light tile */
  background-color: #e8d4c4;
  background-image:
    radial-gradient(ellipse at 50% 0%, rgb(249 145 191 / 0.18) 0%, transparent 58%),
    radial-gradient(ellipse at 50% 100%, rgb(255 250 243 / 0.28) 0%, transparent 52%),
    linear-gradient(180deg, rgb(255 246 238 / 0.42) 0%, rgb(255 236 243 / 0.28) 45%, rgb(244 214 224 / 0.34) 100%),
    url("../img/mc-cream-tile.png");
  background-size: auto, auto, auto, 96px 96px;
  background-repeat: no-repeat, no-repeat, no-repeat, repeat;
  background-position: center top, center bottom, center, 0 0;
  background-attachment: local;
  -webkit-overflow-scrolling: touch;
}

body.retro-tv-site:has(.retro-tv__broadcast-bar) .retro-tv__viewport {
  padding-top: calc(var(--tv-chrome-h) + var(--tv-broadcast-h));
}

body.retro-tv-site--auth .retro-tv__viewport {
  background-color: #e8d4c4;
  background-image:
    radial-gradient(ellipse at 50% 0%, rgb(249 145 191 / 0.18) 0%, transparent 58%),
    radial-gradient(ellipse at 50% 100%, rgb(255 250 243 / 0.28) 0%, transparent 52%),
    linear-gradient(180deg, rgb(255 246 238 / 0.42) 0%, rgb(255 236 243 / 0.28) 45%, rgb(244 214 224 / 0.34) 100%),
    url("../img/mc-cream-tile.png");
  background-size: auto, auto, auto, 96px 96px;
  background-repeat: no-repeat, no-repeat, no-repeat, repeat;
  background-position: center top, center bottom, center, 0 0;
  background-attachment: local;
}

body.retro-tv-site .retro-tv__viewport .main {
  /* At least one full screen tall so footer stays below the fold on short pages */
  flex: 0 0 auto;
  flex-grow: 0 !important;
  width: 100%;
  min-height: 100%;
  min-height: 100dvh;
  height: auto;
  margin-bottom: 0 !important;
  display: flex;
  flex-direction: column;
}

body.retro-tv-site .tv-screen-footer {
  flex: 0 0 auto;
  position: relative;
  z-index: 5;
  margin-top: 0;
  width: 100%;
}

/* Auth pages: full-bleed content inside TV (no left rail) */
body.retro-tv-site--auth .retro-tv__body--auth {
  display: flex;
  flex: 1;
  min-height: 0;
  min-width: 0;
}

body.retro-tv-site--auth .retro-tv__viewport {
  width: 100%;
}

body.retro-tv-site--auth .retro-tv__viewport .main {
  min-height: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}

body.retro-tv-site--auth .retro-tv__viewport .main > div,
body.retro-tv-site--auth .retro-tv__viewport .main > .tv-auth {
  flex: 1;
  min-height: 100%;
}

body.retro-tv-site--auth .retro-tv__channel-bar {
  display: none !important;
}

/* Homepage hero inside viewport */

.home-hero {
  position: relative;
  height: clamp(220px, 42vh, 480px);
  overflow: hidden;
}

.home-hero__carousel,
.home-hero__slide,
.home-hero .flickity-viewport {
  height: 100%;
  min-height: 100%;
}

body.retro-tv-site #header .tuselcraft-header {
  display: flex !important;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: clamp(2rem, 5vw, 4rem);
  min-height: 0;
  height: auto;
  padding-top: 0.65rem;
  padding-bottom: 0.65rem;
  box-sizing: border-box;
  overflow: visible;
  background: transparent;
  width: 100% !important;
  max-width: none !important;
  grid-template-columns: none !important;
}

body.retro-tv-site #header .tuselcraft-nav {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
  flex: 0 1 auto !important;
  flex-grow: 0 !important;
  min-width: 0;
  min-height: 0;
  overflow: visible;
  width: auto;
  max-width: none;
  margin-left: clamp(2.5rem, 8vw, 7.5rem);
  margin-right: auto;
  padding: 0.3rem 0 0.3rem 0.1rem;
  border: none;
  background: transparent;
  box-shadow: none;
  scrollbar-width: thin;
}

body.retro-tv-site #header .tuselcraft-logo-link {
  display: none !important;
}

body.retro-tv-site #header .tv-header-spacer {
  display: none !important;
}

body.retro-tv-site #header .tv-topbar-tools {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.85rem;
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
  min-width: max-content;
  margin-left: auto !important;
  margin-right: 0 !important;
  padding-left: clamp(1.5rem, 4vw, 3.5rem) !important;
}

body.retro-tv-site #header .tuselcraft-nav .nav-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  flex: 0 0 auto;
  font-family: "Titan One", sans-serif;
  font-size: 1.02rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  text-transform: none;
  text-align: center;
  color: rgb(255 255 255 / 0.88) !important;
  text-shadow:
    0 2px 0 rgba(0, 0, 0, 0.55),
    0 4px 12px rgba(0, 0, 0, 0.35);
  filter: none;
  padding: 0.45rem 0.7rem;
  min-height: 0;
  white-space: nowrap;
  width: auto;
  max-width: none;
  box-sizing: border-box;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transition: color 0.18s ease, text-shadow 0.18s ease, transform 0.18s ease;
  line-height: 1.15;
  overflow: visible;
  position: relative;
  z-index: 1;
}

body.retro-tv-site #header .tuselcraft-nav .nav-item__label {
  flex: 0 0 auto;
  min-width: 0;
  max-width: none;
  text-align: center;
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
}

body.retro-tv-site #header .tuselcraft-nav .nav-item__chevron {
  flex-shrink: 0;
  opacity: 0.75;
  font-size: 0.8em;
}

body.retro-tv-site #header .tuselcraft-nav .nav-item:not(.active):hover {
  color: #fdbad8 !important;
  background: transparent;
  border: none;
  transform: translateY(-1px);
  text-shadow:
    0 0 10px rgb(249 145 191 / 0.75),
    0 2px 0 rgba(0, 0, 0, 0.55);
  box-shadow: none;
  filter: none;
  z-index: 2;
}

body.retro-tv-site #header .tuselcraft-nav .nav-item:not(.active):hover .nav-item__icon,
body.retro-tv-site #header .tuselcraft-nav .nav-item:not(.active):hover .nav-item__chevron {
  color: #fdbad8 !important;
}

body.retro-tv-site #header .tuselcraft-nav .nav-item.active {
  color: #fdbad8 !important;
  font-weight: 400;
  z-index: 3;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  text-shadow:
    0 0 10px rgb(249 145 191 / 0.55),
    0 2px 0 rgba(0, 0, 0, 0.55);
}

body.retro-tv-site #header .tuselcraft-nav .nav-item.active::after,
body.retro-tv-site #header .tuselcraft-nav .nav-item.active:after {
  content: none !important;
  display: none !important;
  box-shadow: none !important;
  background: none !important;
}

body.retro-tv-site #header .nav-item.tv-nav-focus,
body.retro-tv-site #header .tv-nav-home.tv-nav-focus,
body.retro-tv-site #header .tuselcraft-nav .nav-item.tv-nav-focus {
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Header "Kredi Yükle" — idle: text shimmer / hover: pill button */
body.retro-tv-site #header .tuselcraft-nav .nav-item--credit {
  position: relative;
  overflow: hidden;
  min-width: 0;
  min-height: 2.55rem;
  padding: 0.55rem 1.05rem;
  border-radius: 999px;
  justify-content: center;
  color: transparent !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease;
}

body.retro-tv-site #header .tuselcraft-nav .nav-item--credit:not(:hover):not(:focus-visible) {
  background: transparent !important;
  box-shadow: none !important;
}

body.retro-tv-site #header .tuselcraft-nav .nav-item--credit .nav-item__credit-idle {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  position: relative;
  z-index: 2;
  filter: drop-shadow(0 1px 0 rgba(0, 0, 0, 0.45));
  transition: opacity 0.18s ease, transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

body.retro-tv-site #header .tuselcraft-nav .nav-item--credit .nav-item__credit-idle .nav-item__icon,
body.retro-tv-site #header .tuselcraft-nav .nav-item--credit .nav-item__credit-idle .nav-item__label {
  /* Two identical halves so the loop never jumps */
  background-image: linear-gradient(
    90deg,
    #fde68a 0%,
    #f9a8d4 8%,
    #fff7ed 16%,
    #f472b6 25%,
    #fef3c7 33%,
    #fda4af 41%,
    #fde68a 50%,
    #f9a8d4 58%,
    #fff7ed 66%,
    #f472b6 75%,
    #fef3c7 83%,
    #fda4af 91%,
    #fde68a 100%
  );
  background-size: 200% 100%;
  background-position: 0% 50%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
  -webkit-text-fill-color: transparent;
  text-shadow: none !important;
  animation: tvNavCreditShimmerText 4.8s linear infinite;
}

body.retro-tv-site #header .tuselcraft-nav .nav-item--credit .nav-item__credit-buy {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  border-radius: inherit;
  overflow: hidden;
  background:
    linear-gradient(90deg, #be185d 0%, #f991bf 48%, #ec4899 100%);
  box-shadow:
    0 6px 16px rgb(219 39 119 / 0.35),
    inset 0 1px 0 rgb(255 255 255 / 0.32);
}

body.retro-tv-site #header .tuselcraft-nav .nav-item--credit .nav-item__credit-buy::after {
  content: "";
  position: absolute;
  inset: -40% auto -40% -55%;
  width: 42%;
  transform: skewX(-18deg);
  background: linear-gradient(90deg, transparent, rgb(255 250 243 / 0.65), transparent);
  opacity: 0;
}

body.retro-tv-site #header .tuselcraft-nav .nav-item--credit .nav-item__credit-main,
body.retro-tv-site #header .tuselcraft-nav .nav-item--credit .nav-item__credit-ghost {
  font-family: "Titan One", sans-serif;
  font-size: 0.92rem;
  letter-spacing: 0.05em;
  white-space: nowrap;
  text-transform: uppercase;
}

body.retro-tv-site #header .tuselcraft-nav .nav-item--credit .nav-item__credit-main {
  position: relative;
  z-index: 2;
  color: #fffaf3;
  -webkit-text-fill-color: #fffaf3;
  background: none;
  animation: none;
  filter: none;
  text-shadow: 0 2px 0 rgba(0, 0, 0, 0.28);
}

body.retro-tv-site #header .tuselcraft-nav .nav-item--credit .nav-item__credit-ghost {
  display: none;
}

body.retro-tv-site #header .tuselcraft-nav .nav-item--credit:hover,
body.retro-tv-site #header .tuselcraft-nav .nav-item--credit:focus-visible {
  color: #fff !important;
  background: transparent !important;
  transform: translateY(-1px) scale(1.03);
  text-shadow: none;
  outline: none;
  box-shadow:
    0 8px 20px rgb(157 23 77 / 0.42),
    0 0 18px rgb(244 114 182 / 0.3) !important;
}

body.retro-tv-site #header .tuselcraft-nav .nav-item--credit:hover .nav-item__credit-idle,
body.retro-tv-site #header .tuselcraft-nav .nav-item--credit:focus-visible .nav-item__credit-idle {
  opacity: 0;
  transform: translateX(14px);
}

body.retro-tv-site #header .tuselcraft-nav .nav-item--credit:hover .nav-item__credit-buy,
body.retro-tv-site #header .tuselcraft-nav .nav-item--credit:focus-visible .nav-item__credit-buy {
  opacity: 1;
  animation: tvNavCreditBuyIn 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

body.retro-tv-site #header .tuselcraft-nav .nav-item--credit:hover .nav-item__credit-buy::after,
body.retro-tv-site #header .tuselcraft-nav .nav-item--credit:focus-visible .nav-item__credit-buy::after {
  opacity: 1;
  animation: tvNavCreditShimmer 1.15s ease-in-out infinite;
}

body.retro-tv-site #header .tuselcraft-nav .nav-item--credit.active::after,
body.retro-tv-site #header .tuselcraft-nav .nav-item--credit.active:after {
  display: none;
}

@keyframes tvNavCreditShimmerText {
  0% { background-position: 0% 50%; }
  100% { background-position: 100% 50%; }
}

@keyframes tvNavCreditBuyIn {
  0% { opacity: 0; transform: translateY(4px) scale(0.96); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes tvNavCreditShimmer {
  0% { transform: translateX(0) skewX(-18deg); }
  100% { transform: translateX(360%) skewX(-18deg); }
}

@media (prefers-reduced-motion: reduce) {
  body.retro-tv-site #header .tuselcraft-nav .nav-item--credit .nav-item__credit-idle,
  body.retro-tv-site #header .tuselcraft-nav .nav-item--credit .nav-item__credit-buy,
  body.retro-tv-site #header .tuselcraft-nav .nav-item--credit .nav-item__credit-main,
  body.retro-tv-site #header .tuselcraft-nav .nav-item--credit .nav-item__credit-ghost,
  body.retro-tv-site #header .tuselcraft-nav .nav-item--credit .nav-item__credit-idle .nav-item__icon,
  body.retro-tv-site #header .tuselcraft-nav .nav-item--credit .nav-item__credit-idle .nav-item__label {
    transition: none !important;
    animation: none !important;
  }

  body.retro-tv-site #header .tuselcraft-nav .nav-item--credit .nav-item__credit-idle .nav-item__icon,
  body.retro-tv-site #header .tuselcraft-nav .nav-item--credit .nav-item__credit-idle .nav-item__label,
  body.retro-tv-site #header .tuselcraft-nav .nav-item--credit .nav-item__credit-main {
    background-position: 40% 50%;
  }
}

body.retro-tv-site #header .tv-rail-mid {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  width: auto;
  margin-top: 0;
  padding: 0;
  overflow: visible;
}

body.retro-tv-site #header .tv-rail-mid__bezel {
  width: auto;
  min-width: 7.5rem;
  padding: 0.22rem;
  border: 2px solid rgb(var(--color-indigo-400) / 0.55);
  border-radius: 12px;
  background: rgb(0 0 0 / 0.55);
  box-shadow:
    0 3px 0 rgba(0, 0, 0, 0.28),
    inset 0 0 0 1px rgb(255 255 255 / 0.04);
  box-sizing: border-box;
}

body.retro-tv-site #header .tv-rail-mid__screen {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-height: 2.2rem;
  height: auto;
  padding: 0.35rem 0.55rem;
  border: 2px solid rgb(var(--color-indigo-500) / 0.28);
  border-radius: 9px;
  background:
    radial-gradient(ellipse at 50% 0%, rgb(var(--color-indigo-400) / 0.2) 0%, transparent 60%),
    #050a12;
  overflow: hidden;
  box-sizing: border-box;
}

body.retro-tv-site #header .tv-rail-mid__screen::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(
    0deg,
    transparent 0,
    transparent 2px,
    rgb(0 0 0 / 0.22) 2px,
    rgb(0 0 0 / 0.22) 3px
  );
  opacity: 0.7;
}

body.retro-tv-site #header .tv-rail-mid__tag {
  display: none;
}

body.retro-tv-site #header .tv-rail-mid__eq {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 0.18rem;
  height: 1.05rem;
  flex-shrink: 0;
}

body.retro-tv-site #header .tv-rail-mid__eq i {
  display: block;
  width: 0.22rem;
  background: linear-gradient(180deg, #7dffb0 0%, #f991bf 100%);
  box-shadow: 0 0 6px rgb(125 255 176 / 0.45);
  animation: tvRailEq 1.1s ease-in-out infinite;
  transform-origin: bottom center;
}

body.retro-tv-site #header .tv-rail-mid.is-offline .tv-rail-mid__eq i {
  background: linear-gradient(180deg, #fb7185 0%, #64748b 100%);
  box-shadow: none;
  animation: none;
  transform: scaleY(0.35);
}

body.retro-tv-site #header .tv-rail-mid__eq i:nth-child(1) { height: 35%; animation-delay: 0s; }
body.retro-tv-site #header .tv-rail-mid__eq i:nth-child(2) { height: 70%; animation-delay: 0.12s; }
body.retro-tv-site #header .tv-rail-mid__eq i:nth-child(3) { height: 100%; animation-delay: 0.24s; }
body.retro-tv-site #header .tv-rail-mid__eq i:nth-child(4) { height: 55%; animation-delay: 0.08s; }
body.retro-tv-site #header .tv-rail-mid__eq i:nth-child(5) { height: 80%; animation-delay: 0.2s; }

@keyframes tvRailEq {
  0%, 100% { transform: scaleY(0.45); }
  50% { transform: scaleY(1); }
}

body.retro-tv-site #header .tv-topbar-tools {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.85rem;
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
  min-width: max-content;
  margin-left: auto !important;
  margin-right: 0 !important;
  padding-left: clamp(1.75rem, 4.5vw, 4rem) !important;
}

body.retro-tv-site #header .tv-topbar-tools > .sr-only,
body.retro-tv-site #header .tv-server-status-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

body.retro-tv-site #header .tuselcraft-header__actions {
  margin-top: 0;
  margin-left: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 0 0 auto;
  flex-shrink: 0;
  padding-top: 0;
  padding-bottom: 0;
  border-top: none;
  position: relative;
  z-index: 56;
  grid-column: auto !important;
  justify-self: auto !important;
}

body.retro-tv-site #header .tv-rail-mid__status {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  font-family: "Titan One", sans-serif;
  font-style: normal;
  font-size: 0.95rem;
  letter-spacing: 0.08em;
  line-height: 1;
  color: #fda4af;
  text-shadow: 1px 1px 0 #000;
}

body.retro-tv-site #header .tv-rail-mid.is-online .tv-rail-mid__status {
  color: #7dffb0;
  text-shadow: 0 0 8px rgb(125 255 176 / 0.35), 1px 1px 0 #000;
}

body.retro-tv-site #header .tv-rail-mid__online {
  display: none !important;
}

/* Gaming Night — hanging price-tag from the "C" in GECESİ */
body.retro-tv-site #header .tuselcraft-nav .nav-item--gaming-night {
  position: relative;
  flex-direction: row;
  align-items: center;
  align-self: center;
  justify-content: center;
  gap: 0.45rem;
  /* Same padding as other nav items — tag hangs outside the box */
  padding: 0.45rem 0.7rem;
  min-width: 0;
  min-height: 0;
  height: auto;
  overflow: visible !important;
}

body.retro-tv-site #header .tuselcraft-nav .nav-item--gaming-night .nav-item__main {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  overflow: visible !important;
  line-height: inherit;
}

body.retro-tv-site #header .tuselcraft-nav .nav-item__label--gn {
  position: relative;
  overflow: visible !important;
  line-height: inherit;
}

body.retro-tv-site #header .tuselcraft-nav .nav-item__gn-countdown {
  position: absolute;
  /* Hang below the "C" in GECESİ — clear of the word */
  left: 68%;
  top: calc(100% + 0.15rem);
  right: auto;
  bottom: auto;
  transform: translateX(-50%) rotate(5deg);
  transform-origin: top center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.15rem;
  padding: 0.28rem 0.55rem;
  border: 1px solid rgb(255 255 255 / 0.55);
  border-radius: 4px;
  background: #be185d;
  background-image: linear-gradient(
    105deg,
    #9d174d 0%,
    #db2777 28%,
    #ec4899 50%,
    #db2777 72%,
    #9d174d 100%
  );
  background-size: 220% 100%;
  box-shadow:
    0 3px 0 rgb(88 28 58 / 0.55),
    0 6px 14px rgb(190 24 93 / 0.4),
    inset 0 1px 0 rgb(255 255 255 / 0.4);
  font-family: "Titan One", sans-serif;
  font-size: 0.7rem;
  line-height: 1.1;
  letter-spacing: 0.03em;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: 0 1px 0 rgb(0 0 0 / 0.65);
  white-space: nowrap;
  pointer-events: none;
  z-index: 20;
  opacity: 1 !important;
  visibility: visible !important;
  animation: tvGnTagSwing 5.2s ease-in-out infinite;
}

/* String / pin attaching the tag to the letter */
body.retro-tv-site #header .tuselcraft-nav .nav-item__gn-countdown::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -0.48rem;
  width: 2px;
  height: 0.48rem;
  background: #f9a8d4;
  transform: translateX(-50%);
  border-radius: 1px;
  box-shadow: none;
  z-index: 0;
  animation: none;
}

body.retro-tv-site #header .tuselcraft-nav .nav-item__gn-countdown::after {
  content: "";
  position: absolute;
  left: 50%;
  top: -0.58rem;
  width: 0.38rem;
  height: 0.38rem;
  background: #ffe4f1;
  border: 1px solid #be185d;
  border-radius: 999px;
  transform: translateX(-50%);
  box-shadow: 0 1px 0 rgb(0 0 0 / 0.25);
  z-index: 1;
  animation: none;
}

body.retro-tv-site #header .tuselcraft-nav .nav-item__gn-countdown-text {
  position: relative;
  z-index: 2;
  display: inline-block;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  animation: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow:
    0 1px 0 rgb(0 0 0 / 0.75),
    0 0 1px rgb(0 0 0 / 0.5);
  filter: none !important;
}

body.retro-tv-site #header .tuselcraft-nav .nav-item__gn-countdown--live {
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  padding: 0.28rem 0.55rem;
  background: #16a34a;
  background-image: linear-gradient(135deg, #15803d 0%, #22c55e 45%, #4ade80 100%);
  border-color: rgb(255 255 255 / 0.45);
  box-shadow:
    0 3px 0 rgb(20 83 45 / 0.5),
    0 6px 12px rgb(34 197 94 / 0.28),
    inset 0 1px 0 rgb(255 255 255 / 0.35);
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  animation: tvGnTagSwing 5.2s ease-in-out infinite;
}

body.retro-tv-site #header .tuselcraft-nav .nav-item__gn-countdown--live::before {
  background: #86efac;
}

body.retro-tv-site #header .tuselcraft-nav .nav-item__gn-countdown--live::after {
  background: #bbf7d0;
  border-color: #166534;
}

@keyframes tvGnTagSwing {
  0% { transform: translateX(-50%) rotate(5deg); }
  50% { transform: translateX(-50%) rotate(-5deg); }
  100% { transform: translateX(-50%) rotate(5deg); }
}

@media (prefers-reduced-motion: reduce) {
  body.retro-tv-site #header .tuselcraft-nav .nav-item__gn-countdown,
  body.retro-tv-site #header .tuselcraft-nav .nav-item__gn-countdown--live {
    animation: none;
    transform: translateX(-50%) rotate(3deg);
  }
}

body.retro-tv-site #header .tuselcraft-logo {
  height: auto;
  width: 100%;
  max-width: 140px;
  filter: drop-shadow(0 2px 10px rgb(var(--color-indigo-500) / 0.35));
  image-rendering: auto;
}

body.retro-tv-site #header .tuselcraft-logo-link:hover .tuselcraft-logo,
body.retro-tv-site #header .tuselcraft-logo-link:focus-visible .tuselcraft-logo {
  transform: scale(1.06);
  filter: drop-shadow(0 4px 16px rgb(var(--color-indigo-400) / 0.5));
}

body.retro-tv-site #header .tv-rail-cta {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.45rem;
  width: auto;
  margin-top: 0;
  flex-shrink: 0;
}

/* Discord / Sepet / Profil — same height as nav buttons */
body.retro-tv-site #header .tv-discord-btn,
body.retro-tv-site #header .tv-rail-cart,
body.retro-tv-site #header .tv-rail-profile {
  box-sizing: border-box;
  height: 2.85rem;
  min-height: 2.85rem;
  max-height: 2.85rem;
  align-items: center;
}

body.retro-tv-site #header .tv-discord-btn {
  border-radius: 14px !important;
}

body.retro-tv-site #header .tv-rail-cart,
body.retro-tv-site #header .tv-rail-profile {
  border-radius: 0 !important;
}

body.retro-tv-site #header .tv-discord-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: 2.85rem;
  min-width: 2.85rem;
  padding: 0;
  border: 2px solid rgb(99 102 241 / 0.55);
  font-family: "Titan One", sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  text-transform: none !important;
  text-decoration: none !important;
  color: #fff !important;
  background:
    linear-gradient(180deg, #738adf 0%, #5865f2 48%, #4752c4 100%);
  box-shadow:
    0 3px 0 rgba(0, 0, 0, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.28),
    inset 0 -2px 0 rgba(15, 23, 42, 0.18);
  transition: transform 0.12s ease, box-shadow 0.12s ease, filter 0.12s ease, border-color 0.12s ease;
}

body.retro-tv-site #header .tv-discord-btn span {
  display: none;
}

body.retro-tv-site #header .tv-discord-btn:hover {
  filter: brightness(1.08);
  transform: translateY(-2px);
  color: #fff !important;
  border-color: rgb(165 180 252 / 0.75);
  box-shadow:
    0 5px 0 rgba(0, 0, 0, 0.4),
    0 0 14px rgb(88 101 242 / 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

body.retro-tv-site #header .tv-discord-btn:active {
  transform: translateY(0);
  box-shadow:
    0 2px 0 rgba(0, 0, 0, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.25);
}

body.retro-tv-site #header .tv-discord-btn__icon {
  font-size: 1.2rem;
  line-height: 1;
}

body.retro-tv-site #header .tv-play-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  width: auto;
  min-width: 7.5rem;
  margin-top: 0;
  margin-bottom: 0;
  padding: 0.48rem 0.75rem;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  flex-shrink: 0;
  font-family: "Titan One", sans-serif;
  font-size: 0.9rem;
  text-align: center;
  color: #0b1a33;
  background:
    linear-gradient(180deg, #fecdd3 0%, #f472b6 48%, #db2777 100%);
  box-shadow:
    0 3px 0 #9d174d,
    0 3px 0 #831843,
    inset 0 1px 0 rgba(255, 255, 255, 0.45),
    inset 0 -2px 0 rgba(15, 23, 42, 0.18);
  transition: transform 0.12s ease, box-shadow 0.12s ease, filter 0.12s ease;
}

body.retro-tv-site #header .tv-play-btn:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
  box-shadow:
    0 4px 0 #9d174d,
    3px 4px 0 #831843,
    inset 0 1px 0 rgba(255, 255, 255, 0.5),
    inset 0 -2px 0 rgba(15, 23, 42, 0.18);
}

body.retro-tv-site #header .tv-play-btn:active {
  transform: translateY(2px);
  box-shadow:
    0 1px 0 #9d174d,
    1px 1px 0 #831843,
    inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

body.retro-tv-site #header .tv-play-btn__emoji {
  flex-shrink: 0;
  font-size: 1.05rem;
  line-height: 1;
  filter: drop-shadow(0 1px 0 rgba(255, 255, 255, 0.35));
}

body.retro-tv-site #header .tv-play-btn__ip {
  flex: 0 1 auto;
  min-width: 0;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: 0.04em;
  text-transform: none;
  color: #0f172a;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.45);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: center;
}

body.retro-tv-site #header .tv-play-btn__online {
  display: none !important;
}

body.retro-tv-site #header .tuselcraft-login-btn,
body.retro-tv-site #header .tuselcraft-login-btn--icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  font-family: "Titan One", sans-serif;
  font-size: 1.02rem;
  line-height: 1.15;
  letter-spacing: 0.04em;
  border-radius: 0 !important;
  padding: 0.2rem 0.15rem !important;
  background: transparent !important;
  background-image: none !important;
  border: none !important;
  outline: none !important;
  color: rgb(255 255 255 / 0.92) !important;
  box-shadow: none !important;
  text-shadow: 0 2px 0 rgba(0, 0, 0, 0.55);
  text-decoration: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  filter: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

body.retro-tv-site #header .tuselcraft-login-btn::before,
body.retro-tv-site #header .tuselcraft-login-btn::after,
body.retro-tv-site #header .tuselcraft-login-btn--icon::before,
body.retro-tv-site #header .tuselcraft-login-btn--icon::after {
  content: none !important;
  display: none !important;
  box-shadow: none !important;
  background: none !important;
  border: none !important;
}

body.retro-tv-site #header .tuselcraft-login-btn:hover,
body.retro-tv-site #header .tuselcraft-login-btn--icon:hover,
body.retro-tv-site #header .tuselcraft-login-btn:focus-visible,
body.retro-tv-site #header .tuselcraft-login-btn--icon:focus-visible {
  background: transparent !important;
  background-image: none !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  color: #fdbad8 !important;
  transform: translateY(-1px);
  text-shadow:
    0 0 10px rgb(249 145 191 / 0.75),
    0 2px 0 rgba(0, 0, 0, 0.55);
}

body.retro-tv-site #header .tuselcraft-login-btn__label {
  color: inherit !important;
}

body.retro-tv-site #header .tuselcraft-login-btn--icon > i {
  color: inherit !important;
  filter: none !important;
}

body.retro-tv-site #header .tuselcraft-header__actions .text-white,
body.retro-tv-site #header .tuselcraft-header__actions .text-gray-400 {
  font-family: "Titan One", sans-serif;
  text-shadow: 1px 1px 0 #000;
}

body.retro-tv-site #mobile-menu .tuselcraft-logo-mobile {
  filter: drop-shadow(0 2px 10px rgb(var(--color-indigo-500) / 0.35));
}

body.retro-tv-site #mobile-menu button {
  border: 2px solid rgb(var(--color-indigo-400) / 0.45) !important;
  color: rgb(var(--color-indigo-300)) !important;
}

body.retro-tv-site #header [x-show="dropdownMenu"],
body.retro-tv-site #mobile-menu [x-show="dropdownMenu"] {
  background: rgb(var(--color-voon-900)) !important;
  border: 2px solid rgb(var(--color-indigo-400) / 0.45) !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45) !important;
}

body.retro-tv-site #header [x-show="dropdownMenu"] a,
body.retro-tv-site #mobile-menu [x-show="dropdownMenu"] a {
  color: rgb(var(--color-indigo-200)) !important;
  font-family: "Titan One", sans-serif;
  font-size: 1.1rem;
}

body.retro-tv-site #header [x-show="dropdownMenu"] a:hover,
body.retro-tv-site #mobile-menu [x-show="dropdownMenu"] a:hover {
  background: rgb(var(--color-indigo-500) / 0.15) !important;
  color: #fff !important;
}

body.retro-tv-site .broadcast--site {
  display: none !important;
}

/* Disable global sticky header inside TV site — chrome is pinned to the frame */
body.retro-tv-site #header,
body.retro-tv-site #header.is-scrolled,
body.retro-tv-site #mobile-menu {
  position: static !important;
  top: auto !important;
}

.retro-tv__broadcast-bar {
  position: relative;
  flex-shrink: 0;
  z-index: 36;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  gap: 0;
  min-height: 2.85rem;
  margin: 0;
  border: none;
  border-bottom: none;
  background:
    linear-gradient(180deg, rgb(72 32 58 / 0.72) 0%, rgb(48 24 40 / 0.65) 100%);
  box-shadow: none;
  overflow: hidden;
}

.retro-tv__broadcast-bar::before {
  content: "";
  pointer-events: none;
  position: absolute;
  inset: 0;
  border: 2px solid rgb(249 145 191 / 0.22);
  border-bottom: none;
  z-index: 2;
}

.retro-tv__broadcast-bar::after {
  content: "";
  pointer-events: none;
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    0deg,
    transparent 0,
    transparent 2px,
    rgb(0 0 0 / 0.18) 2px,
    rgb(0 0 0 / 0.18) 3px
  );
  opacity: 0.55;
  z-index: 0;
}

.retro-tv__broadcast-badge,
.retro-tv__broadcast-ch,
.retro-tv__broadcast-dot,
.retro-tv__broadcast-label {
  display: none !important;
}

.retro-tv__broadcast-track {
  position: relative;
  z-index: 1;
  min-width: 0;
  width: 100%;
  display: block;
  overflow: hidden;
  padding: 0;
  mask-image: linear-gradient(90deg, transparent 0%, #000 2%, #000 98%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 2%, #000 98%, transparent 100%);
}

.retro-tv__broadcast-ticker {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  width: max-content;
  will-change: transform;
  transform: translate3d(0, 0, 0);
}

.retro-tv__broadcast-ticker.is-ready {
  animation: tvBroadcastMarquee var(--tv-broadcast-duration, 30s) linear infinite;
}

.retro-tv__broadcast-track:hover .retro-tv__broadcast-ticker.is-ready {
  animation-play-state: paused;
}

.retro-tv__broadcast {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  flex: 0 0 auto;
  list-style: none;
  box-sizing: border-box;
  min-height: 2.85rem;
  margin: 0;
  padding: 0 3rem 0 0;
  overflow: visible;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  width: max-content;
}

.retro-tv__broadcast .broadcast-item {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  padding-top: 0.55rem;
  padding-bottom: 0.55rem;
  padding-right: 2.75rem;
  white-space: nowrap;
}

.retro-tv__broadcast .broadcast-item:last-child {
  padding-right: 0;
}

.retro-tv__broadcast .broadcast-link {
  display: inline-block;
  font-family: "Titan One", sans-serif !important;
  font-size: clamp(1rem, 1.35vw, 1.25rem) !important;
  letter-spacing: 0.04em;
  color: #e8eeff !important;
  text-shadow: 1px 1px 0 rgb(0 0 0 / 0.75);
  white-space: nowrap;
}

.retro-tv__broadcast .broadcast-link:hover {
  color: #fff !important;
}

@keyframes tvBroadcastMarquee {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(calc(-1 * var(--tv-broadcast-shift, 50%)), 0, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .retro-tv__broadcast-ticker.is-ready {
    animation: none !important;
    transform: none !important;
  }

  .retro-tv__broadcast-ticker .retro-tv__broadcast[aria-hidden="true"] {
    display: none;
  }
}

@media (max-width: 720px) {
  .retro-tv__broadcast-track {
    padding-top: 0;
    padding-bottom: 0;
  }
}

/* Gaming stage frame — fullscreen TV */

.retro-tv-stage {
  position: relative;
  z-index: 10;
  display: flex;
  align-items: stretch;
  justify-content: stretch;
  padding: 0;
  box-sizing: border-box;
  isolation: isolate;
}

.retro-tv {
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: 100%;
  margin: 0;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.retro-tv__shell {
  flex: 1;
  min-height: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 0;
  border-radius: 0;
  background:
    linear-gradient(165deg, rgb(15 23 42 / 0.95) 0%, rgb(8 12 22 / 0.98) 55%, rgb(5 8 16) 100%);
  box-shadow: none;
  border: none;
  overflow: hidden;
}

/* Legacy CRT chrome — removed from markup */
.retro-tv__top,
.retro-tv__brand,
.retro-tv__indicator,
.retro-tv__bezel,
.retro-tv__panel,
.retro-tv__knob,
.retro-tv__knob--small,
.retro-tv__speaker,
.retro-tv__power,
.retro-tv__power-led {
  display: none !important;
}

.retro-tv__screen {
  position: relative;
  flex: 1;
  min-height: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 0;
  background: #05080f;
  box-shadow: none;
  /* Containing block so fixed petals stay locked to the TV screen */
  transform: translateZ(0);
}

.retro-tv__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  min-width: 0;
  position: relative;
  z-index: 30;
  overflow: clip;
}

/* Pin chrome to TV frame — does not scroll with page content */
body.retro-tv-site .retro-tv__chrome,
.retro-tv__chrome {
  position: absolute !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 61;
  flex: none !important;
  width: 100%;
  max-width: none;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: visible;
  /* Nav sits slightly below top; sakura shade still starts at the edge */
  padding-top: var(--tv-chrome-top);
  box-sizing: border-box;
  /* Soft sakura strip over cream tiles — visible, no blur */
  background:
    linear-gradient(
      180deg,
      rgb(72 32 58 / 0.68) 0%,
      rgb(88 38 68 / 0.5) 28%,
      rgb(110 48 84 / 0.28) 58%,
      rgb(249 145 191 / 0.1) 82%,
      rgb(255 236 243 / 0.02) 100%
    ) !important;
  border: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  pointer-events: none;
}

body.retro-tv-site .retro-tv__chrome::before,
.retro-tv__chrome::before {
  content: "";
  pointer-events: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  /* Extend shade further below the nav strip */
  height: calc(100% + 6.5rem);
  z-index: 0;
  background:
    linear-gradient(
      180deg,
      rgb(72 32 58 / 0.32) 0%,
      rgb(96 42 74 / 0.22) 32%,
      rgb(249 145 191 / 0.12) 62%,
      rgb(249 145 191 / 0.05) 82%,
      transparent 100%
    ),
    radial-gradient(ellipse at 16% 0%, rgb(249 145 191 / 0.22) 0%, transparent 55%),
    radial-gradient(ellipse at 84% 0%, rgb(253 164 175 / 0.14) 0%, transparent 52%);
  opacity: 1;
}

body.retro-tv-site .retro-tv__chrome > *,
.retro-tv__chrome > * {
  position: relative;
  z-index: 1;
  pointer-events: auto;
}

body.retro-tv-site:has(.retro-tv__broadcast-bar) .retro-tv__chrome {
  top: var(--tv-broadcast-h);
  padding-top: 0;
}

/* Broadcast also pinned above chrome (sibling of body, relative to screen) */
body.retro-tv-site .retro-tv__broadcast-bar {
  position: absolute !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 62;
  flex-shrink: 0;
}

/* Header spans full chrome width so left nav / right tools can split */
body.retro-tv-site .retro-tv__chrome .section,
body.retro-tv-site #header .tuselcraft-header {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  padding-left: var(--tv-gutter);
  padding-right: var(--tv-gutter);
  box-sizing: border-box;
}

body.retro-tv-site .retro-tv__broadcast-track {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
  box-sizing: border-box;
}

/* ============================================================
   Sitewide content column — side gutters after fullscreen TV
   ============================================================ */

body.retro-tv-site .tv-home-boards,
body.retro-tv-site .tv-store__section:not(.tv-store__section--nested),
body.retro-tv-site .tv-shop__section,
body.retro-tv-site .tv-cart,
body.retro-tv-site .tv-credit__stage,
body.retro-tv-site .tv-profile,
body.retro-tv-site .tv-account-page,
body.retro-tv-site .tv-chest,
body.retro-tv-site .tv-gift,
body.retro-tv-site .tv-order,
body.retro-tv-site .tv-apply,
body.retro-tv-site .tv-support,
body.retro-tv-site .tv-screen-footer .container,
body.retro-tv-site .retro-tv__viewport > .main > .section,
body.retro-tv-site .retro-tv__viewport > .main > .container,
body.retro-tv-site .retro-tv__viewport .container {
  width: 100%;
  max-width: var(--tv-content-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--tv-gutter);
  padding-right: var(--tv-gutter);
  box-sizing: border-box;
}

/* Legal stays narrower but shares the same side gutters */
body.retro-tv-site .tv-legal {
  width: 100%;
  max-width: 56rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--tv-gutter);
  padding-right: var(--tv-gutter);
  box-sizing: border-box;
}

/* Hero stays full-bleed; only the brand/CTA stage aligns to the column */
body.retro-tv-site .tv-home-hero__stage {
  width: 100%;
  max-width: var(--tv-content-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--tv-gutter);
  padding-right: var(--tv-gutter);
  box-sizing: border-box;
}

/* Broadcast floats as soft strip sitewide — no blur */
body.retro-tv-site .retro-tv__broadcast-bar {
  position: absolute !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 62;
  background: rgb(72 32 58 / 0.52) !important;
  border-bottom: none !important;
  box-shadow: none;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.retro-tv-site .retro-tv__broadcast-bar::before,
body.retro-tv-site .retro-tv__broadcast-bar::after {
  display: none;
}

/* ============================================================
   Homepage — Melonya-style header over hero (not a separate strip)
   ============================================================ */

body.retro-tv-site:has(.tv-home-hero) .retro-tv__screen {
  position: relative;
}

body.retro-tv-site:has(.tv-home-hero) .retro-tv__body {
  position: relative;
  flex: 1;
  min-height: 0;
}

/* Over hero: fully clear chrome so video shows through */
body.retro-tv-site:has(.tv-home-hero) .retro-tv__chrome {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 61;
  padding-top: var(--tv-chrome-top);
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  pointer-events: none;
}

/* Broadcast blends into the same top fade — no seam / thin black line */
body.retro-tv-site:has(.tv-home-hero) .retro-tv__broadcast-bar {
  background: transparent !important;
  border: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  outline: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.retro-tv-site:has(.tv-home-hero) .retro-tv__broadcast-bar::before,
body.retro-tv-site:has(.tv-home-hero) .retro-tv__broadcast-bar::after {
  display: none !important;
  content: none !important;
  border: none !important;
  box-shadow: none !important;
}

body.retro-tv-site:has(.tv-home-hero):has(.retro-tv__broadcast-bar) .retro-tv__chrome {
  top: 2.85rem;
}

body.retro-tv-site:has(.tv-home-hero) .retro-tv__chrome > *,
body.retro-tv-site:has(.tv-home-hero) .retro-tv__chrome a,
body.retro-tv-site:has(.tv-home-hero) .retro-tv__chrome button {
  pointer-events: auto;
}

body.retro-tv-site:has(.tv-home-hero) .retro-tv__chrome .tv-nav-combo,
body.retro-tv-site:has(.tv-home-hero) .retro-tv__chrome .tv-nav-combo__menu,
body.retro-tv-site:has(.tv-home-hero) .retro-tv__chrome .tv-nav-combo__menu a {
  pointer-events: auto;
}

body.retro-tv-site:has(.tv-home-hero) .retro-tv__chrome #header,
body.retro-tv-site:has(.tv-home-hero) .retro-tv__chrome #mobile-menu,
body.retro-tv-site:has(.tv-home-hero) .retro-tv__chrome #mobile-menu.tv-mobile {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

/* Soft top fade so nav stays readable over bright sky/hero — continuous, no seam */
body.retro-tv-site:has(.tv-home-hero) .retro-tv__chrome::before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 7.5rem;
  pointer-events: none;
  background: linear-gradient(180deg, rgb(0 0 0 / 0.55) 0%, rgb(0 0 0 / 0.22) 55%, transparent 100%);
  z-index: 0;
  opacity: 1;
  border: none !important;
  box-shadow: none !important;
}

/* Pull the fade up through the broadcast strip so no hard edge appears */
body.retro-tv-site:has(.tv-home-hero):has(.retro-tv__broadcast-bar) .retro-tv__chrome::before {
  top: calc(var(--tv-broadcast-h) * -1);
  height: calc(7.5rem + var(--tv-broadcast-h));
}

body.retro-tv-site:has(.tv-home-hero) .retro-tv__chrome > * {
  position: relative;
  z-index: 1;
}

body.retro-tv-site:has(.tv-home-hero) #header .tuselcraft-header {
  padding-top: 0.85rem;
  padding-bottom: 0.85rem;
}

/* Floating nav chips — all pages */
body.retro-tv-site #header .tuselcraft-nav .nav-item:not(.nav-item--credit) {
  background: transparent;
  border: none;
  box-shadow: none;
  backdrop-filter: none;
}

body.retro-tv-site #header .tuselcraft-nav .nav-item.active:not(.nav-item--credit) {
  background: transparent;
  border: none;
  box-shadow: none;
}

body.retro-tv-site #header .tuselcraft-nav .nav-item--credit {
  background: transparent !important;
  box-shadow: none !important;
}

body.retro-tv-site #header .tv-rail-cart,
body.retro-tv-site #header .tv-rail-profile {
  background: transparent !important;
  border: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.retro-tv-site #header .tuselcraft-login-btn--icon,
body.retro-tv-site #header .tuselcraft-login-btn {
  background: transparent !important;
  background-image: none !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  text-shadow: 0 2px 0 rgba(0, 0, 0, 0.55);
}

body.retro-tv-site #header .tuselcraft-nav .nav-item.active,
body.retro-tv-site #header .tv-nav-home.tv-nav-focus,
body.retro-tv-site #header .nav-item.tv-nav-focus {
  background: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

body.retro-tv-site #header .tv-discord-btn {
  box-shadow:
    0 3px 0 rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

/* ============================================================
   Inner pages — white ink + thick dark shadow on cream tiles
   ============================================================ */

body.retro-tv-site:not(:has(.tv-home-hero)) #header .tuselcraft-nav .nav-item:not(.nav-item--credit) {
  color: #fff !important;
  text-shadow:
    0 2px 0 rgb(0 0 0 / 0.85),
    0 3px 0 rgb(0 0 0 / 0.45),
    0 4px 10px rgb(0 0 0 / 0.4);
}

body.retro-tv-site:not(:has(.tv-home-hero)) #header .tuselcraft-nav .nav-item:not(.nav-item--credit):not(.active):hover {
  color: #fbcfe8 !important;
  text-shadow:
    0 0 10px rgb(249 145 191 / 0.55),
    0 2px 0 rgb(0 0 0 / 0.85),
    0 4px 10px rgb(0 0 0 / 0.4);
}

body.retro-tv-site:not(:has(.tv-home-hero)) #header .tuselcraft-nav .nav-item.active:not(.nav-item--credit),
body.retro-tv-site:not(:has(.tv-home-hero)) #header .tv-nav-home.tv-nav-focus,
body.retro-tv-site:not(:has(.tv-home-hero)) #header .nav-item.tv-nav-focus:not(.nav-item--credit) {
  color: #f9a8d4 !important;
  text-shadow:
    0 2px 0 rgb(0 0 0 / 0.85),
    0 3px 0 rgb(0 0 0 / 0.5),
    0 0 12px rgb(249 145 191 / 0.45);
}

body.retro-tv-site:not(:has(.tv-home-hero)) #header .tuselcraft-nav .nav-item__icon,
body.retro-tv-site:not(:has(.tv-home-hero)) #header .tuselcraft-nav .nav-item__chevron {
  color: inherit !important;
}

body.retro-tv-site:not(:has(.tv-home-hero)) #header .tuselcraft-login-btn,
body.retro-tv-site:not(:has(.tv-home-hero)) #header .tuselcraft-login-btn--icon,
body.retro-tv-site:not(:has(.tv-home-hero)) #header .tv-rail-cart,
body.retro-tv-site:not(:has(.tv-home-hero)) #header .tv-rail-profile,
body.retro-tv-site:not(:has(.tv-home-hero)) #header .tv-rail-profile__name,
body.retro-tv-site:not(:has(.tv-home-hero)) #header .tv-rail-cart__label {
  color: #fff !important;
  text-shadow:
    0 2px 0 rgb(0 0 0 / 0.85),
    0 3px 0 rgb(0 0 0 / 0.45),
    0 4px 10px rgb(0 0 0 / 0.35) !important;
}

body.retro-tv-site #header .tv-rail-cart:hover,
body.retro-tv-site #header .tv-rail-cart:hover .tv-rail-cart__label,
body.retro-tv-site #header .tv-rail-cart:focus-visible,
body.retro-tv-site #header .tv-rail-cart:focus-visible .tv-rail-cart__label,
body.retro-tv-site:not(:has(.tv-home-hero)) #header .tv-rail-cart:hover,
body.retro-tv-site:not(:has(.tv-home-hero)) #header .tv-rail-cart:hover .tv-rail-cart__label,
body.retro-tv-site:not(:has(.tv-home-hero)) #header .tv-rail-cart:focus-visible,
body.retro-tv-site:not(:has(.tv-home-hero)) #header .tv-rail-cart:focus-visible .tv-rail-cart__label {
  color: #fdbad8 !important;
  text-shadow:
    0 -1px 0 rgb(255 255 255 / 0.45),
    0 2px 0 rgb(0 0 0 / 0.85),
    0 3px 0 rgb(0 0 0 / 0.5),
    0 0 10px rgb(249 145 191 / 0.55),
    0 0 18px rgb(249 145 191 / 0.4) !important;
}

body.retro-tv-site #header .tv-rail-profile:hover,
body.retro-tv-site #header .tv-rail-profile:hover .tv-rail-profile__name,
body.retro-tv-site #header .tv-rail-profile:focus-visible,
body.retro-tv-site #header .tv-rail-profile:focus-visible .tv-rail-profile__name,
body.retro-tv-site:not(:has(.tv-home-hero)) #header .tv-rail-profile:hover,
body.retro-tv-site:not(:has(.tv-home-hero)) #header .tv-rail-profile:hover .tv-rail-profile__name,
body.retro-tv-site:not(:has(.tv-home-hero)) #header .tv-rail-profile:focus-visible,
body.retro-tv-site:not(:has(.tv-home-hero)) #header .tv-rail-profile:focus-visible .tv-rail-profile__name {
  color: #fdbad8 !important;
  text-shadow:
    0 -1px 0 rgb(255 255 255 / 0.45),
    0 2px 0 rgb(0 0 0 / 0.85),
    0 3px 0 rgb(0 0 0 / 0.5),
    0 0 10px rgb(249 145 191 / 0.55),
    0 0 18px rgb(249 145 191 / 0.4) !important;
}

body.retro-tv-site:not(:has(.tv-home-hero)) .retro-tv__viewport h1,
body.retro-tv-site:not(:has(.tv-home-hero)) .retro-tv__viewport h2,
body.retro-tv-site:not(:has(.tv-home-hero)) .retro-tv__viewport h3,
body.retro-tv-site:not(:has(.tv-home-hero)) .retro-tv__viewport .text-2xl,
body.retro-tv-site:not(:has(.tv-home-hero)) .retro-tv__viewport .text-3xl,
body.retro-tv-site:not(:has(.tv-home-hero)) .retro-tv__viewport .text-4xl {
  color: #fff !important;
  text-shadow:
    0 2px 0 rgb(0 0 0 / 0.9),
    0 3px 0 rgb(0 0 0 / 0.55),
    2px 3px 0 rgb(0 0 0 / 0.75),
    0 6px 14px rgb(0 0 0 / 0.35) !important;
  filter: none !important;
}

body.retro-tv-site:not(:has(.tv-home-hero)) .tv-store__title,
body.retro-tv-site:not(:has(.tv-home-hero)) .tv-store__ch,
body.retro-tv-site:not(:has(.tv-home-hero)) .tv-shop__title,
body.retro-tv-site:not(:has(.tv-home-hero)) .tv-support__title,
body.retro-tv-site:not(:has(.tv-home-hero)) .tv-account-page h1,
body.retro-tv-site:not(:has(.tv-home-hero)) .tv-account-page h2,
body.retro-tv-site:not(:has(.tv-home-hero)) .tv-profile h1,
body.retro-tv-site:not(:has(.tv-home-hero)) .tv-profile h2,
body.retro-tv-site:not(:has(.tv-home-hero)) .tv-cart h1,
body.retro-tv-site:not(:has(.tv-home-hero)) .tv-cart h2,
body.retro-tv-site:not(:has(.tv-home-hero)) .tv-credit__stage h1,
body.retro-tv-site:not(:has(.tv-home-hero)) .tv-credit__stage h2 {
  color: #fff !important;
  text-shadow:
    -1px -1px 0 rgb(26 10 18 / 0.95),
    1px -1px 0 rgb(26 10 18 / 0.95),
    -1px 1px 0 rgb(26 10 18 / 0.95),
    1px 1px 0 rgb(26 10 18 / 0.95),
    0 2px 0 #000,
    2px 3px 0 rgb(0 0 0 / 0.85),
    0 6px 16px rgb(0 0 0 / 0.4) !important;
}

body.retro-tv-site:not(:has(.tv-home-hero)) .tv-store__lead,
body.retro-tv-site:not(:has(.tv-home-hero)) .retro-tv__viewport .text-white\/75,
body.retro-tv-site:not(:has(.tv-home-hero)) .retro-tv__viewport .text-indigo-200,
body.retro-tv-site:not(:has(.tv-home-hero)) .retro-tv__viewport .text-indigo-300 {
  color: rgb(255 250 243 / 0.82) !important;
  text-shadow:
    0 1px 0 rgb(0 0 0 / 0.75),
    1px 2px 0 rgb(0 0 0 / 0.45) !important;
}

/* Viewport fills the screen; hero paints under the floating header */
body.retro-tv-site:has(.tv-home-hero) .retro-tv__viewport {
  flex: 1 1 auto;
  min-height: 0;
  padding-top: 0;
}

body.retro-tv-site:has(.tv-home-hero) .tv-home-hero {
  min-height: 100dvh;
  padding-top: calc(5.25rem + var(--tv-chrome-top));
  box-sizing: border-box;
}

body.retro-tv-site:has(.tv-home-hero):has(.retro-tv__broadcast-bar) .tv-home-hero {
  padding-top: 8.1rem;
}

@media (max-width: 640px) {
  body.retro-tv-site:has(.tv-home-hero) .retro-tv__chrome {
    top: 0;
    padding-top: var(--tv-chrome-top);
  }

  body.retro-tv-site:has(.tv-home-hero):has(.retro-tv__broadcast-bar) .retro-tv__chrome {
    top: 2.85rem;
  }

  body.retro-tv-site:has(.tv-home-hero) .tv-home-hero {
    padding-top: calc(4.5rem + var(--tv-chrome-top));
  }

  body.retro-tv-site:has(.tv-home-hero):has(.retro-tv__broadcast-bar) .tv-home-hero {
    padding-top: 7.4rem;
  }

  body.retro-tv-site:has(.tv-home-hero) #mobile-menu.tv-mobile {
    background: transparent !important;
    border-bottom: none !important;
    box-shadow: none !important;
  }

  body.retro-tv-site:has(.tv-home-hero) .tv-mobile__home,
  body.retro-tv-site:has(.tv-home-hero) .tv-mobile__burger {
    background: rgb(72 32 58 / 0.55) !important;
    border-color: rgb(249 145 191 / 0.42) !important;
    backdrop-filter: none;
  }

  body.retro-tv-site:has(.tv-home-hero) .tv-mobile__panel {
    margin: 0;
    border: 1px solid rgb(249 145 191 / 0.4);
    border-radius: 16px;
    background: linear-gradient(180deg, #3d1a30 0%, #2a0f22 55%, #1a0816 100%);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

body.retro-tv-site .retro-tv__chrome #header {
  height: auto;
  width: 100%;
  max-width: none;
  display: flex;
  flex-direction: column;
  overflow: visible;
}

body.retro-tv-site .retro-tv__chrome .section {
  height: auto;
  width: 100%;
  max-width: none;
}

.retro-tv__screen .hero-bg-vignette {
  background: radial-gradient(ellipse at center, transparent 50%, rgba(0, 0, 0, 0.45) 100%);
}

body.retro-tv-site .hero-bg-animated {
  animation: none;
  inset: 0;
  width: 100%;
  height: 100%;
}

body.retro-tv-site .hero-bg-layer::after {
  display: none;
}

/* Soft screen overlay (no CRT TV look) */

.crt-fx {
  position: absolute;
  inset: 0;
  z-index: 20;
  pointer-events: none;
  border-radius: inherit;
  overflow: hidden;
}

.crt-fx__scanlines {
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0px,
    rgba(0, 0, 0, 0) 3px,
    rgba(0, 0, 0, 0.035) 3px,
    rgba(0, 0, 0, 0.035) 4px
  );
  opacity: 0.08;
}

.crt-fx__vignette {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, transparent 78%, rgba(0, 0, 0, 0.12) 100%);
  box-shadow: inset 0 0 24px rgba(0, 0, 0, 0.08);
  opacity: 0.55;
}

.crt-fx__glass {
  display: none;
}

.crt-fx__static-canvas {
  opacity: 0.04;
}

/* Content below frame */

body.retro-tv-site .retro-tv-below .card,
body.retro-tv-site .section .card {
  border: 2px solid rgb(var(--color-indigo-500) / 0.2);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.35);
}

body.retro-tv-site .section h3 {
  font-family: "Titan One", sans-serif;
  font-size: 2rem;
  letter-spacing: 0.06em;
  text-shadow: none;
}

@keyframes tvRecBlink {
  0%, 49% { opacity: 1; }
  50%, 100% { opacity: 0.25; }
}

@media (max-width: 1280px) {
  body.retro-tv-site #header .tuselcraft-nav .nav-item {
    font-size: 0.92rem !important;
    letter-spacing: 0.02em;
    padding: 0.4rem 0.55rem;
    min-height: 0;
    max-width: none;
  }

  body.retro-tv-site #header .tv-discord-btn,
  body.retro-tv-site #header .tv-rail-cart,
  body.retro-tv-site #header .tv-rail-profile {
    height: 2.55rem;
    min-height: 2.55rem;
    max-height: 2.55rem;
  }

  body.retro-tv-site #header .tv-discord-btn {
    width: 2.55rem;
    min-width: 2.55rem;
  }

  body.retro-tv-site #header .tv-rail-profile__avatar {
    width: 1.55rem !important;
    height: 1.55rem !important;
  }

  body.retro-tv-site #header .nav-item__icon {
    font-size: 1.02rem;
  }

  body.retro-tv-site #header .tuselcraft-logo {
    max-width: 120px;
  }

  .retro-tv__chrome {
    flex-basis: auto;
    width: 100%;
    max-width: none;
  }
}

@media (max-width: 640px) {
  .retro-tv-stage {
    padding: 0;
  }

  .retro-tv__shell {
    border-radius: 0;
  }

  .retro-tv__body {
    flex-direction: column;
  }

  .retro-tv__chrome {
    width: 100%;
    max-width: none;
    border-right: none;
    border-bottom: none;
  }

  body.retro-tv-site .retro-tv__chrome #header.hidden.sm\:block {
    display: none;
  }

  body.retro-tv-site #header .tuselcraft-nav .nav-item {
    font-size: 0.9rem !important;
    padding: 0.35rem 0.5rem;
    min-height: 0;
  }

  body.retro-tv-site #header .tuselcraft-logo {
    height: 2.75rem;
    max-width: 200px;
  }

  .retro-tv__channel-bar {
    font-size: 1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .retro-tv__indicator {
    animation: none;
  }

  .tv-page-loader__bar-fill {
    animation: none;
    transform: none;
    width: 65%;
  }

  .crt-fx__static-canvas {
    display: none;
  }

  .retro-tv-boot,
  .retro-tv-boot.is-active {
    display: none !important;
  }
}

/* Boot intro — CRT TV power-on → static → dragon lock */

.retro-tv-boot {
  position: absolute;
  inset: 0;
  z-index: 70;
  display: none;
  align-items: center;
  justify-content: center;
  background: #020406;
  pointer-events: auto;
  overflow: hidden;
  isolation: isolate;
}

.retro-tv-boot.is-active {
  display: flex;
}

.retro-tv-boot.is-active {
  animation: tvBootFailsafeHide 0.01s linear 5s forwards;
}

@keyframes tvBootFailsafeHide {
  to {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}

.retro-tv-boot.is-powering {
  animation:
    tvBootPowerFlash 0.32s steps(3) forwards,
    tvBootFailsafeHide 0.01s linear 5s forwards;
}

.retro-tv-boot__beam {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 2px;
  z-index: 8;
  pointer-events: none;
  background: #e8f7ff;
  box-shadow:
    0 0 12px 4px rgb(180 230 255 / 0.9),
    0 0 40px 10px rgb(94 200 255 / 0.55);
  opacity: 0;
  transform: translateY(-50%) scaleY(1);
}

.retro-tv-boot.is-powering .retro-tv-boot__beam {
  opacity: 1;
  animation: tvBootBeamExpand 0.38s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}

.retro-tv-boot__phosphor {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  background:
    radial-gradient(ellipse at 50% 50%, rgb(60 180 140 / 0.12) 0%, transparent 55%),
    linear-gradient(90deg, rgb(255 0 0 / 0.035), transparent 40%, transparent 60%, rgb(0 120 255 / 0.04));
  mix-blend-mode: screen;
}

.retro-tv-boot.is-static .retro-tv-boot__phosphor,
.retro-tv-boot.is-dragon .retro-tv-boot__phosphor,
.retro-tv-boot.is-lock .retro-tv-boot__phosphor {
  opacity: 1;
}

.retro-tv-boot.is-tuning .retro-tv-boot__phosphor {
  animation: tvBootPhosphorFlicker 0.09s steps(2) infinite;
}

.retro-tv-boot__static {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
  image-rendering: pixelated;
  opacity: 0;
}

.retro-tv-boot.is-static .retro-tv-boot__static,
.retro-tv-boot.is-dragon .retro-tv-boot__static,
.retro-tv-boot.is-tuning .retro-tv-boot__static {
  opacity: 1;
}

.retro-tv-boot.is-lock .retro-tv-boot__static {
  animation: tvBootStaticDie 0.65s ease-out forwards;
}

.retro-tv-boot__scan {
  position: absolute;
  inset: 0;
  z-index: 6;
  pointer-events: none;
  background:
    repeating-linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0) 0px,
      rgba(0, 0, 0, 0) 2px,
      rgba(0, 0, 0, 0.22) 2px,
      rgba(0, 0, 0, 0.22) 3px
    );
  opacity: 0;
  mix-blend-mode: multiply;
}

.retro-tv-boot.is-static .retro-tv-boot__scan,
.retro-tv-boot.is-dragon .retro-tv-boot__scan,
.retro-tv-boot.is-lock .retro-tv-boot__scan {
  opacity: 0.55;
}

.retro-tv-boot.is-tuning .retro-tv-boot__scan {
  animation: tvBootScanShake 0.11s steps(2) infinite;
}

.retro-tv-boot__roll {
  position: absolute;
  left: -5%;
  right: -5%;
  top: -25%;
  height: 28%;
  z-index: 5;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(
    to bottom,
    transparent 0%,
    rgba(140, 220, 255, 0.05) 30%,
    rgba(200, 240, 255, 0.28) 48%,
    rgba(255, 255, 255, 0.18) 50%,
    rgba(200, 240, 255, 0.28) 52%,
    rgba(140, 220, 255, 0.05) 70%,
    transparent 100%
  );
  mix-blend-mode: screen;
  transform: skewY(-1.5deg);
}

.retro-tv-boot.is-static .retro-tv-boot__roll,
.retro-tv-boot.is-tuning .retro-tv-boot__roll {
  opacity: 1;
  animation: tvBootRoll 0.55s linear infinite;
}

.retro-tv-boot.is-lock .retro-tv-boot__roll {
  opacity: 0;
  animation: none;
}

.retro-tv-boot__vignette {
  position: absolute;
  inset: 0;
  z-index: 7;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 50% 48%, transparent 38%, rgb(0 0 0 / 0.55) 78%, rgb(0 0 0 / 0.92) 100%);
  opacity: 0;
}

.retro-tv-boot.is-static .retro-tv-boot__vignette,
.retro-tv-boot.is-dragon .retro-tv-boot__vignette,
.retro-tv-boot.is-lock .retro-tv-boot__vignette {
  opacity: 1;
}

.retro-tv-boot__stage {
  position: relative;
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: min(56%, 420px);
  opacity: 1;
}

.retro-tv-boot.is-tuning .retro-tv-boot__stage {
  animation: tvBootStageJitter 0.08s steps(2) infinite;
}

.retro-tv-boot__glow {
  position: absolute;
  width: 82%;
  aspect-ratio: 1;
  border-radius: 50%;
  pointer-events: none;
  background:
    radial-gradient(circle, rgb(120 255 220 / 0.28) 0%, rgb(60 180 255 / 0.12) 45%, transparent 72%);
  opacity: 0;
  filter: blur(16px);
  transform: scale(0.7);
  z-index: 0;
}

.retro-tv-boot.is-dragon .retro-tv-boot__glow {
  animation: tvBootGlowIn 0.7s steps(6) forwards;
}

.retro-tv-boot.is-lock .retro-tv-boot__glow {
  opacity: 0.9;
  transform: scale(1);
  animation: tvBootGlowPulse 1.4s ease-in-out infinite;
}

.retro-tv-boot__dragon {
  position: relative;
  z-index: 1;
  display: block;
  width: min(78%, 280px);
  max-width: 100%;
  height: auto;
  opacity: 0;
  visibility: hidden;
  image-rendering: auto;
  background: transparent;
  will-change: opacity, transform, filter;
  filter: drop-shadow(0 10px 28px rgba(0, 0, 0, 0.55));
}

.retro-tv-boot.is-dragon .retro-tv-boot__dragon {
  visibility: visible;
  animation: tvBootTuneDragon 0.95s steps(10) forwards;
}

.retro-tv-boot.is-lock .retro-tv-boot__dragon {
  opacity: 1;
  visibility: visible;
  animation: tvBootDragonHold 1.6s ease-in-out infinite;
  filter:
    drop-shadow(0 0 14px rgb(120 255 220 / 0.35))
    drop-shadow(0 10px 26px rgba(0, 0, 0, 0.6));
}

.retro-tv-boot.is-outro {
  pointer-events: none;
  animation: tvBootFadeOut 0.72s ease-in-out forwards;
}

.retro-tv-boot.is-outro .retro-tv-boot__stage {
  animation: tvBootDragonOut 0.55s ease-out forwards;
}

.retro-tv-boot.is-outro .retro-tv-boot__dragon {
  animation: none !important;
  opacity: 1;
  visibility: visible;
  filter:
    drop-shadow(0 0 14px rgb(120 255 220 / 0.35))
    drop-shadow(0 10px 26px rgba(0, 0, 0, 0.6));
}

.retro-tv-boot.is-outro .retro-tv-boot__glow {
  animation: tvBootGlowOut 0.5s ease-out forwards !important;
}

.retro-tv-boot.is-outro .retro-tv-boot__beam {
  opacity: 0 !important;
  animation: none !important;
}

.retro-tv-boot.is-outro .retro-tv-boot__static,
.retro-tv-boot.is-outro .retro-tv-boot__scan,
.retro-tv-boot.is-outro .retro-tv-boot__phosphor,
.retro-tv-boot.is-outro .retro-tv-boot__roll {
  animation: tvBootLayerFade 0.4s ease-out forwards !important;
}

.retro-tv-boot.is-outro .retro-tv-boot__vignette {
  animation: tvBootVignetteOut 0.65s ease-in forwards !important;
}

@keyframes tvBootPowerFlash {
  0% { background: #000; filter: brightness(0); }
  35% { background: #dcecff; filter: brightness(1.8); }
  70% { background: #081018; filter: brightness(0.7); }
  100% { background: #020406; filter: none; }
}

@keyframes tvBootBeamExpand {
  0% {
    height: 2px;
    opacity: 1;
    transform: translateY(-50%) scaleY(1);
  }
  55% {
    height: 42%;
    opacity: 0.85;
    transform: translateY(-50%) scaleY(1);
  }
  100% {
    height: 120%;
    opacity: 0;
    transform: translateY(-50%) scaleY(1);
  }
}

@keyframes tvBootRoll {
  0% { top: -30%; }
  100% { top: 110%; }
}

@keyframes tvBootStageJitter {
  0% { transform: translate(0, 0) skewX(0deg); }
  25% { transform: translate(2px, -1px) skewX(0.4deg); }
  50% { transform: translate(-2px, 1px) skewX(-0.5deg); }
  75% { transform: translate(1px, 1px) skewX(0.2deg); }
  100% { transform: translate(-1px, 0) skewX(0deg); }
}

@keyframes tvBootScanShake {
  0% { transform: translateY(0); }
  50% { transform: translateY(1px); }
  100% { transform: translateY(-1px); }
}

@keyframes tvBootPhosphorFlicker {
  0% { opacity: 0.85; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}

@keyframes tvBootGlowIn {
  0% { opacity: 0; transform: scale(0.45); }
  100% { opacity: 0.95; transform: scale(1); }
}

@keyframes tvBootGlowPulse {
  0%, 100% { opacity: 0.7; transform: scale(0.95); }
  50% { opacity: 1; transform: scale(1.05); }
}

@keyframes tvBootTuneDragon {
  0% {
    opacity: 0;
    transform: scaleY(0.08) scaleX(1.35);
    filter: brightness(3) contrast(2) saturate(0.2) blur(2px);
  }
  12% {
    opacity: 0.9;
    transform: scaleY(1.25) scaleX(0.92) translateX(-4px);
    filter: brightness(1.8) contrast(1.6) hue-rotate(-20deg);
  }
  24% {
    opacity: 0.15;
    transform: translateX(5px) scale(1.05);
    filter: brightness(0.3) contrast(1.8);
  }
  38% {
    opacity: 1;
    transform: translateX(-3px) scale(0.98);
    filter:
      brightness(1.4) contrast(1.25) saturate(1.2)
      drop-shadow(2px 0 0 rgb(255 60 60 / 0.45))
      drop-shadow(-2px 0 0 rgb(60 160 255 / 0.45));
  }
  52% {
    opacity: 0.45;
    transform: translateX(2px) skewX(1deg);
    filter: brightness(0.7) contrast(1.35);
  }
  68% {
    opacity: 1;
    transform: translateX(-1px) scale(1.02);
    filter:
      brightness(1.15)
      drop-shadow(1px 0 0 rgb(255 80 80 / 0.3))
      drop-shadow(-1px 0 0 rgb(80 180 255 / 0.3));
  }
  84% {
    opacity: 0.92;
    transform: translateX(1px);
  }
  100% {
    opacity: 1;
    transform: none;
    filter:
      drop-shadow(0 0 14px rgb(120 255 220 / 0.35))
      drop-shadow(0 10px 26px rgba(0, 0, 0, 0.6));
  }
}

@keyframes tvBootDragonHold {
  0%, 100% {
    transform: translateY(0);
    filter:
      drop-shadow(0 0 12px rgb(120 255 220 / 0.3))
      drop-shadow(0 10px 26px rgba(0, 0, 0, 0.6));
  }
  50% {
    transform: translateY(-3px);
    filter:
      drop-shadow(0 0 18px rgb(120 255 220 / 0.45))
      drop-shadow(0 12px 28px rgba(0, 0, 0, 0.55));
  }
}

@keyframes tvBootStaticDie {
  0% { opacity: 1; }
  100% { opacity: 0.08; }
}

@keyframes tvBootDragonOut {
  0% {
    opacity: 1;
    transform: scale(1);
    filter: brightness(1);
  }
  100% {
    opacity: 0;
    transform: scale(0.96);
    filter: brightness(0.85);
  }
}

@keyframes tvBootGlowOut {
  0% { opacity: 0.9; transform: scale(1); }
  100% { opacity: 0; transform: scale(1.08); }
}

@keyframes tvBootLayerFade {
  0% { opacity: 1; }
  100% { opacity: 0; }
}

@keyframes tvBootVignetteOut {
  0% { opacity: 1; }
  100% { opacity: 0.35; }
}

@keyframes tvBootFadeOut {
  0% {
    opacity: 1;
    visibility: visible;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}

body.retro-tv-site #header .tuselcraft-login-btn--icon {
  width: auto;
}

body.retro-tv-site #header .tuselcraft-login-btn--icon > i {
  font-size: 1.05rem;
  line-height: 1;
  flex-shrink: 0;
}

body.retro-tv-site #header .tuselcraft-login-btn__label {
  font-family: "Titan One", sans-serif;
  font-size: 1.02rem;
  letter-spacing: 0.04em;
  line-height: 1.15;
  white-space: nowrap;
}

body.retro-tv-site #header .nav-item__icon {
  width: 1.3rem;
  text-align: center;
  font-size: 1.12rem;
  opacity: 1;
  flex-shrink: 0;
  margin: 0;
  filter: drop-shadow(0 1px 0 rgba(0, 0, 0, 0.55));
}

/* Channel-focus ring disabled — looks like a framed button in the Melonya header */
body.retro-tv-site #header .nav-item.tv-nav-focus,
body.retro-tv-site #header .tv-nav-home.tv-nav-focus {
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

.crt-fx__static-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 4;
  pointer-events: none;
  opacity: 0;
  mix-blend-mode: soft-light;
}

/* Page navigation loader — sakura cream theme */

html.tv-page-nav-pending .tv-page-loader {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

html.tv-page-nav-pending .retro-tv__broadcast-bar,
body.retro-tv-site .retro-tv__screen:has(.tv-page-loader.is-active) .retro-tv__broadcast-bar {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.tv-page-loader {
  position: absolute;
  inset: 0;
  z-index: 70;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.24s ease,
    visibility 0.24s ease;
}

.tv-page-loader.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.tv-page-loader__backdrop {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(145deg, #fffaf3 0%, #fff1e6 28%, #ffe8f1 68%, #fbcfe8 100%);
}

.tv-page-loader__backdrop::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 18% 22%, rgb(255 255 255 / 0.55) 0%, transparent 42%),
    radial-gradient(ellipse at 84% 78%, rgb(244 114 182 / 0.16) 0%, transparent 48%);
  pointer-events: none;
}

.tv-page-loader__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  width: min(100%, 22rem);
  padding: 1.5rem;
  text-align: center;
  animation: tvPageLoaderIn 0.32s cubic-bezier(0.22, 1, 0.36, 1) backwards;
}

@keyframes tvPageLoaderIn {
  from {
    opacity: 0;
    transform: translateY(10px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.tv-page-loader__logo {
  width: min(100%, 240px);
  height: auto;
  filter:
    drop-shadow(0 0 1px rgba(0, 0, 0, 0.95))
    drop-shadow(0 0 2px rgba(0, 0, 0, 0.75))
    drop-shadow(0 8px 16px rgba(0, 0, 0, 0.35));
}

.tv-page-loader__bar {
  width: min(100%, 220px);
  height: 10px;
  border: 2px solid rgb(249 145 191 / 0.85);
  border-radius: 999px;
  background: rgb(255 250 243 / 0.92);
  overflow: hidden;
  box-shadow: 2px 2px 0 rgb(157 23 77 / 0.18);
}

.tv-page-loader__bar-fill {
  display: block;
  height: 100%;
  width: 42%;
  border-radius: inherit;
  background: linear-gradient(90deg, #be185d 0%, #f991bf 48%, #ec4899 100%);
  animation: tvPageLoaderBar 0.85s ease-in-out infinite alternate;
}

@keyframes tvPageLoaderBar {
  from { transform: translateX(-35%); }
  to { transform: translateX(185%); }
}

.tv-page-loader__text {
  margin: 0;
  font-family: "Titan One", sans-serif;
  font-size: 0.95rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #be185d;
  opacity: 0.88;
}

.retro-tv__channel-bar {
  position: absolute;
  left: 0.85rem;
  bottom: 0.65rem;
  z-index: 55;
  font-family: "Titan One", sans-serif;
  font-size: 1.15rem;
  letter-spacing: 0.08em;
  color: rgb(var(--color-indigo-300));
  text-shadow: 2px 2px 0 #000;
  pointer-events: none;
}

body.retro-tv-site #header .tv-rail-channel {
  display: none !important;
}

@media (max-width: 1280px) {
  .retro-tv__channel-bar {
    left: 0.75rem;
  }
}

@media (max-width: 640px) {
  .retro-tv__channel-bar {
    left: 0.65rem;
  }
}

.tv-channels {
  padding-top: 1.5rem;
}

.tv-channels__heading {
  font-family: "Titan One", sans-serif;
  font-size: 1.75rem;
  letter-spacing: 0.1em;
  color: rgb(var(--color-indigo-200));
  margin-bottom: 1rem;
}

.tv-channels__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

@media (min-width: 768px) {
  .tv-channels__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1100px) {
  .tv-channels__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.tv-channel-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 6.5rem;
  padding: 0.85rem 0.65rem;
  text-align: center;
  border: 2px solid rgb(var(--color-indigo-500) / 0.28);
  background: rgb(var(--color-voon-700) / 0.55);
  color: rgb(var(--color-indigo-100));
  transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.tv-channel-card:hover {
  border-color: rgb(var(--color-indigo-400) / 0.7);
  background: rgb(var(--color-voon-700) / 0.85);
  transform: translateY(-2px);
  color: #fff;
}

.tv-channel-card__icon {
  font-size: 1.35rem;
  color: rgb(var(--color-indigo-300));
}

.tv-channel-card__label {
  font-family: "Titan One", sans-serif;
  font-size: 1.05rem;
  letter-spacing: 0.05em;
  line-height: 1.2;
}

.tv-channels__hint {
  margin-top: 1rem;
  font-family: "Titan One", sans-serif;
  font-size: 1rem;
  color: rgb(var(--color-indigo-300) / 0.65);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* ==========================================================================
   TV profile drawer — sakura cream panel (inside .retro-tv__screen)
   ========================================================================== */

.tv-profile-menu {
  position: absolute;
  inset: 0;
  z-index: 80;
  display: flex;
  justify-content: flex-end;
  pointer-events: auto;
}

.tv-profile-menu__backdrop {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 85% 20%, rgb(249 145 191 / 0.18) 0%, transparent 50%),
    rgba(72, 42, 52, 0.42);
  backdrop-filter: none;
}

.tv-profile-menu__panel {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  width: min(100%, 360px);
  height: 100%;
  max-height: 100%;
  overflow: hidden;
  background-color: #f3e6d8;
  background-image:
    linear-gradient(180deg, rgb(255 236 243 / 0.72) 0%, rgb(255 246 238 / 0.35) 42%, transparent 100%),
    url("../img/mc-cream-tile.png");
  background-size: auto, 72px 72px;
  background-repeat: no-repeat, repeat;
  border-left: 3px solid #f9a8d4;
  border-radius: 16px 0 0 16px;
  box-shadow: -12px 0 28px rgba(88, 38, 68, 0.22);
  font-family: "Titan One", sans-serif;
  color: #5b3348;
}

.tv-profile-menu__scan,
.tv-profile-menu__avatar-scan {
  display: none !important;
}

.tv-profile-menu__identity,
.tv-profile-menu__body,
.tv-profile-menu__nav {
  position: relative;
  z-index: 1;
}

.tv-profile-menu__identity {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  flex-shrink: 0;
  padding: 1.15rem 1rem 1rem;
  border-bottom: 2px solid rgb(249 145 191 / 0.35);
  background: rgb(255 255 255 / 0.38);
}

.tv-profile-menu__avatar-frame {
  position: relative;
  flex-shrink: 0;
  padding: 0.22rem;
  border: 2px solid #f9a8d4;
  border-radius: 12px;
  background: #fff7fb;
  box-shadow: 0 3px 0 rgb(190 24 93 / 0.18);
  overflow: hidden;
}

.tv-profile-menu__avatar {
  display: block;
  border-radius: 8px !important;
  border: none !important;
  image-rendering: auto;
}

.tv-profile-menu__meta {
  min-width: 0;
  flex: 1;
}

.tv-profile-menu__name {
  margin: 0;
  font-family: "Titan One", sans-serif;
  font-size: 1.15rem;
  line-height: 1.25;
  color: #7a3d5c;
  text-shadow: 0 1px 0 rgb(255 255 255 / 0.65);
  word-break: break-word;
}

.tv-profile-menu__roles {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  margin-top: 0.45rem;
}

.tv-profile-menu__role {
  padding: 0.18rem 0.55rem;
  border: 2px solid #f9a8d4;
  border-radius: 8px;
  background: #ffe4f0;
  font-family: "Titan One", sans-serif;
  font-size: 0.82rem;
  letter-spacing: 0.03em;
  color: #be185d;
  text-transform: uppercase;
  box-shadow: 0 2px 0 rgb(190 24 93 / 0.12);
}

.tv-profile-menu__body {
  flex: 0 0 auto;
  min-height: 0;
  padding: 0.95rem 1rem 0.35rem;
}

.tv-profile-menu__label {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 0.65rem;
  font-family: "Titan One", sans-serif;
  font-size: 1.02rem;
  letter-spacing: 0.05em;
  color: #be185d;
  text-transform: uppercase;
  text-shadow: 0 1px 0 rgb(255 255 255 / 0.55);
}

.tv-profile-menu__label--nav {
  margin: 0 0 0.7rem;
  padding: 0 0.1rem;
}

.tv-profile-menu__label-line {
  flex: 1;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, #f9a8d4 0%, transparent 100%);
}

.tv-profile-menu__stats {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.55rem;
}

.tv-profile-stat {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 0.3rem;
  min-height: 0;
  padding: 0.75rem 0.85rem;
  border: 2px solid #f9a8d4;
  border-radius: 12px;
  background: rgb(255 255 255 / 0.72);
  box-shadow: 0 3px 0 rgb(190 24 93 / 0.12);
  text-align: left;
  overflow: hidden;
}

.tv-profile-stat--credit {
  border-color: #f9a8d4;
  background: linear-gradient(180deg, #fff7fb 0%, rgb(255 255 255 / 0.78) 100%);
}

.tv-profile-stat--email {
  border-color: #f9a8d4;
  background: rgb(255 255 255 / 0.72);
}

.tv-profile-stat__key {
  width: 100%;
  margin: 0;
  padding: 0;
  border: none;
  font-size: 0.9rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #a8557a;
  text-shadow: none;
}

.tv-profile-stat__value {
  margin: 0;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 1.3rem;
  line-height: 1.2;
  color: #7a3d5c;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tv-profile-stat--credit .tv-profile-stat__value {
  color: #be185d;
  text-shadow: none;
}

.tv-profile-stat--email .tv-profile-stat__value {
  display: block;
  color: #8b5a6b;
  font-size: 1rem;
}

.tv-profile-menu__nav {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 0.85rem 1rem 1.1rem;
  border-top: 2px solid rgb(249 145 191 / 0.35);
  background: rgb(255 246 238 / 0.35);
}

.tv-profile-menu__nav-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.55rem;
  flex: 1 1 auto;
  align-content: start;
}

.tv-profile-nav__logout {
  margin-top: auto;
  padding-top: 0.65rem;
}

.tv-profile-nav__item {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  width: 100%;
  min-height: 3.15rem;
  margin: 0;
  padding: 0.75rem 0.85rem;
  border: 2px solid #f9a8d4;
  border-radius: 12px;
  background: #fff7fb;
  color: #7a3d5c !important;
  text-decoration: none !important;
  font-family: "Titan One", sans-serif;
  font-size: 1.05rem;
  line-height: 1.1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  cursor: pointer;
  text-align: left;
  box-shadow: 0 3px 0 rgb(190 24 93 / 0.14);
  transition: border-color 0.15s ease, background 0.15s ease, transform 0.12s ease, color 0.12s ease, box-shadow 0.12s ease;
}

.tv-profile-nav__item:hover,
.tv-profile-nav__item:focus-visible {
  border-color: #f472b6;
  background: #ffe4f0;
  color: #be185d !important;
  outline: none;
  transform: translateY(-1px);
  box-shadow: 0 4px 0 rgb(190 24 93 / 0.18);
}

.tv-profile-nav__item:active {
  transform: translateY(1px);
  box-shadow: 0 1px 0 rgb(190 24 93 / 0.16);
}

.tv-profile-nav__item--wide {
  grid-column: 1 / -1;
}

.tv-profile-nav__item--danger {
  justify-content: center;
  min-height: 3.35rem;
  border-color: #fda4af;
  background: #fff1f2;
  color: #be123c !important;
  box-shadow: 0 3px 0 rgb(190 18 60 / 0.14);
}

.tv-profile-nav__item--danger:hover,
.tv-profile-nav__item--danger:focus-visible {
  border-color: #fb7185;
  background: #ffe4e6;
  color: #9f1239 !important;
  box-shadow: 0 4px 0 rgb(190 18 60 / 0.16);
}

.tv-profile-nav__item i {
  width: 1.1rem;
  text-align: center;
  flex-shrink: 0;
  opacity: 0.95;
  font-size: 1rem;
  color: #ec4899;
}

.tv-profile-nav__item--danger i {
  color: #e11d48;
}

.tv-profile-nav__item span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ==========================================================================
   Left-rail cart + profile
   ========================================================================== */

body.retro-tv-site #header .tv-rail-user {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1.25rem;
  width: auto;
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
}

body.retro-tv-site #header:has(.tv-rail-user) .tv-topbar-tools {
  gap: 1.1rem;
  padding-left: clamp(2rem, 5vw, 4.5rem);
}

body.retro-tv-site #header .tv-rail-cart,
#mobile-menu .tv-rail-cart {
  position: relative;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 0.45rem;
  width: auto;
  min-width: 0;
  padding: 0.2rem 0.15rem;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: rgb(255 255 255 / 0.92) !important;
  text-decoration: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transition: transform 0.15s ease, color 0.15s ease, text-shadow 0.15s ease;
}

body.retro-tv-site #header .tv-rail-cart__text {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
}

body.retro-tv-site #header .tv-rail-cart__emoji {
  position: relative;
  display: inline-block;
  font-size: 1.05rem;
  line-height: 1;
  flex-shrink: 0;
}

body.retro-tv-site #header .tv-rail-cart__label {
  font-family: "Titan One", sans-serif !important;
  font-size: 1.02rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  line-height: 1.1;
  color: inherit !important;
  text-transform: uppercase;
  text-shadow: 0 2px 0 rgba(0, 0, 0, 0.55);
}

body.retro-tv-site #header .tv-rail-cart:hover,
#mobile-menu .tv-rail-cart:hover {
  border: none !important;
  color: #fdbad8 !important;
  background: transparent !important;
  transform: translateY(-1px);
  box-shadow: none !important;
  text-shadow:
    0 -1px 0 rgb(255 255 255 / 0.45),
    0 2px 0 rgb(0 0 0 / 0.85),
    0 3px 0 rgb(0 0 0 / 0.5),
    0 0 10px rgb(249 145 191 / 0.55),
    0 0 18px rgb(249 145 191 / 0.4);
}

body.retro-tv-site #header .tv-rail-cart:hover .tv-rail-cart__label,
#mobile-menu .tv-rail-cart:hover .tv-rail-cart__label {
  color: #fdbad8 !important;
  text-shadow:
    0 -1px 0 rgb(255 255 255 / 0.45),
    0 2px 0 rgb(0 0 0 / 0.85),
    0 3px 0 rgb(0 0 0 / 0.5),
    0 0 10px rgb(249 145 191 / 0.55),
    0 0 18px rgb(249 145 191 / 0.4) !important;
}

body.retro-tv-site #header .tv-rail-cart__count {
  position: absolute !important;
  top: -0.35rem !important;
  right: -0.45rem !important;
  left: auto !important;
  z-index: 2;
  min-width: 1.05rem !important;
  height: 1.05rem !important;
  margin: 0 !important;
  margin-left: 0 !important;
  padding: 0 0.22rem !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 1px solid rgb(255 255 255 / 0.4) !important;
  border-radius: 999px !important;
  background: #ec4899 !important;
  color: #fff !important;
  font-family: "Titan One", sans-serif !important;
  font-size: 0.62rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  box-shadow: 0 2px 6px rgb(157 23 77 / 0.4);
  flex-shrink: 0;
}

body.retro-tv-site #header .tv-rail-profile {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 0.45rem;
  width: auto;
  max-width: 15rem;
  padding: 0.2rem 0.15rem;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  cursor: pointer;
  color: rgb(255 255 255 / 0.92);
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transition: transform 0.15s ease, color 0.15s ease, text-shadow 0.15s ease;
}

body.retro-tv-site #header .tv-rail-profile:hover,
body.retro-tv-site #header .tv-rail-profile:focus-visible {
  border: none !important;
  background: transparent !important;
  color: #fdbad8 !important;
  transform: translateY(-1px);
  box-shadow: none !important;
  outline: none;
  text-shadow:
    0 -1px 0 rgb(255 255 255 / 0.45),
    0 2px 0 rgb(0 0 0 / 0.85),
    0 3px 0 rgb(0 0 0 / 0.5),
    0 0 10px rgb(249 145 191 / 0.55),
    0 0 18px rgb(249 145 191 / 0.4);
}

body.retro-tv-site #header .tv-rail-profile:hover .tv-rail-profile__name,
body.retro-tv-site #header .tv-rail-profile:focus-visible .tv-rail-profile__name {
  color: #fdbad8 !important;
  text-shadow:
    0 -1px 0 rgb(255 255 255 / 0.45),
    0 2px 0 rgb(0 0 0 / 0.85),
    0 3px 0 rgb(0 0 0 / 0.5),
    0 0 10px rgb(249 145 191 / 0.55),
    0 0 18px rgb(249 145 191 / 0.4) !important;
}

body.retro-tv-site #header .tv-rail-profile__avatar {
  width: 1.75rem !important;
  height: 1.75rem !important;
  border-radius: 8px !important;
  border: 2px solid rgb(249 145 191 / 0.55);
  image-rendering: pixelated;
  flex-shrink: 0;
}

body.retro-tv-site #header .tv-rail-profile__meta {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
}

body.retro-tv-site #header .tv-rail-profile__name {
  font-family: "Titan One", sans-serif;
  font-size: 0.98rem;
  line-height: 1.05;
  color: #fff;
  text-shadow: 1px 1px 0 #000;
  max-width: 7rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.retro-tv-site #header .tv-rail-profile__credit {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  flex-shrink: 0;
  font-family: "Titan One", sans-serif;
  font-size: 0.9rem;
  line-height: 1;
  color: #fde68a;
  text-shadow: 1px 1px 0 #000;
  white-space: nowrap;
}

body.retro-tv-site #header .tv-rail-profile__credit > span {
  font-size: 0.95rem;
  line-height: 1;
}

.tv-mc-coin {
  display: inline-block;
  width: 1.15rem;
  height: 1.15rem;
  flex-shrink: 0;
  image-rendering: pixelated;
  image-rendering: -moz-crisp-edges;
  image-rendering: crisp-edges;
  -ms-interpolation-mode: nearest-neighbor;
  vertical-align: middle;
  filter: drop-shadow(0 1px 0 rgba(0, 0, 0, 0.65));
}

.tv-mc-coin--lg {
  width: 1.45rem;
  height: 1.45rem;
}

body.retro-tv-site #header .tv-rail-channel {
  display: none !important;
}

body.retro-tv-site #header .tv-rail-profile__hint {
  display: none !important;
}

#mobile-menu .tv-rail-profile__credit-mobile {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-family: "Titan One", sans-serif;
  font-size: 0.78rem;
  line-height: 1;
  color: #fde68a;
  text-transform: none;
}

/* ==========================================================================
   Global retro UI inside TV viewport + auth
   ========================================================================== */

body.retro-tv-site,
body.retro-tv-site--auth {
  --retro-radius: 12px;
  --retro-border: 2px solid rgb(var(--color-indigo-500) / 0.4);
  --tv-font: "Titan One", sans-serif;
  font-family: var(--tv-font);
  font-weight: 400;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.retro-tv-site .retro-tv__viewport,
body.retro-tv-site--auth .retro-tv__viewport,
body.retro-tv-site .retro-tv__chrome,
body.retro-tv-site .retro-tv__broadcast-bar {
  font-family: var(--tv-font) !important;
  letter-spacing: 0.01em;
}

body.retro-tv-site .retro-tv__viewport .main,
body.retro-tv-site .retro-tv__viewport .main *:not(i):not(.fab):not(.fas):not(.far):not(.fal):not(.fad):not(svg):not(path):not(.tv-profile__nametag),
body.retro-tv-site--auth .retro-tv__viewport .main,
body.retro-tv-site--auth .retro-tv__viewport .main *:not(i):not(.fab):not(.fas):not(.far):not(.fal):not(.fad):not(svg):not(path):not(.tv-profile__nametag),
body.retro-tv-site .retro-tv__chrome *:not(i):not(.fab):not(.fas):not(.far):not(.fal):not(.fad):not(svg):not(path),
body.retro-tv-site .retro-tv__broadcast-bar *:not(i):not(.fab):not(.fas):not(.far):not(.fal):not(.fad):not(svg):not(path) {
  font-family: var(--tv-font) !important;
}
body.retro-tv-site--auth .retro-tv__viewport .main *:not(i):not(.fab):not(.fas):not(.far):not(.fal):not(.fad):not(svg):not(path):not(.tv-profile__nametag) {
  font-family: "Titan One", sans-serif;
}

body.retro-tv-site .retro-tv__viewport h1,
body.retro-tv-site .retro-tv__viewport h2,
body.retro-tv-site .retro-tv__viewport h3,
body.retro-tv-site .retro-tv__viewport .text-2xl,
body.retro-tv-site .retro-tv__viewport .text-3xl,
body.retro-tv-site .retro-tv__viewport .text-4xl,
body.retro-tv-site--auth h1,
body.retro-tv-site--auth h2,
body.retro-tv-site--auth h3 {
  font-family: var(--tv-font) !important;
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.15;
  color: #fff;
  text-shadow:
    0 2px 0 rgba(0, 0, 0, 0.55),
    0 3px 10px rgba(0, 0, 0, 0.35);
  filter: drop-shadow(0 1px 0 rgba(0, 0, 0, 0.45));
}

body.retro-tv-site .retro-tv__viewport h1,
body.retro-tv-site--auth h1 {
  font-size: clamp(1.75rem, 3.2vw, 2.4rem) !important;
}

body.retro-tv-site .retro-tv__viewport h2,
body.retro-tv-site--auth h2 {
  font-size: clamp(1.45rem, 2.6vw, 1.95rem) !important;
}

body.retro-tv-site .retro-tv__viewport h3,
body.retro-tv-site--auth h3 {
  font-size: clamp(1.25rem, 2.2vw, 1.6rem) !important;
}

body.retro-tv-site .retro-tv__viewport p,
body.retro-tv-site .retro-tv__viewport li,
body.retro-tv-site .retro-tv__viewport label,
body.retro-tv-site .retro-tv__viewport td,
body.retro-tv-site .retro-tv__viewport th,
body.retro-tv-site .retro-tv__viewport .text-sm,
body.retro-tv-site .retro-tv__viewport .text-base,
body.retro-tv-site--auth p,
body.retro-tv-site--auth label {
  font-family: "Titan One", sans-serif;
  letter-spacing: 0.02em;
}

body.retro-tv-site .retro-tv__viewport .btn,
body.retro-tv-site .retro-tv__viewport button:not([class*="tv-"]):not(.tv-profile-menu__close):not(.tv-profile-nav__item),
body.retro-tv-site .retro-tv__viewport a.button,
body.retro-tv-site .retro-tv__viewport [type="submit"],
body.retro-tv-site .retro-tv__viewport .bg-indigo-500,
body.retro-tv-site .retro-tv__viewport .bg-indigo-600,
body.retro-tv-site .retro-tv__viewport .bg-emerald-500,
body.retro-tv-site--auth button,
body.retro-tv-site--auth [type="submit"] {
  font-family: "Titan One", sans-serif !important;
  border-radius: 12px !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  box-shadow:
    0 3px 0 rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;
}

/* Sakura primary buttons — sitewide */
.tv-credit__submit,
.tv-auth__submit,
.tv-account-form__btn:not(.tv-account-form__btn--danger):not(.tv-account-form__btn--file):not(:disabled):not(.disabled),
.tv-product__btn:not(.is-disabled),
.tv-cart__mini-btn:not(.tv-cart__mini-btn--danger):not(:disabled),
body.retro-tv-site .retro-tv__viewport .bg-indigo-500,
body.retro-tv-site .retro-tv__viewport .bg-indigo-600,
body.retro-tv-site .retro-tv__viewport a.bg-indigo-500,
body.retro-tv-site .retro-tv__viewport button.bg-indigo-500,
body.retro-tv-site .retro-tv__viewport [type="submit"].bg-indigo-500,
body.retro-tv-site .retro-tv__viewport [type="button"].bg-indigo-500 {
  border: 2px solid var(--tv-btn-primary-border) !important;
  background: var(--tv-btn-primary-gradient) !important;
  color: var(--tv-btn-primary-color) !important;
  text-shadow: 0 1px 0 rgb(0 0 0 / 0.22) !important;
  box-shadow:
    0 4px 0 var(--tv-btn-primary-shadow),
    inset 0 1px 0 rgb(255 255 255 / 0.35) !important;
}

.tv-credit__submit:hover,
.tv-credit__submit:focus-visible,
.tv-auth__submit:hover,
.tv-auth__submit:focus-visible,
.tv-account-form__btn:not(.tv-account-form__btn--danger):not(.tv-account-form__btn--file):not(:disabled):not(.disabled):hover,
.tv-account-form__btn:not(.tv-account-form__btn--danger):not(.tv-account-form__btn--file):not(:disabled):not(.disabled):focus-visible,
.tv-product__btn:not(.is-disabled):hover,
.tv-product__btn:not(.is-disabled):focus-visible,
.tv-cart__mini-btn:not(.tv-cart__mini-btn--danger):not(:disabled):hover,
.tv-cart__mini-btn:not(.tv-cart__mini-btn--danger):not(:disabled):focus-visible,
body.retro-tv-site .retro-tv__viewport .bg-indigo-500:hover,
body.retro-tv-site .retro-tv__viewport .bg-indigo-600:hover,
body.retro-tv-site .retro-tv__viewport a.bg-indigo-500:hover,
body.retro-tv-site .retro-tv__viewport button.bg-indigo-500:hover,
body.retro-tv-site .retro-tv__viewport [type="submit"].bg-indigo-500:hover,
body.retro-tv-site .retro-tv__viewport [type="button"].bg-indigo-500:hover {
  filter: brightness(1.06);
  color: var(--tv-btn-primary-color) !important;
}

body.retro-tv-site .retro-tv__viewport .rounded,
body.retro-tv-site .retro-tv__viewport .rounded-md,
body.retro-tv-site .retro-tv__viewport .rounded-lg,
body.retro-tv-site .retro-tv__viewport .rounded-xl,
body.retro-tv-site .retro-tv__viewport .rounded-2xl,
body.retro-tv-site .retro-tv__viewport .rounded-3xl,
body.retro-tv-site .retro-tv__viewport .rounded-\[3rem\] {
  border-radius: 14px !important;
}

body.retro-tv-site .retro-tv__viewport .rounded-full:not(img):not(.avatar):not([class*="badge"]):not(.shopping-cart-count) {
  border-radius: 9999px !important;
}

body.retro-tv-site .retro-tv__viewport .shadow,
body.retro-tv-site .retro-tv__viewport .shadow-md,
body.retro-tv-site .retro-tv__viewport .shadow-lg,
body.retro-tv-site .retro-tv__viewport .shadow-xl {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35) !important;
}

body.retro-tv-site .retro-tv__viewport input,
body.retro-tv-site .retro-tv__viewport select,
body.retro-tv-site .retro-tv__viewport textarea,
body.retro-tv-site--auth input,
body.retro-tv-site--auth select,
body.retro-tv-site--auth textarea {
  font-family: "Titan One", sans-serif !important;
  border-radius: 12px !important;
  border-width: 2px !important;
  letter-spacing: 0.03em;
}

body.retro-tv-site .retro-tv__viewport .card,
body.retro-tv-site .retro-tv__viewport [class*="bg-voon"],
body.retro-tv-site .retro-tv__viewport .bg-white\/5,
body.retro-tv-site .retro-tv__viewport .bg-indigo-900\/20,
body.retro-tv-site .retro-tv__viewport .bg-indigo-900\/25 {
  border: 2px solid rgb(var(--color-indigo-500) / 0.28);
}

/* Keep page content scrolling inside the TV viewport */
body.retro-tv-site .retro-tv__viewport .main {
  max-width: 100%;
  padding-bottom: 0.5rem;
  margin-bottom: 0 !important;
  flex: 0 0 auto !important;
  flex-grow: 0 !important;
  height: auto !important;
  min-height: 100% !important;
  min-height: 100dvh !important;
}

body.retro-tv-site .tv-screen-footer {
  flex: 0 0 auto;
  margin-top: 0;
  position: relative;
  z-index: 5;
}

/* Soften modern glass panels inside TV */
body.retro-tv-site .retro-tv__viewport .backdrop-blur,
body.retro-tv-site .retro-tv__viewport .backdrop-blur-sm,
body.retro-tv-site .retro-tv__viewport .backdrop-blur-md {
  backdrop-filter: none !important;
}

@media (max-width: 640px) {
  .tv-profile-menu__panel {
    width: 100%;
  }
}

/* ==========================================================================
   Error pages inside TV
   ========================================================================== */

.tv-error {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 1.25rem;
  min-height: 100%;
  padding: 1.5rem 1.25rem;
  align-items: center;
}

.tv-error__copy {
  max-width: 34rem;
}

.tv-error__code {
  margin: 0 0 0.75rem;
  font-family: "Titan One", sans-serif;
  font-size: 1.21rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #f472b6;
}

.tv-error__title {
  margin: 0;
  font-family: "Titan One", sans-serif !important;
  font-size: clamp(0.75rem, 1.5vw, 1rem) !important;
  line-height: 1.55 !important;
  color: #fff;
}

.tv-error__text {
  margin: 1rem 0 1.5rem;
  font-family: "Titan One", sans-serif;
  font-size: 1.25rem;
  line-height: 1.35;
  color: rgb(255 255 255 / 0.8);
}

.tv-error__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.65rem 1rem;
  border: 2px solid rgb(var(--color-indigo-400) / 0.55);
  background: rgb(0 0 0 / 0.45);
  color: #fff !important;
  text-decoration: none !important;
  font-family: "Titan One", sans-serif;
  font-size: 1.15rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-radius: 0 !important;
  box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.45);
}

.tv-error__btn:hover {
  border-color: rgb(var(--color-indigo-300));
  background: rgb(var(--color-indigo-500) / 0.2);
  color: #fff !important;
}

.tv-error__art {
  min-height: 16rem;
  height: 100%;
  background-size: cover;
  background-position: left center;
  transform: scaleX(-1);
  border: 2px solid rgb(var(--color-indigo-500) / 0.35);
  box-shadow: inset 0 0 40px rgba(0, 0, 0, 0.55);
}

@media (max-width: 900px) {
  .tv-error {
    grid-template-columns: 1fr;
  }

  .tv-error__art {
    min-height: 12rem;
    order: -1;
  }
}

/* Alert / notice bars inside TV */
body.retro-tv-site .retro-tv__viewport .alert,
body.retro-tv-site .retro-tv__viewport [role="alert"],
body.retro-tv-site .retro-tv__viewport .bg-red-500,
body.retro-tv-site .retro-tv__viewport .bg-red-600,
body.retro-tv-site .retro-tv__viewport .bg-yellow-500\/10,
body.retro-tv-site .retro-tv__viewport .bg-emerald-500\/10 {
  border-radius: 0 !important;
  border: 2px solid currentColor;
  font-family: "Titan One", sans-serif !important;
  letter-spacing: 0.03em;
}

/* ==========================================================================
   Homepage ??? dragon hero + boards + credit CTA
   ========================================================================== */

.tv-home-hero {
  position: relative;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-bottom: 2px solid rgb(var(--color-indigo-500) / 0.35);
  box-sizing: border-box;
  flex-shrink: 0;
  z-index: 1;
}

/* Fallback if container queries unsupported */
@supports not (min-height: 100dvh) {
  body.retro-tv-site .retro-tv__viewport .tv-home-hero {
    min-height: 70vh;
  }
}

.tv-home-hero__world {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}

.tv-home-hero__gif {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
}

.tv-home-hero__gif img,
.tv-home-hero__gif video,
.tv-home-hero__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  image-rendering: auto;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  filter: none !important;
  opacity: 1 !important;
  transform: translateZ(0);
  pointer-events: none;
}

.tv-home-hero__gif-shade,
.tv-home-hero__retro-fx,
.tv-home-hero__hills,
.tv-home-hero__vignette {
  display: none !important;
}

/* Soft screen overlay — sitewide (no CRT TV look) */
body.retro-tv-site .crt-fx__scanlines {
  opacity: 0.06;
}

body.retro-tv-site .crt-fx__vignette {
  opacity: 0.45;
}

body.retro-tv-site .crt-fx__glass {
  display: none !important;
}

body.retro-tv-site .crt-fx__static-canvas {
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Keep homepage hero GIF clear */
body.retro-tv-site:has(.tv-home-hero) .crt-fx__scanlines,
body.retro-tv-site:has(.tv-home-hero) .crt-fx__vignette,
body.retro-tv-site:has(.tv-home-hero) .crt-fx__glass,
body.retro-tv-site:has(.tv-home-hero) .crt-fx__static-canvas {
  opacity: 0 !important;
  visibility: hidden !important;
}

.tv-home-hero__blocks {
  display: none !important;
}

.tv-home-hero__stage {
  position: relative;
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.35rem;
  flex: 1;
  width: 100%;
  padding-top: 1.25rem;
  padding-bottom: 2rem;
  text-align: center;
  box-sizing: border-box;
}

.tv-home-hero__dock {
  position: relative;
  z-index: 7;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.95rem;
  width: auto;
  max-width: min(100%, 40rem);
  padding: 0;
  pointer-events: auto;
}

.tv-home-hero__dock .tv-home-cta {
  pointer-events: auto;
}

.tv-home-hero__actions {
  display: none;
}

@keyframes tvCloudDrift {
  from { transform: translateX(0); }
  to { transform: translateX(-8%); }
}

@keyframes tvHillPulse {
  0%, 100% { filter: brightness(1); }
  50% { filter: brightness(1.08); }
}

@keyframes tvPhotoPan {
  from { transform: scale(1.05) translate3d(-1.5%, 0, 0); }
  to { transform: scale(1.12) translate3d(1.5%, -1%, 0); }
}

/* Sakura petals — locked to TV screen, never scroll with page content */
.tv-sakura-petals {
  position: fixed;
  inset: 0;
  z-index: 40;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  pointer-events: none;
  overflow: hidden;
}

body.retro-tv-site .retro-tv__screen > .tv-sakura-petals {
  position: fixed;
  inset: 0;
}

.tv-sakura-petal {
  position: absolute;
  top: var(--petal-start, 8%);
  left: var(--petal-x, 50%);
  display: block;
  width: var(--petal-size, 8px);
  height: var(--petal-size, 8px);
  border-radius: 1px;
  background: var(--petal-color, #f9a8d4);
  image-rendering: pixelated;
  image-rendering: crisp-edges;
  opacity: 0;
  will-change: transform, opacity;
  animation: tvSakuraPetalFall var(--petal-dur, 7s) linear infinite;
  animation-delay: var(--petal-delay, 0s);
  box-shadow:
    1px 1px 0 rgb(219 39 119 / 0.35),
    inset 0 0 0 1px rgb(255 255 255 / 0.25);
}

.tv-sakura-petal::after {
  content: "";
  position: absolute;
  inset: 0;
  background: inherit;
  transform: rotate(45deg) scale(0.72);
  border-radius: inherit;
  opacity: 0.85;
}

.tv-sakura-petal--1  { --petal-x: 12%; --petal-start: 4%;  --petal-size: 9px;  --petal-color: #fbcfe8; --petal-dur: 9.2s; --petal-delay: 0s;    --petal-drift: -36px; --petal-sway: 22px; }
.tv-sakura-petal--2  { --petal-x: 22%; --petal-start: 8%;  --petal-size: 7px;  --petal-color: #f9a8d4; --petal-dur: 7.8s; --petal-delay: 0.7s;  --petal-drift: 42px;  --petal-sway: -18px; }
.tv-sakura-petal--3  { --petal-x: 32%; --petal-start: 2%;  --petal-size: 8px;  --petal-color: #fda4af; --petal-dur: 10.1s; --petal-delay: 1.5s; --petal-drift: -28px; --petal-sway: 30px; }
.tv-sakura-petal--4  { --petal-x: 42%; --petal-start: 10%; --petal-size: 10px; --petal-color: #fce7f3; --petal-dur: 8.4s; --petal-delay: 0.3s;  --petal-drift: 24px;  --petal-sway: -26px; }
.tv-sakura-petal--5  { --petal-x: 50%; --petal-start: 1%;  --petal-size: 8px;  --petal-color: #f472b6; --petal-dur: 9.6s; --petal-delay: 2.1s;  --petal-drift: 48px;  --petal-sway: 16px; }
.tv-sakura-petal--6  { --petal-x: 58%; --petal-start: 7%;  --petal-size: 7px;  --petal-color: #fbcfe8; --petal-dur: 7.5s; --petal-delay: 1.1s;  --petal-drift: -40px; --petal-sway: 34px; }
.tv-sakura-petal--7  { --petal-x: 68%; --petal-start: 3%;  --petal-size: 9px;  --petal-color: #fda4af; --petal-dur: 10.4s; --petal-delay: 2.8s; --petal-drift: 32px;  --petal-sway: -22px; }
.tv-sakura-petal--8  { --petal-x: 78%; --petal-start: 12%; --petal-size: 6px;  --petal-color: #f9a8d4; --petal-dur: 7.2s; --petal-delay: 3.2s;  --petal-drift: -22px; --petal-sway: 28px; }
.tv-sakura-petal--9  { --petal-x: 86%; --petal-start: 5%;  --petal-size: 8px;  --petal-color: #fce7f3; --petal-dur: 9.8s; --petal-delay: 0.6s;  --petal-drift: -48px; --petal-sway: 14px; }
.tv-sakura-petal--10 { --petal-x: 18%; --petal-start: 14%; --petal-size: 7px;  --petal-color: #f472b6; --petal-dur: 8.1s; --petal-delay: 3.6s;  --petal-drift: 36px;  --petal-sway: -30px; }
.tv-sakura-petal--11 { --petal-x: 28%; --petal-start: 0%;  --petal-size: 9px;  --petal-color: #fbcfe8; --petal-dur: 10.0s; --petal-delay: 1.9s; --petal-drift: 20px;  --petal-sway: 24px; }
.tv-sakura-petal--12 { --petal-x: 38%; --petal-start: 11%; --petal-size: 6px;  --petal-color: #fda4af; --petal-dur: 7.4s; --petal-delay: 2.5s;  --petal-drift: -34px; --petal-sway: -16px; }
.tv-sakura-petal--13 { --petal-x: 48%; --petal-start: 6%;  --petal-size: 8px;  --petal-color: #f9a8d4; --petal-dur: 10.6s; --petal-delay: 4.1s; --petal-drift: 44px;  --petal-sway: 20px; }
.tv-sakura-petal--14 { --petal-x: 56%; --petal-start: 13%; --petal-size: 7px;  --petal-color: #fce7f3; --petal-dur: 8.0s; --petal-delay: 4.8s;  --petal-drift: -30px; --petal-sway: 32px; }
.tv-sakura-petal--15 { --petal-x: 64%; --petal-start: 2%;  --petal-size: 8px;  --petal-color: #f472b6; --petal-dur: 9.0s; --petal-delay: 3.9s;  --petal-drift: 26px;  --petal-sway: -28px; }
.tv-sakura-petal--16 { --petal-x: 74%; --petal-start: 9%;  --petal-size: 7px;  --petal-color: #fbcfe8; --petal-dur: 8.7s; --petal-delay: 5.2s;  --petal-drift: -44px; --petal-sway: 18px; }
.tv-sakura-petal--17 { --petal-x: 8%;  --petal-start: 15%; --petal-size: 6px;  --petal-color: #fda4af; --petal-dur: 9.4s; --petal-delay: 1.3s;  --petal-drift: 38px;  --petal-sway: -20px; }
.tv-sakura-petal--18 { --petal-x: 35%; --petal-start: 1%;  --petal-size: 9px;  --petal-color: #f9a8d4; --petal-dur: 10.8s; --petal-delay: 2.2s; --petal-drift: -18px; --petal-sway: 36px; }
.tv-sakura-petal--19 { --petal-x: 45%; --petal-start: 16%; --petal-size: 7px;  --petal-color: #fce7f3; --petal-dur: 7.9s; --petal-delay: 5.6s;  --petal-drift: 50px;  --petal-sway: -12px; }
.tv-sakura-petal--20 { --petal-x: 55%; --petal-start: 0%;  --petal-size: 8px;  --petal-color: #f472b6; --petal-dur: 9.9s; --petal-delay: 0.9s;  --petal-drift: -26px; --petal-sway: 26px; }
.tv-sakura-petal--21 { --petal-x: 65%; --petal-start: 17%; --petal-size: 6px;  --petal-color: #fbcfe8; --petal-dur: 7.6s; --petal-delay: 4.4s;  --petal-drift: 30px;  --petal-sway: -34px; }
.tv-sakura-petal--22 { --petal-x: 82%; --petal-start: 4%;  --petal-size: 8px;  --petal-color: #fda4af; --petal-dur: 10.2s; --petal-delay: 3.0s; --petal-drift: -52px; --petal-sway: 15px; }
.tv-sakura-petal--23 { --petal-x: 25%; --petal-start: 18%; --petal-size: 7px;  --petal-color: #f9a8d4; --petal-dur: 8.5s; --petal-delay: 5.9s;  --petal-drift: 16px;  --petal-sway: 29px; }
.tv-sakura-petal--24 { --petal-x: 71%; --petal-start: 0%;  --petal-size: 9px;  --petal-color: #fce7f3; --petal-dur: 11.2s; --petal-delay: 1.7s; --petal-drift: 40px;  --petal-sway: -24px; }

@keyframes tvSakuraPetalFall {
  0% {
    opacity: 0;
    transform: translate3d(0, 0, 0) rotate(0deg) scale(0.8);
  }
  6% {
    opacity: 0.95;
  }
  22% {
    transform: translate3d(var(--petal-sway, 12px), 18vh, 0) rotate(90deg) scale(1);
  }
  45% {
    opacity: 0.9;
    transform: translate3d(calc(var(--petal-drift, 0px) * 0.45), 42vh, 0) rotate(180deg) scale(0.98);
  }
  68% {
    opacity: 0.75;
    transform: translate3d(calc(var(--petal-drift, 0px) * 0.85), 68vh, 0) rotate(290deg) scale(0.92);
  }
  88% {
    opacity: 0.4;
    transform: translate3d(var(--petal-drift, 0px), 90vh, 0) rotate(380deg) scale(0.86);
  }
  100% {
    opacity: 0;
    transform: translate3d(calc(var(--petal-drift, 0px) * 1.1), 108vh, 0) rotate(460deg) scale(0.78);
  }
}

@media (prefers-reduced-motion: reduce) {
  .tv-sakura-petal {
    animation: none !important;
    opacity: 0 !important;
  }
}

.tv-home-brand {
  position: relative;
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: min(100%, 720px);
  min-height: 0;
  padding: 0.5rem 0;
  margin: 0 auto;
  border: none;
  background: transparent;
  cursor: pointer;
  pointer-events: auto;
  overflow: visible;
}

.tv-home-brand__glow {
  display: none;
}

.tv-home-brand__wordmark {
  position: relative;
  z-index: 5;
  width: clamp(280px, 46vw, 580px);
  height: auto;
  opacity: 1;
  transform: scale(1);
  filter:
    drop-shadow(0 0 1px rgba(0, 0, 0, 0.95))
    drop-shadow(0 0 2px rgba(0, 0, 0, 0.75))
    drop-shadow(0 8px 18px rgba(0, 0, 0, 0.7));
  animation: tvBrandWordIn 0.7s cubic-bezier(0.2, 0.9, 0.2, 1) backwards;
  transition:
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.35s ease;
  will-change: transform, filter;
  transform-origin: center center;
  backface-visibility: hidden;
  pointer-events: none;
}

.tv-home-brand::after {
  display: none !important;
  content: none;
}

.tv-home-brand:hover .tv-home-brand__wordmark,
.tv-home-brand:focus-visible .tv-home-brand__wordmark {
  transform: scale(1.06);
  filter:
    drop-shadow(0 0 1px rgba(0, 0, 0, 0.95))
    drop-shadow(0 0 2px rgba(0, 0, 0, 0.8))
    drop-shadow(0 12px 24px rgba(0, 0, 0, 0.55))
    brightness(1.05);
}

@keyframes tvBrandWordIn {
  from {
    opacity: 0;
    transform: translateY(14px) scale(0.94);
    filter:
      drop-shadow(0 0 1px rgba(0, 0, 0, 0.95))
      drop-shadow(0 6px 14px rgba(0, 0, 0, 0.65))
      brightness(1.35);
  }
  to {
    opacity: 1;
    transform: scale(1);
    filter:
      drop-shadow(0 0 1px rgba(0, 0, 0, 0.95))
      drop-shadow(0 0 2px rgba(0, 0, 0, 0.75))
      drop-shadow(0 8px 18px rgba(0, 0, 0, 0.7))
      brightness(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .tv-sakura-petal,
  .tv-home-hero__petal {
    animation: none !important;
    opacity: 0 !important;
  }

  .tv-home-brand__wordmark {
    animation: none !important;
    transition: transform 0.2s ease, filter 0.2s ease;
  }

  .tv-home-brand:hover .tv-home-brand__wordmark {
    transform: scale(1.03);
  }
}

.tv-home-hero__actions {
  display: none !important;
}

.tv-home-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-width: 11.5rem;
  min-height: 3.35rem;
  padding: 0.95rem 1.55rem;
  border: none;
  border-radius: 16px;
  font-family: "Titan One", sans-serif;
  font-size: 1.45rem;
  letter-spacing: 0.04em;
  text-decoration: none !important;
  cursor: pointer;
  box-shadow:
    0 4px 0 rgba(0, 0, 0, 0.45),
    0 4px 0 rgba(0, 0, 0, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
  transition: transform 0.12s ease, filter 0.12s ease;
}

.tv-home-cta:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
  color: inherit;
}

.tv-home-cta:active {
  transform: translateY(2px);
  box-shadow:
    0 1px 0 rgba(0, 0, 0, 0.45),
    1px 1px 0 rgba(0, 0, 0, 0.25);
}

.tv-home-cta--discord {
  color: #fff !important;
  background: linear-gradient(180deg, #738adf 0%, #5865f2 48%, #4752c4 100%);
}

.tv-home-cta--ip {
  color: #0b1a33;
  background: linear-gradient(180deg, #fde68a 0%, #fbbf24 48%, #d97706 100%);
  min-width: 14.5rem;
  justify-content: space-between;
  gap: 0.65rem;
}

.tv-home-cta__label {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-width: 0;
}

.tv-home-cta__emoji {
  flex-shrink: 0;
  font-size: 1.05em;
  line-height: 1;
  filter: drop-shadow(0 1px 0 rgba(255, 255, 255, 0.35));
}

.tv-home-cta__ip {
  text-transform: none;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: #1c1917;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.45);
}

/* Shimmer ? Discord + IP buttons (rail + hero dock) */
body.retro-tv-site #header .tv-discord-btn,
body.retro-tv-site #header .tv-play-btn,
.tv-home-cta--discord,
.tv-home-cta--ip {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

body.retro-tv-site #header .tv-discord-btn > *,
body.retro-tv-site #header .tv-play-btn > *,
.tv-home-cta--discord > *,
.tv-home-cta--ip > * {
  position: relative;
  z-index: 1;
}

body.retro-tv-site #header .tv-discord-btn::after,
body.retro-tv-site #header .tv-play-btn::after,
.tv-home-cta--discord::after,
.tv-home-cta--ip::after {
  content: "";
  position: absolute;
  inset: -20% -40%;
  z-index: 0;
  background: linear-gradient(
    115deg,
    transparent 32%,
    rgba(255, 255, 255, 0.06) 42%,
    rgba(255, 255, 255, 0.42) 50%,
    rgba(255, 255, 255, 0.06) 58%,
    transparent 68%
  );
  transform: translateX(-130%) skewX(-16deg);
  animation: tvBtnShimmer 6.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  pointer-events: none;
}

body.retro-tv-site #header .tv-play-btn::after,
.tv-home-cta--ip::after {
  animation-delay: 1.8s;
  background: linear-gradient(
    115deg,
    transparent 32%,
    rgba(255, 255, 255, 0.08) 42%,
    rgba(255, 255, 255, 0.5) 50%,
    rgba(255, 255, 255, 0.08) 58%,
    transparent 68%
  );
}

body.retro-tv-site #header .tv-discord-btn:hover::after,
body.retro-tv-site #header .tv-play-btn:hover::after,
.tv-home-cta--discord:hover::after,
.tv-home-cta--ip:hover::after {
  animation-duration: 4.2s;
}

@keyframes tvBtnShimmer {
  0%, 28% {
    transform: translateX(-130%) skewX(-16deg);
  }
  58%, 100% {
    transform: translateX(130%) skewX(-16deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.retro-tv-site #header .tv-discord-btn::after,
  body.retro-tv-site #header .tv-play-btn::after,
  .tv-home-cta--discord::after,
  .tv-home-cta--ip::after {
    animation: none !important;
    opacity: 0;
  }
}

.tv-home-cta__online {
  min-width: 1.4rem;
  padding-left: 0.45rem;
  border-left: 1px solid rgba(28, 25, 23, 0.25);
  font-weight: 700;
  color: #fff;
  -webkit-text-stroke: 1.15px #000;
  paint-order: stroke fill;
  text-shadow:
    -1px -1px 0 #000,
     1px -1px 0 #000,
    -1px  1px 0 #000,
     1px  1px 0 #000,
     0  2px 0 rgba(0, 0, 0, 0.45);
}

/* Boards */

.tv-home-boards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
  padding-top: 1.25rem;
  padding-bottom: 1.35rem;
  position: relative;
  z-index: 2;
  flex-shrink: 0;
  box-sizing: border-box;
}

.tv-home-board {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 26rem;
  border: 2px solid rgb(249 145 191 / 0.85);
  border-radius: 16px;
  background:
    linear-gradient(
      165deg,
      #fffaf3 0%,
      #fff4ea 42%,
      #ffe8f1 100%
    );
  box-shadow:
    0 10px 24px rgb(157 23 77 / 0.18),
    4px 4px 0 rgb(190 24 93 / 0.2),
    inset 0 1px 0 rgb(255 255 255 / 0.85);
  overflow: hidden;
}

.tv-home-board__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  flex-shrink: 0;
  min-height: 5.25rem;
  height: auto;
  padding: 1rem 0.85rem;
  border-bottom: 2px solid rgb(249 145 191 / 0.45);
  background:
    linear-gradient(180deg, rgb(255 250 243 / 0.95) 0%, rgb(251 207 232 / 0.55) 100%);
  box-sizing: border-box;
  text-align: center;
}

.tv-home-board__head > i {
  flex-shrink: 0;
  align-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.15rem;
  height: 2.15rem;
  margin: 0;
  padding: 0;
  border-radius: 10px;
  background: rgb(255 250 243 / 0.95);
  border: 1px solid rgb(244 114 182 / 0.45);
  color: #fbbf24;
  font-size: 1.15rem;
  line-height: 1 !important;
  text-align: center;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.7);
}

.tv-home-board:nth-child(2) .tv-home-board__head > i {
  color: #db2777;
}

.tv-home-board:nth-child(3) .tv-home-board__head > i {
  color: #ea580c;
}

.tv-home-board__copy {
  min-width: 0;
  width: 100%;
  flex: 0 1 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  overflow: hidden;
  text-align: center;
}

.tv-home-board__title {
  margin: 0;
  font-family: "Titan One", sans-serif !important;
  font-size: clamp(0.9rem, 1.15vw, 1.22rem) !important;
  line-height: 1.2 !important;
  color: #831843;
  text-shadow:
    0 1px 0 rgb(255 255 255 / 0.95),
    1px 1px 0 rgb(255 244 234 / 0.85);
  display: block;
  width: 100%;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.retro-tv-site .retro-tv__viewport .tv-home-board .tv-home-board__title {
  color: #831843 !important;
  font-size: clamp(0.9rem, 1.15vw, 1.22rem) !important;
  white-space: nowrap !important;
  text-shadow:
    0 1px 0 rgb(255 255 255 / 0.95),
    1px 1px 0 rgb(255 244 234 / 0.85) !important;
  filter: none !important;
}

.tv-home-board__sub {
  margin: 0;
  padding-left: 0;
  font-family: "Titan One", sans-serif;
  font-size: clamp(0.68rem, 0.85vw, 0.82rem);
  line-height: 1.25;
  color: rgb(109 24 61 / 0.88);
  white-space: normal;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body.retro-tv-site .retro-tv__viewport .tv-home-board .tv-home-board__sub {
  color: rgb(109 24 61 / 0.88) !important;
  text-shadow: 0 1px 0 rgb(255 255 255 / 0.7) !important;
  filter: none !important;
}

.tv-home-board__list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.85rem;
  flex: 1 1 auto;
  min-height: 0;
  background: rgb(255 250 243 / 0.35);
}

.tv-home-board__list:has(.tv-home-board__empty) {
  align-items: center;
  justify-content: center;
}

.tv-home-board__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  margin: 0;
  padding: 1.25rem 0.75rem;
  font-family: "Titan One", sans-serif;
  font-size: 1.05rem;
  line-height: 1.35;
  color: rgb(157 23 77 / 0.52);
  text-align: center;
}

.tv-home-board__empty::before {
  content: "—";
  display: block;
  font-size: 1.35rem;
  line-height: 1;
  color: rgb(244 114 182 / 0.55);
  letter-spacing: 0.2em;
}

.tv-home-rank,
.tv-home-feed {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  min-height: 3.2rem;
  padding: 0.55rem 0.7rem;
  border: 1px solid rgb(244 114 182 / 0.4);
  border-radius: 12px;
  background: rgb(255 250 243 / 0.92);
  color: #831843 !important;
  text-decoration: none !important;
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
  box-sizing: border-box;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.7);
}

/* Feed rows fill leftover space evenly; rank rows keep natural hierarchy */
.tv-home-feed {
  flex: 1 1 0;
}

.tv-home-rank {
  flex: 0 0 auto;
}

.tv-home-rank:hover,
.tv-home-feed:hover {
  border-color: rgb(236 72 153 / 0.75);
  background: #fff;
  box-shadow:
    0 4px 12px rgb(244 114 182 / 0.18),
    inset 0 1px 0 rgb(255 255 255 / 0.85);
}

/* Top donors: 1st largest, 2nd mid, 3–5 equal — without stretching the list */
.tv-home-rank--1 {
  min-height: 4.35rem;
  padding: 0.75rem 0.85rem;
  gap: 0.7rem;
  border-color: rgba(251, 191, 36, 0.75);
  background:
    radial-gradient(ellipse at 0% 50%, rgba(251, 191, 36, 0.22) 0%, transparent 55%),
    #fffaf3;
  box-shadow:
    inset 0 0 18px rgba(251, 191, 36, 0.12),
    0 4px 14px rgb(190 24 93 / 0.12);
}

.tv-home-rank--2 {
  min-height: 3.65rem;
  padding: 0.62rem 0.78rem;
  border-color: rgba(203, 213, 225, 0.85);
  background:
    radial-gradient(ellipse at 0% 50%, rgba(203, 213, 225, 0.35) 0%, transparent 55%),
    #fffaf3;
  box-shadow: inset 0 0 12px rgba(203, 213, 225, 0.2);
}

.tv-home-rank--3,
.tv-home-rank--4,
.tv-home-rank--5 {
  min-height: 3.15rem;
}

.tv-home-rank--3 {
  border-color: rgba(180, 83, 9, 0.5);
}

.tv-home-rank__n {
  flex-shrink: 0;
  width: 1.35rem;
  font-family: "Titan One", sans-serif;
  font-size: 1.1rem;
  color: #db2777;
  text-align: center;
}

.tv-home-rank--1 .tv-home-rank__n {
  width: 1.6rem;
  font-size: 1.45rem;
  color: #d97706;
  text-shadow: 0 0 10px rgba(251, 191, 36, 0.35);
}

.tv-home-rank--2 .tv-home-rank__n {
  width: 1.45rem;
  font-size: 1.25rem;
  color: #64748b;
}

.tv-home-rank__avatar,
.tv-home-feed__avatar {
  border-radius: 8px !important;
  border: 1px solid rgb(244 114 182 / 0.45);
  flex-shrink: 0;
}

.tv-home-rank--1 .tv-home-rank__avatar {
  width: 44px !important;
  height: 44px !important;
  border-radius: 10px !important;
  border-color: rgba(251, 191, 36, 0.55);
}

.tv-home-rank--2 .tv-home-rank__avatar {
  width: 38px !important;
  height: 38px !important;
  border-radius: 9px !important;
}

.tv-home-rank__meta {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.25rem;
}

.tv-home-rank__name {
  font-family: "Titan One", sans-serif;
  font-size: 1.05rem;
  line-height: 1.1;
  color: #9d174d;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tv-home-rank--1 .tv-home-rank__name {
  font-size: 1.28rem;
  letter-spacing: 0.02em;
}

.tv-home-rank--2 .tv-home-rank__name {
  font-size: 1.14rem;
}

.tv-home-rank__bar {
  display: block;
  height: 4px;
  border-radius: 999px;
  background: rgb(249 145 191 / 0.28);
  border: 1px solid rgb(244 114 182 / 0.25);
  overflow: hidden;
}

.tv-home-rank--1 .tv-home-rank__bar {
  height: 6px;
}

.tv-home-rank--2 .tv-home-rank__bar {
  height: 5px;
}

.tv-home-rank__bar > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #fbbf24, #f59e0b);
}

.tv-home-rank__amount {
  flex-shrink: 0;
  font-family: "Titan One", sans-serif;
  font-size: 1rem;
  color: #15803d;
}

.tv-home-rank--1 .tv-home-rank__amount {
  font-size: 1.2rem;
  color: #166534;
  text-shadow: none;
}

.tv-home-rank--2 .tv-home-rank__amount {
  font-size: 1.08rem;
}

.tv-home-feed__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  flex: 1;
  font-family: "Titan One", sans-serif;
  line-height: 1.15;
}

.tv-home-feed__text strong {
  font-size: 1.08rem;
  font-weight: 400;
  color: #9d174d;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tv-home-feed__text span {
  font-size: 0.98rem;
  color: rgb(131 24 67 / 0.7);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Credit CTA — sakura pink + cream */

.tv-home-credit {
  padding-top: 0.85rem;
  padding-bottom: 1.75rem;
}

.tv-home-credit__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 1fr);
  gap: 1.25rem;
  align-items: center;
  padding: 1.35rem 1.5rem 1.5rem;
  border: 3px solid rgb(249 145 191 / 0.85);
  border-radius: 4px;
  background:
    linear-gradient(
      145deg,
      #fffaf3 0%,
      #fff1e6 32%,
      #ffe8f1 68%,
      #fbcfe8 100%
    );
  box-shadow:
    6px 6px 0 rgb(157 23 77 / 0.28),
    inset 0 1px 0 rgb(255 255 255 / 0.72),
    inset 0 -16px 36px rgb(244 114 182 / 0.12);
  overflow: visible;
  position: relative;
}

.tv-home-credit__inner::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 16% 18%, rgb(255 255 255 / 0.55) 0%, transparent 42%),
    radial-gradient(ellipse at 88% 78%, rgb(244 114 182 / 0.18) 0%, transparent 48%),
    repeating-linear-gradient(
      0deg,
      transparent 0 3px,
      rgb(157 23 77 / 0.03) 3px 4px
    );
  opacity: 0.9;
}

.tv-home-credit__copy {
  position: relative;
  z-index: 2;
  max-width: none;
  justify-self: stretch;
  width: 100%;
  padding-left: 0.15rem;
}

body.retro-tv-site .retro-tv__viewport .tv-home-credit__title {
  margin: 0 0 0.75rem;
  font-family: "Titan One", sans-serif !important;
  font-size: clamp(2.35rem, 4.8vw, 3.55rem) !important;
  line-height: 1.02 !important;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #9d174d;
  text-shadow:
    2px 2px 0 rgb(255 250 243 / 0.9),
    0 0 18px rgb(244 114 182 / 0.25);
}

body.retro-tv-site .retro-tv__viewport .tv-home-credit__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-width: min(100%, 360px);
  min-height: 3.85rem;
  padding: 1rem 2.1rem;
  border: none !important;
  border-radius: 999px !important;
  background:
    linear-gradient(90deg, #be185d 0%, #f991bf 48%, #ec4899 100%) !important;
  color: #fff !important;
  text-decoration: none !important;
  font-family: "Titan One", sans-serif !important;
  font-size: clamp(1.35rem, 2.4vw, 1.85rem) !important;
  line-height: 1 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-shadow: 0 2px 0 rgba(0, 0, 0, 0.28);
  box-shadow:
    0 8px 22px rgb(190 24 93 / 0.28),
    inset 0 1px 0 rgb(255 255 255 / 0.35) !important;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    filter 0.18s ease;
}

.tv-home-credit__btn-idle,
.tv-home-credit__btn-buy {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: 400;
  letter-spacing: inherit;
}

.tv-home-credit__btn-idle {
  position: relative;
  z-index: 2;
  color: #fff;
  transition: opacity 0.18s ease, transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

.tv-home-credit__btn-buy {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  border-radius: inherit;
  overflow: hidden;
  background:
    linear-gradient(90deg, #9d174d 0%, #db2777 42%, #f472b6 100%);
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / 0.32);
}

.tv-home-credit__btn-buy::after {
  content: "";
  position: absolute;
  inset: -40% auto -40% -55%;
  width: 42%;
  transform: skewX(-18deg);
  background: linear-gradient(90deg, transparent, rgb(255 250 243 / 0.65), transparent);
  opacity: 0;
}

.tv-home-credit__btn-main,
.tv-home-credit__btn-ghost {
  font-family: inherit !important;
  font-size: inherit !important;
  letter-spacing: inherit;
  white-space: nowrap;
  text-transform: uppercase;
}

.tv-home-credit__btn-main {
  position: relative;
  z-index: 2;
  color: #fffaf3;
  text-shadow: 0 2px 0 rgba(0, 0, 0, 0.28);
}

.tv-home-credit__btn-ghost {
  display: none;
}

body.retro-tv-site .retro-tv__viewport .tv-home-credit__btn:hover,
body.retro-tv-site .retro-tv__viewport .tv-home-credit__btn:focus-visible {
  filter: brightness(1.04);
  transform: translateY(-2px) scale(1.02);
  color: #fff !important;
  box-shadow:
    0 12px 28px rgb(157 23 77 / 0.32),
    0 0 24px rgb(244 114 182 / 0.35),
    inset 0 1px 0 rgb(255 255 255 / 0.4) !important;
  outline: none;
}

body.retro-tv-site .retro-tv__viewport .tv-home-credit__btn:hover .tv-home-credit__btn-idle,
body.retro-tv-site .retro-tv__viewport .tv-home-credit__btn:focus-visible .tv-home-credit__btn-idle {
  opacity: 0;
  transform: translateX(14px);
}

body.retro-tv-site .retro-tv__viewport .tv-home-credit__btn:hover .tv-home-credit__btn-buy,
body.retro-tv-site .retro-tv__viewport .tv-home-credit__btn:focus-visible .tv-home-credit__btn-buy {
  opacity: 1;
  animation: tvNavCreditBuyIn 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

body.retro-tv-site .retro-tv__viewport .tv-home-credit__btn:hover .tv-home-credit__btn-buy::after,
body.retro-tv-site .retro-tv__viewport .tv-home-credit__btn:focus-visible .tv-home-credit__btn-buy::after {
  opacity: 1;
  animation: tvNavCreditShimmer 1.15s ease-in-out infinite;
}

body.retro-tv-site .retro-tv__viewport .tv-home-credit__btn:active {
  transform: translateY(1px) scale(0.99);
  box-shadow:
    0 4px 14px rgb(157 23 77 / 0.28),
    inset 0 1px 0 rgb(255 255 255 / 0.28) !important;
}

@media (prefers-reduced-motion: reduce) {
  .tv-home-credit__btn-idle,
  .tv-home-credit__btn-buy,
  .tv-home-credit__btn-buy::after {
    transition: none !important;
    animation: none !important;
  }
}

.tv-home-credit__lead {
  margin: 0 0 0.25rem;
  font-family: "Titan One", sans-serif;
  font-size: 1.55rem;
  line-height: 1.25;
  color: #831843;
  max-width: none;
  text-shadow: 1px 1px 0 rgb(255 250 243 / 0.75);
}

.tv-home-credit__lead--soft {
  margin-bottom: 1.15rem;
  color: rgb(131 24 67 / 0.78);
  font-size: 1.4rem;
}

.tv-home-credit__perks {
  list-style: none;
  margin: 0 0 1.35rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  max-width: none;
  width: 100%;
}

.tv-home-credit__perks li {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 0.85rem 1.1rem;
  border: 2px solid rgb(244 114 182 / 0.45);
  background: rgb(255 250 243 / 0.72);
  font-family: "Titan One", sans-serif;
  font-size: 1.5rem;
  line-height: 1.15;
  color: #9d174d;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.55);
}

.tv-home-credit__perks i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.9rem;
  height: 1.9rem;
  flex-shrink: 0;
  color: #db2777;
  font-size: 1.2rem;
  text-shadow: 1px 1px 0 rgb(255 250 243 / 0.8);
}

.tv-home-credit__art {
  position: relative;
  z-index: 1;
  min-height: 17rem;
  align-self: stretch;
  overflow: hidden;
  border: 3px solid rgb(249 145 191 / 0.65);
  box-shadow:
    4px 4px 0 rgb(157 23 77 / 0.28),
    inset 0 0 40px rgb(255 250 243 / 0.08);
  background: #fff1e6;
}

.tv-home-credit__video {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: none;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
}

.tv-home-credit__frame {
  width: 100%;
  min-height: 15rem;
  height: 100%;
  border: 3px solid rgba(255, 255, 255, 0.35);
  background-size: cover;
  background-position: center;
  box-shadow:
    4px 4px 0 rgba(0, 0, 0, 0.35),
    inset 0 0 40px rgba(0, 0, 0, 0.35);
}

@media (max-width: 1100px) {
  .tv-home-boards {
    grid-template-columns: 1fr;
  }

  .tv-home-board {
    min-height: 22rem;
  }

  .tv-home-credit__inner {
    grid-template-columns: 1fr;
    overflow: hidden;
  }

  .tv-home-credit__copy {
    max-width: none;
    justify-self: stretch;
  }

  .tv-home-credit__art {
    order: -1;
    min-height: clamp(13rem, 52vw, 18rem);
  }

  .tv-home-credit__btn {
    width: 100%;
  }
}
/* Hide old homepage pieces if cached somehow */
body.retro-tv-site .home-hero,
body.retro-tv-site .tv-channels,
body.retro-tv-site .retro-tv-below {
  display: none !important;
}

/* ============================================================
   Retro TV ? Store categories
   ============================================================ */

.tv-store {
  width: 100%;
}

.tv-store__section {
  padding-top: 1.15rem;
  padding-bottom: 1.5rem;
}

.tv-store__section--nested {
  padding-left: 0;
  padding-right: 0;
  margin-bottom: 1.25rem;
}

.tv-store__head {
  margin-bottom: 1rem;
}

.tv-store__ch {
  margin: 0 0 0.45rem;
  font-family: "Titan One", sans-serif;
  font-size: 0.65rem;
  letter-spacing: 0.08em;
  color: rgb(var(--color-indigo-300) / 0.9);
  text-shadow: 1px 1px 0 #000;
}

.tv-store__title {
  margin: 0;
  font-family: "Titan One", sans-serif !important;
  font-size: clamp(1.55rem, 3vw, 2.15rem) !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em;
  color: #fff !important;
  text-shadow:
    -1px -1px 0 rgb(26 10 18 / 0.95),
    1px -1px 0 rgb(26 10 18 / 0.95),
    -1px 1px 0 rgb(26 10 18 / 0.95),
    1px 1px 0 rgb(26 10 18 / 0.95),
    0 2px 0 #000,
    2px 3px 0 rgb(0 0 0 / 0.8),
    0 6px 16px rgb(0 0 0 / 0.4) !important;
  filter: none !important;
}

.tv-store__lead {
  margin: 0.45rem 0 0;
  font-family: "Titan One", sans-serif;
  font-size: 1.35rem;
  color: rgb(var(--color-indigo-200) / 0.72);
}

.tv-store__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.95rem;
}

.tv-store-cat {
  position: relative;
  display: flex;
  flex-direction: column;
  border: 2px solid rgb(var(--color-indigo-400) / 0.45);
  border-radius: 16px !important;
  background: rgb(0 0 0 / 0.55);
  box-shadow:
    0 8px 22px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgb(255 255 255 / 0.05);
  text-decoration: none !important;
  overflow: hidden;
  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    filter 0.2s ease;
}

.tv-store-cat__badge {
  position: absolute;
  top: 0.65rem;
  left: 0.65rem;
  z-index: 4;
  padding: 0.4rem 0.65rem;
  border-radius: 10px;
  font-family: "Titan One", sans-serif;
  font-size: 1.05rem;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #e8f1ff;
  background: rgb(0 0 0 / 0.7);
  border: 1px solid rgb(var(--color-indigo-400) / 0.45);
  text-shadow: none;
  pointer-events: none;
}

.tv-store-cat:hover,
.tv-store-cat:focus-visible {
  transform: translateY(-3px);
  border-color: rgb(var(--color-indigo-300) / 0.75);
  box-shadow:
    0 14px 28px rgba(0, 0, 0, 0.4),
    0 0 18px rgb(var(--color-indigo-500) / 0.18);
  filter: brightness(1.05);
  outline: none;
}

.tv-store-cat:active {
  transform: translateY(0);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
}

.tv-store-cat__screen {
  position: relative;
  height: 11.5rem;
  overflow: hidden;
  background: #05070c;
  border-bottom: 2px solid rgb(var(--color-indigo-500) / 0.35);
}

.tv-store-cat__img {
  position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  image-rendering: auto;
  transform: scale(1.02);
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  filter: saturate(0.85) contrast(1.05);
}

.tv-store-cat:hover .tv-store-cat__img,
.tv-store-cat:focus-visible .tv-store-cat__img {
  transform: scale(1.1);
}

.tv-store-cat__scan {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(
    0deg,
    transparent 0,
    transparent 2px,
    rgb(0 0 0 / 0.28) 2px,
    rgb(0 0 0 / 0.28) 3px
  );
  opacity: 0.85;
}

.tv-store-cat__glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 50% 0%, rgb(var(--color-indigo-400) / 0.18) 0%, transparent 55%),
    linear-gradient(180deg, transparent 45%, rgb(0 0 0 / 0.55) 100%);
}

.tv-store-cat__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 3.25rem;
  padding: 0.85rem 0.9rem;
  background:
    linear-gradient(180deg, rgb(var(--color-indigo-500) / 0.14) 0%, rgb(0 0 0 / 0.62) 100%);
}

.tv-store-cat__name {
  font-family: "Titan One", sans-serif;
  font-size: 1.55rem;
  line-height: 1.15;
  letter-spacing: 0.03em;
  color: #f4f7ff;
  text-shadow: 1px 1px 0 #000;
}

.tv-store-cat__go {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border: 1px solid rgb(var(--color-indigo-400) / 0.45);
  border-radius: 10px;
  background: rgb(var(--color-indigo-500) / 0.22);
  color: rgb(var(--color-indigo-100));
  font-size: 1.1rem;
  box-shadow: none;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.tv-store-cat:hover .tv-store-cat__go,
.tv-store-cat:focus-visible .tv-store-cat__go {
  background: rgb(var(--color-indigo-500) / 0.45);
  border-color: rgb(var(--color-indigo-300) / 0.9);
  color: #fff;
}

@media (max-width: 960px) {
  .tv-store__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .tv-store__section {
    padding: 0.85rem 1.1rem 1.15rem;
  }

  .tv-store__grid {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .tv-store-cat__screen {
    height: 10rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tv-store-cat,
  .tv-store-cat__img {
    transition: none;
  }

  .tv-store-cat:hover .tv-store-cat__img,
  .tv-store-cat:focus-visible .tv-store-cat__img {
    transform: scale(1.02);
  }
}

/* ============================================================
   Retro TV ? Shop products / back / gaming night
   ============================================================ */

.tv-shop__section {
  padding-top: 1.15rem;
  padding-bottom: 1.5rem;
}

.tv-shop__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.85rem 1.1rem;
  margin-bottom: 1.15rem;
}

.tv-back {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.65rem 1.2rem;
  border: 1px solid rgb(var(--color-indigo-300) / 0.35);
  border-radius: 999px !important;
  background:
    linear-gradient(180deg, rgb(18 28 48 / 0.85) 0%, rgb(6 10 20 / 0.9) 100%);
  color: #e8f1ff !important;
  font-family: "Titan One", sans-serif;
  font-size: 1.15rem;
  letter-spacing: 0.03em;
  text-decoration: none !important;
  box-shadow:
    0 6px 18px rgb(0 0 0 / 0.28),
    inset 0 1px 0 rgb(255 255 255 / 0.06);
  transition:
    transform 0.16s ease,
    border-color 0.16s ease,
    box-shadow 0.16s ease,
    filter 0.16s ease;
}

.tv-back:hover,
.tv-back:focus-visible {
  transform: translateY(-2px);
  border-color: rgb(var(--color-indigo-200) / 0.55);
  box-shadow:
    0 10px 24px rgb(0 0 0 / 0.32),
    inset 0 1px 0 rgb(255 255 255 / 0.08);
  filter: brightness(1.06);
  outline: none;
}

.tv-back:active {
  transform: translateY(0);
  box-shadow:
    0 3px 10px rgb(0 0 0 / 0.28),
    inset 0 1px 0 rgb(255 255 255 / 0.04);
}

.tv-back i {
  font-size: 0.85rem;
}

.tv-shop__heading {
  min-width: 0;
}

.tv-shop__ch {
  margin: 0 0 0.35rem;
  font-family: "Titan One", sans-serif !important;
  font-size: 1.2rem !important;
  letter-spacing: 0.1em;
  color: #a5b4fc !important;
  text-shadow: 1px 1px 0 #000;
  text-transform: uppercase;
}

.tv-shop__title {
  margin: 0;
  font-family: "Titan One", sans-serif !important;
  font-size: clamp(1.55rem, 3vw, 2.15rem) !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em;
  color: #fff !important;
  text-shadow:
    -1px -1px 0 rgb(26 10 18 / 0.95),
    1px -1px 0 rgb(26 10 18 / 0.95),
    -1px 1px 0 rgb(26 10 18 / 0.95),
    1px 1px 0 rgb(26 10 18 / 0.95),
    0 2px 0 #000,
    2px 3px 0 rgb(0 0 0 / 0.8),
    0 6px 16px rgb(0 0 0 / 0.4) !important;
  filter: none !important;
}

.tv-shop__subtitle {
  margin: 0 0 0.95rem;
  font-family: "Titan One", sans-serif !important;
  font-size: 0.85rem !important;
  line-height: 1.5 !important;
  color: #fff !important;
  text-shadow: 2px 2px 0 #000;
}

.tv-shop__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
  gap: 1.15rem;
  align-items: start;
}

.tv-product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(168px, 196px));
  gap: 0.75rem;
  justify-content: start;
}

.tv-product-grid--4 {
  grid-template-columns: repeat(auto-fill, minmax(156px, 180px));
}

.tv-product {
  display: flex;
  flex-direction: column;
  max-width: 196px;
  border: 2px solid rgb(var(--color-indigo-400) / 0.5);
  border-radius: 16px !important;
  background: rgb(0 0 0 / 0.55);
  box-shadow:
    0 8px 22px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgb(255 255 255 / 0.05);
  overflow: hidden;
}

.tv-product__media {
  position: relative;
  display: block;
  text-decoration: none !important;
  border-bottom: 2px solid rgb(var(--color-indigo-500) / 0.3);
  background: #071018;
}

.tv-product__frame {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  width: 100%;
  padding: 0.55rem;
  box-sizing: border-box;
  background:
    radial-gradient(ellipse at 50% 30%, rgb(var(--color-indigo-500) / 0.16) 0%, transparent 60%),
    #0a1420;
}

.tv-product__frame--lg {
  aspect-ratio: 1 / 1;
  max-width: 220px;
  border: 2px solid rgb(var(--color-indigo-400) / 0.55);
  border-radius: 14px;
}

.tv-product__img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
  image-rendering: auto;
  transition: transform 0.35s ease;
}

.tv-product__media:hover .tv-product__img,
.tv-product__media:focus-visible .tv-product__img {
  transform: scale(1.06);
}

.tv-product__scan {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(
    0deg,
    transparent 0,
    transparent 2px,
    rgb(0 0 0 / 0.22) 2px,
    rgb(0 0 0 / 0.22) 3px
  );
  opacity: 0.7;
}

body.retro-tv-site .retro-tv__viewport .tv-product__name,
.tv-product__name {
  margin: 0;
  font-family: "Titan One", sans-serif !important;
  font-size: 1.25rem !important;
  line-height: 1.15 !important;
  letter-spacing: 0.03em !important;
  color: #fff !important;
  text-shadow: 1px 1px 0 #000 !important;
}

.tv-product__name a {
  color: inherit !important;
  text-decoration: none !important;
  font: inherit !important;
}

.tv-product__name a:hover {
  color: rgb(var(--color-indigo-200)) !important;
}

body.retro-tv-site .retro-tv__viewport .tv-product__badge,
.tv-product__badge {
  position: absolute;
  top: 0.4rem;
  left: 0.4rem;
  z-index: 3;
  max-width: calc(100% - 0.8rem);
  padding: 0.28rem 0.5rem;
  border: 1px solid rgb(0 0 0 / 0.45);
  border-radius: 10px !important;
  background: #16a34a;
  color: #fff !important;
  font-family: "Titan One", sans-serif !important;
  font-size: 0.95rem !important;
  line-height: 1.1 !important;
  letter-spacing: 0.04em;
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.45);
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.35);
}

.tv-product__badge--stock {
  top: auto;
  bottom: 0.55rem;
  background: #ea580c;
}

.tv-product__badge.is-out,
.tv-product__badge--stock.is-out {
  background: #dc2626;
}

.tv-product__badge--static {
  position: static;
  display: inline-flex;
  margin: 0;
}

.tv-product__body {
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
  padding: 0.6rem 0.65rem 0.7rem;
  flex: 1;
}

.tv-product__price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.3rem 0.45rem;
}

.tv-product__price-now {
  font-family: "Titan One", sans-serif;
  font-size: 1.2rem;
  color: #f472b6;
  text-shadow: 1px 1px 0 #000;
}

.tv-product__price-old {
  font-family: "Titan One", sans-serif;
  font-size: 0.95rem;
  color: rgb(255 255 255 / 0.45);
  text-decoration: line-through;
}

.tv-product__stock {
  margin: 0;
  font-family: "Titan One", sans-serif;
  font-size: 0.95rem;
  color: #4ade80;
}

.tv-product__stock.is-out {
  color: #f87171;
}

.tv-product__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: auto;
  width: 100%;
  padding: 0.5rem 0.65rem;
  border: 1px solid rgb(0 0 0 / 0.35) !important;
  border-radius: 12px !important;
  background: var(--tv-btn-primary-gradient) !important;
  color: #fff !important;
  font-family: "Titan One", sans-serif !important;
  font-size: 1.15rem !important;
  letter-spacing: 0.06em;
  text-decoration: none !important;
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.35);
  box-shadow:
    0 3px 0 rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.22);
  cursor: pointer;
  transition: transform 0.12s ease, filter 0.12s ease;
}

.tv-product__btn:hover,
.tv-product__btn:focus-visible {
  filter: brightness(1.08);
  transform: translateY(-1px);
  outline: none;
}

.tv-product__btn:active {
  transform: translateY(2px);
  box-shadow:
    0 1px 0 rgba(0, 0, 0, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.tv-product__btn.is-disabled {
  opacity: 0.45;
  pointer-events: none;
  filter: grayscale(0.35);
}

.tv-product__btn--block {
  width: 100%;
}

.tv-product-detail__grid {
  display: grid;
  grid-template-columns: minmax(180px, 280px) minmax(0, 1fr);
  gap: 1.15rem;
  align-items: stretch;
}

.tv-product-detail__media {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid rgb(var(--color-indigo-500) / 0.35);
  border-radius: 14px;
  background: #071018;
  overflow: hidden;
  min-height: 16rem;
}

.tv-product__frame--detail {
  aspect-ratio: 1 / 1;
  width: 100%;
  max-width: 240px;
  padding: 1rem;
  border: none;
  background: transparent;
}

.tv-product-detail__info {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 0.25rem 0.15rem;
}

.tv-product-detail__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  margin-top: auto;
  padding-top: 1rem;
  border-top: 2px solid rgb(var(--color-indigo-500) / 0.28);
}

.tv-product-detail__footer .tv-product__btn {
  width: auto;
  min-width: 10rem;
}

.tv-product__price-now.is-credit {
  color: #4ade80;
}

body.retro-tv-site .retro-tv__viewport .tv-shop__details,
body.retro-tv-site .retro-tv__viewport .tv-shop__details p,
body.retro-tv-site .retro-tv__viewport .tv-shop__details li,
body.retro-tv-site .retro-tv__viewport .tv-shop__details ul {
  font-family: "Titan One", sans-serif !important;
  font-size: 1.3rem !important;
  line-height: 1.35 !important;
  color: rgb(255 255 255 / 0.88) !important;
  text-shadow: none !important;
  letter-spacing: 0.02em !important;
}

body.retro-tv-site .retro-tv__viewport .tv-shop__details ul {
  margin: 0.55rem 0 0;
  padding-left: 1.2rem;
}

@media (max-width: 760px) {
  .tv-product-detail__grid {
    grid-template-columns: 1fr;
  }

  .tv-product-detail__footer {
    flex-direction: column;
    align-items: stretch;
  }

  .tv-product-detail__footer .tv-product__btn {
    width: 100%;
  }
}

.tv-shop__side {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.tv-shop__side-title {
  margin: 0;
  font-family: "Titan One", sans-serif !important;
  font-size: 0.62rem !important;
  line-height: 1.5 !important;
  color: #fff !important;
  text-shadow: 1px 1px 0 #000;
}

.tv-shop__cats {
  display: flex;
  flex-direction: column;
  border: 2px solid rgb(var(--color-indigo-400) / 0.55);
  background: rgb(0 0 0 / 0.45);
  box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.3);
}

.tv-shop__cat {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.75rem 0.85rem;
  border-bottom: 1px solid rgb(var(--color-indigo-500) / 0.25);
  color: #e8f1ff !important;
  font-family: "Titan One", sans-serif;
  font-size: 1.25rem;
  text-decoration: none !important;
  transition: background 0.15s ease;
}

.tv-shop__cat:last-child {
  border-bottom: none;
}

.tv-shop__cat:hover,
.tv-shop__cat.is-active {
  background: rgb(var(--color-indigo-500) / 0.22);
}

.tv-shop__cat.is-active {
  box-shadow: inset 3px 0 0 rgb(var(--color-indigo-400));
}

.tv-panel {
  border: 1px solid rgb(var(--color-indigo-400) / 0.35);
  border-radius: 16px;
  background: rgb(0 0 0 / 0.4);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
  padding: 1rem;
}

.tv-shop__detail {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
  gap: 1rem;
  align-items: start;
}

.tv-shop__detail-grid {
  display: grid;
  grid-template-columns: minmax(140px, 220px) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}

.tv-shop__meta {
  margin: 0 0 0.35rem;
  font-family: "Titan One", sans-serif;
  font-size: 1.15rem;
  color: rgb(var(--color-indigo-200) / 0.75);
  text-transform: uppercase;
}

.tv-shop__detail-name {
  margin: 0 0 0.65rem;
  font-family: "Titan One", sans-serif !important;
  font-size: 0.85rem !important;
  line-height: 1.5 !important;
  color: #fff !important;
  text-shadow: 2px 2px 0 #000;
}

.tv-shop__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.tv-shop__details,
.tv-shop__details p,
.tv-shop__details li {
  font-family: "Titan One", sans-serif;
  font-size: 1.2rem;
  color: rgb(255 255 255 / 0.85);
}

.tv-shop__summary-rows {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  margin: 0.85rem 0 1rem;
}

.tv-shop__summary-row {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  font-family: "Titan One", sans-serif;
  font-size: 1.25rem;
  color: rgb(255 255 255 / 0.85);
  border-bottom: 1px solid rgb(var(--color-indigo-500) / 0.2);
  padding-bottom: 0.4rem;
}

.tv-shop__summary-row.is-total {
  border-bottom: none;
  color: #4ade80;
  font-size: 1.45rem;
}

.tv-shop__terms {
  display: flex;
  gap: 0.55rem;
  align-items: flex-start;
  margin-bottom: 0.85rem;
  font-family: "Titan One", sans-serif;
  font-size: 1.1rem;
  color: rgb(255 255 255 / 0.75);
}

.tv-shop__progress {
  margin-top: 0.55rem;
  height: 1.75rem;
  border: 2px solid rgb(var(--color-indigo-400) / 0.55);
  background: rgb(0 0 0 / 0.45);
}

.tv-shop__progress > span {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  background: var(--tv-btn-primary-gradient);
  font-family: "Titan One", sans-serif;
  font-size: 1.1rem;
  color: #fff;
}

.tv-shop__side-text {
  margin: 0.35rem 0 0;
  font-family: "Titan One", sans-serif;
  font-size: 1.15rem;
  color: rgb(255 255 255 / 0.7);
}

@media (max-width: 1100px) {
  .tv-product-grid--4 {
    grid-template-columns: repeat(auto-fill, minmax(150px, 172px));
  }
}

@media (max-width: 960px) {
  .tv-shop__layout,
  .tv-shop__detail {
    grid-template-columns: 1fr;
  }

  .tv-product-grid,
  .tv-product-grid--4 {
    grid-template-columns: repeat(auto-fill, minmax(150px, 180px));
  }
}

@media (max-width: 560px) {
  .tv-shop__section {
    padding: 0.85rem 1.1rem 1.15rem;
  }

  .tv-product-grid,
  .tv-product-grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tv-product {
    max-width: none;
  }

  .tv-shop__detail-grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   Retro TV ? Gaming Night countdown (off-air)
   ============================================================ */

.tv-gn-wait {
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.tv-gn-wait__stage {
  flex: 1;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  min-height: calc(100dvh - 2rem);
  padding: 3.25rem 1rem 2rem;
  box-sizing: border-box;
}

.tv-gn-wait__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(100%, 44rem);
  gap: 0.85rem;
}

.tv-gn-wait__header {
  width: 100%;
  text-align: center;
}

.tv-gn-wait__title.tv-shop__title,
.tv-gn-wait__header .tv-shop__title {
  text-align: center;
  font-size: clamp(1.85rem, 4.2vw, 2.75rem) !important;
  line-height: 1.15 !important;
  letter-spacing: 0.04em;
  color: #fff !important;
  text-shadow:
    -2px -2px 0 #1a0a12,
    2px -2px 0 #1a0a12,
    -2px 2px 0 #1a0a12,
    2px 2px 0 #1a0a12,
    0 3px 0 #000,
    3px 4px 0 rgb(0 0 0 / 0.85),
    0 8px 20px rgb(0 0 0 / 0.45) !important;
}

.tv-gn-wait__panel {
  width: 100%;
  margin: 0;
  padding: 2rem 1.75rem 2.15rem;
  border: 2px solid rgb(249 145 191 / 0.4);
  border-radius: 18px;
  background: linear-gradient(180deg, #1a1218 0%, #120c12 100%);
  box-shadow:
    0 12px 32px rgba(0, 0, 0, 0.4),
    inset 0 1px 0 rgb(255 255 255 / 0.04);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.tv-gn-wait__panel::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at 50% 0%, rgb(249 145 191 / 0.12) 0%, transparent 55%);
  opacity: 0.9;
}

.tv-gn-wait__status {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 1.15rem;
  padding: 0.55rem 1rem;
  border: 1px solid rgb(248 113 113 / 0.4);
  border-radius: 999px;
  background: rgb(127 29 29 / 0.28);
  font-family: "Titan One", sans-serif !important;
  font-size: 1.35rem !important;
  line-height: 1 !important;
  letter-spacing: 0.1em;
  color: #fecaca !important;
  text-shadow: none !important;
}

.tv-gn-wait__led {
  width: 0.65rem;
  height: 0.65rem;
  flex-shrink: 0;
  border-radius: 999px;
  background: #f87171;
  box-shadow: 0 0 10px rgb(248 113 113 / 0.9);
  animation: tvGnLedBlink 1.2s steps(2, end) infinite;
}

@keyframes tvGnLedBlink {
  50% { opacity: 0.25; }
}

.tv-gn-wait__info {
  position: relative;
  z-index: 1;
  margin: 0 auto 0.85rem;
  max-width: 34rem;
  font-family: "Titan One", sans-serif !important;
  font-size: 1.65rem !important;
  line-height: 1.35 !important;
  color: #e8f1ff !important;
  text-shadow: 1px 1px 0 #000 !important;
  letter-spacing: 0.02em !important;
}

.tv-gn-wait__hint {
  position: relative;
  z-index: 1;
  margin: 0 auto 1.4rem;
  font-family: "Titan One", sans-serif !important;
  font-size: 1.4rem !important;
  color: rgb(251 207 232 / 0.9) !important;
  text-shadow: none !important;
}

.tv-countdown {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;
  gap: 0.45rem 0.55rem;
}

.tv-countdown__unit {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  min-width: 5.5rem;
}

.tv-countdown__value {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 5.25rem;
  padding: 0.9rem 0.55rem;
  border: 1px solid rgb(249 145 191 / 0.45);
  border-radius: 14px;
  background: #0e0a0e;
  box-shadow:
    inset 0 0 16px rgb(249 145 191 / 0.12),
    0 4px 12px rgba(0, 0, 0, 0.28);
  font-family: "Titan One", sans-serif;
  font-size: clamp(1.15rem, 2.8vw, 1.65rem);
  line-height: 1;
  color: #ffc2dd;
  text-shadow: 0 0 10px rgb(249 145 191 / 0.4), 2px 2px 0 #000;
}

.tv-countdown__label {
  font-family: "Titan One", sans-serif;
  font-size: 1.3rem;
  letter-spacing: 0.06em;
  color: rgb(251 207 232 / 0.88);
  text-transform: uppercase;
}

.tv-countdown__sep {
  margin-top: 0.95rem;
  font-family: "Titan One", sans-serif;
  font-size: 1.25rem;
  color: rgb(249 145 191 / 0.75);
  text-shadow: 1px 1px 0 #000;
}

.tv-gn-wait__foot {
  position: relative;
  z-index: 1;
  margin: 1.15rem 0 0;
  font-family: "Titan One", sans-serif;
  font-size: 1.35rem;
  color: #ffc2dd;
}

@media (max-width: 560px) {
  .tv-gn-wait__panel {
    padding: 1.5rem 1rem 1.65rem;
  }

  .tv-gn-wait__status {
    font-size: 1.35rem !important;
  }

  .tv-countdown__sep {
    display: none;
  }

  .tv-countdown {
    gap: 0.75rem;
  }

  .tv-countdown__unit {
    min-width: 42%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tv-gn-wait__led {
    animation: none;
  }

  body.retro-tv-site #header .tv-rail-mid__eq i {
    animation: none;
    transform: none;
  }
}

/* ============================================================
   Retro TV — SweetAlert2 (IP copy & site alerts)
   ============================================================ */

/* SweetAlert2 sets height:auto on body — that collapses the fullscreen TV */
body.retro-tv-site.swal2-shown,
body.retro-tv-site.swal2-height-auto,
body.retro-tv-site--auth.swal2-shown,
body.retro-tv-site--auth.swal2-height-auto,
html.swal2-shown.retro-tv-site,
html.swal2-height-auto.retro-tv-site,
html.swal2-shown.retro-tv-site--auth,
html.swal2-height-auto.retro-tv-site--auth {
  height: 100% !important;
  max-height: 100% !important;
  overflow: hidden !important;
}

body.retro-tv-site.swal2-shown #app,
body.retro-tv-site.swal2-height-auto #app,
body.retro-tv-site--auth.swal2-shown #app,
body.retro-tv-site--auth.swal2-height-auto #app {
  height: 100% !important;
  min-height: 0 !important;
}

body.retro-tv-site .swal2-container {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: rgb(0 0 0 / 0.28) !important;
  z-index: 10050 !important;
}

body.retro-tv-site .swal2-container.swal2-shown {
  background-color: rgb(0 0 0 / 0.28) !important;
}

/* IP copy / lightweight toasts — no fullscreen dim, below header */
body.retro-tv-site .swal2-container.swal2-toast-shown,
body.retro-tv-site .swal2-container:has(.swal2-toast) {
  background: transparent !important;
  backdrop-filter: none !important;
  pointer-events: none !important;
  align-items: flex-start !important;
  padding-top: calc(var(--tv-chrome-h, 4.65rem) + var(--tv-chrome-top, 1.15rem) + 0.65rem) !important;
  box-sizing: border-box !important;
}

body.retro-tv-site .swal2-container.swal2-toast-shown .swal2-popup,
body.retro-tv-site .swal2-toast {
  pointer-events: auto !important;
}

body.retro-tv-site .swal2-popup,
body.retro-tv-site .swal2-popup.tv-swal {
  width: min(92vw, 400px) !important;
  padding: 1.5rem 1.35rem 1.35rem !important;
  border-radius: 16px !important;
  border: 2px solid rgb(var(--color-indigo-400) / 0.45) !important;
  background:
    linear-gradient(180deg, rgb(14 20 34 / 0.98) 0%, rgb(var(--color-voon-900) / 0.97) 100%) !important;
  box-shadow:
    0 12px 40px rgb(0 0 0 / 0.45),
    0 0 0 1px rgb(255 255 255 / 0.04),
    inset 0 1px 0 rgb(255 255 255 / 0.06) !important;
  font-family: "Titan One", sans-serif !important;
  color: #e8eef8 !important;
  position: relative;
  overflow: hidden;
}

body.retro-tv-site .swal2-popup.swal2-toast,
body.retro-tv-site .swal2-toast {
  width: auto !important;
  max-width: min(92vw, 26rem) !important;
  padding: 0.85rem 1.15rem !important;
  margin: 0 auto !important;
  box-shadow:
    0 10px 28px rgb(0 0 0 / 0.4),
    0 0 0 1px rgb(255 255 255 / 0.04),
    inset 0 1px 0 rgb(255 255 255 / 0.06) !important;
}

body.retro-tv-site .swal2-popup::before {
  content: none !important;
  display: none !important;
}

body.retro-tv-site .swal2-popup::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at 50% 0%, rgb(var(--color-indigo-500) / 0.12) 0%, transparent 55%);
  mix-blend-mode: normal;
  opacity: 0.9;
}

body.retro-tv-site .swal2-header {
  padding: 0.65rem 0 0.15rem !important;
}

body.retro-tv-site .swal2-title {
  font-family: "Titan One", sans-serif !important;
  font-size: 0.78rem !important;
  line-height: 1.45 !important;
  letter-spacing: 0.03em;
  color: #f4f7ff !important;
  text-shadow: 0 2px 0 rgba(0, 0, 0, 0.45);
  margin: 0.25rem 0 0.4rem !important;
  padding: 0 !important;
}

body.retro-tv-site .swal2-content,
body.retro-tv-site .swal2-html-container {
  font-family: "Titan One", sans-serif !important;
  font-size: 1.2rem !important;
  line-height: 1.35 !important;
  color: rgb(210 220 240 / 0.92) !important;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.4);
  margin: 0 !important;
  padding: 0 0.25rem 0.2rem !important;
}

/* Replace modern circular success glyph with a CRT status badge.
   SweetAlert keeps ALL icon types in the DOM (most display:none) ?
   never force-show every .swal2-icon.* or ERR/WARN/INFO stack up. */
body.retro-tv-site .swal2-icon {
  display: none !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 999px !important;
  background: transparent !important;
  box-shadow: none !important;
  line-height: 1 !important;
  padding: 0 !important;
}

body.retro-tv-site .swal2-icon::before {
  content: none !important;
}

body.retro-tv-site .swal2-icon.swal2-success.swal2-animate-success-icon,
body.retro-tv-site .swal2-icon.swal2-error.swal2-animate-error-icon,
body.retro-tv-site .swal2-icon.swal2-warning.swal2-animate-warning-icon,
body.retro-tv-site .swal2-icon.swal2-info.swal2-animate-info-icon,
body.retro-tv-site .swal2-icon.swal2-question.swal2-animate-question-icon,
body.retro-tv-site .swal2-icon[style*="display: flex"],
body.retro-tv-site .swal2-icon[style*="display:flex"] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin: 0.35rem auto 0.45rem !important;
  border: 1px solid rgb(var(--color-indigo-400) / 0.35) !important;
  border-radius: 999px !important;
  background: rgb(var(--color-indigo-500) / 0.12) !important;
  box-shadow: none !important;
  padding: 0.35rem 0.85rem !important;
}

body.retro-tv-site .swal2-icon > * {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

body.retro-tv-site .swal2-icon.swal2-success.swal2-animate-success-icon::before,
body.retro-tv-site .swal2-icon.swal2-success[style*="display: flex"]::before,
body.retro-tv-site .swal2-icon.swal2-success[style*="display:flex"]::before {
  content: "OK" !important;
  font-family: "Titan One", sans-serif;
  font-size: 0.95rem;
  letter-spacing: 0.08em;
  color: #7dffb0;
  text-shadow: none;
}

body.retro-tv-site .swal2-icon.swal2-error.swal2-animate-error-icon::before,
body.retro-tv-site .swal2-icon.swal2-error[style*="display: flex"]::before,
body.retro-tv-site .swal2-icon.swal2-error[style*="display:flex"]::before {
  content: "ERR" !important;
  font-family: "Titan One", sans-serif;
  font-size: 0.95rem;
  letter-spacing: 0.08em;
  color: #ff8a8a;
  text-shadow: none;
}

body.retro-tv-site .swal2-icon.swal2-warning.swal2-animate-warning-icon::before,
body.retro-tv-site .swal2-icon.swal2-warning[style*="display: flex"]::before,
body.retro-tv-site .swal2-icon.swal2-warning[style*="display:flex"]::before {
  content: "WARN" !important;
  font-family: "Titan One", sans-serif;
  font-size: 0.9rem;
  letter-spacing: 0.06em;
  color: #ffd27a;
  text-shadow: none;
}

body.retro-tv-site .swal2-icon.swal2-info.swal2-animate-info-icon::before,
body.retro-tv-site .swal2-icon.swal2-info[style*="display: flex"]::before,
body.retro-tv-site .swal2-icon.swal2-info[style*="display:flex"]::before,
body.retro-tv-site .swal2-icon.swal2-question.swal2-animate-question-icon::before,
body.retro-tv-site .swal2-icon.swal2-question[style*="display: flex"]::before,
body.retro-tv-site .swal2-icon.swal2-question[style*="display:flex"]::before {
  content: "INFO" !important;
  font-family: "Titan One", sans-serif;
  font-size: 0.9rem;
  letter-spacing: 0.06em;
  color: rgb(var(--color-indigo-200));
  text-shadow: none;
}

body.retro-tv-site .swal2-actions {
  margin: 0.75rem 0 0 !important;
  gap: 0.55rem;
}

body.retro-tv-site .swal2-actions:empty {
  display: none !important;
  margin: 0 !important;
}

body.retro-tv-site .swal2-title:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
}

body.retro-tv-site .swal2-header:not(:has(.swal2-icon[style*="display: flex"])):not(:has(.swal2-icon[style*="display:flex"])):has(.swal2-title:empty) {
  display: none !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
}

body.retro-tv-site .swal2-confirm,
body.retro-tv-site .swal2-cancel,
body.retro-tv-site .swal2-deny {
  border-radius: 12px !important;
  border: none !important;
  min-width: 6.5rem;
  padding: 0.55rem 1.1rem !important;
  font-family: "Titan One", sans-serif !important;
  font-size: 1.1rem !important;
  letter-spacing: 0.04em;
  text-shadow: none;
  box-shadow:
    0 3px 0 rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.22) !important;
  transition: transform 0.12s ease, filter 0.12s ease !important;
}

body.retro-tv-site .swal2-confirm {
  background: linear-gradient(180deg, #5ee08a 0%, #1f9d55 100%) !important;
  color: #04140a !important;
  font-weight: 700 !important;
}

body.retro-tv-site .swal2-cancel,
body.retro-tv-site .swal2-deny {
  background: linear-gradient(180deg, rgb(70 82 110) 0%, rgb(36 44 64) 100%) !important;
  color: #e8eef8 !important;
}

body.retro-tv-site .swal2-confirm:hover,
body.retro-tv-site .swal2-cancel:hover,
body.retro-tv-site .swal2-deny:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}

body.retro-tv-site .swal2-confirm:focus,
body.retro-tv-site .swal2-cancel:focus,
body.retro-tv-site .swal2-deny:focus {
  box-shadow:
    0 3px 0 rgba(0, 0, 0, 0.35),
    0 0 0 2px rgb(var(--color-indigo-400) / 0.55) !important;
}

body.retro-tv-site .swal2-close {
  border-radius: 10px !important;
  color: rgb(var(--color-indigo-200)) !important;
  font-family: "Titan One", sans-serif !important;
  font-size: 0.7rem !important;
  box-shadow: none !important;
}

body.retro-tv-site .swal2-image {
  border-radius: 12px !important;
  border: 2px solid rgb(var(--color-indigo-500) / 0.35);
}

@keyframes tvSwalIn {
  from {
    opacity: 0;
    transform: scale(0.92) translateY(8px);
    filter: brightness(1.4) contrast(1.2);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
    filter: none;
  }
}

@keyframes tvSwalOut {
  to {
    opacity: 0;
    transform: scale(0.96);
  }
}

body.retro-tv-site .swal2-popup.tv-swal-in,
body.retro-tv-site .swal2-show {
  animation: tvSwalIn 0.28s cubic-bezier(0.22, 1, 0.36, 1) both !important;
}

body.retro-tv-site .swal2-popup.tv-swal-out,
body.retro-tv-site .swal2-hide {
  animation: tvSwalOut 0.18s ease both !important;
}

@media (prefers-reduced-motion: reduce) {
  body.retro-tv-site .swal2-popup.tv-swal-in,
  body.retro-tv-site .swal2-show,
  body.retro-tv-site .swal2-popup.tv-swal-out,
  body.retro-tv-site .swal2-hide {
    animation: none !important;
  }
}

/* ============================================================
   Retro TV ? Credit charge
   ============================================================ */

.tv-credit__section {
  flex: 1;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.tv-credit__stage {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;
  gap: 1.25rem;
  width: 100%;
  max-width: 56rem;
  margin: 0 auto;
  min-height: calc(100dvh - 2rem);
  padding-top: 3.25rem;
  padding-bottom: 2rem;
  box-sizing: border-box;
}

.tv-credit__aside {
  flex: 0 1 16.5rem;
  max-width: 17rem;
  width: 100%;
  order: 2;
  align-self: flex-start;
}

.tv-credit__tips {
  height: 100%;
  padding: 1.15rem 1.05rem 1.2rem;
  border: 2px solid rgb(219 39 119 / 0.35);
  border-radius: 16px;
  background: linear-gradient(180deg, #fffaf3 0%, #ffe8f1 100%);
  box-shadow:
    0 10px 24px rgb(157 23 77 / 0.12),
    inset 0 1px 0 rgb(255 255 255 / 0.9);
}

.tv-credit__tips-head {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 0.8rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid rgb(249 145 191 / 0.45);
}

.tv-credit__tips-icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 10px;
  background: #fff;
  border: 1px solid rgb(244 114 182 / 0.4);
  color: #db2777;
  font-size: 1rem;
}

body.retro-tv-site .tv-credit__tips-title,
.tv-credit__tips-title {
  margin: 0 !important;
  flex: 1;
  min-width: 0;
  font-family: "Titan One", sans-serif !important;
  font-size: 0.98rem !important;
  line-height: 1.3 !important;
  color: #9d174d !important;
  text-shadow: none !important;
  filter: none !important;
  letter-spacing: 0.01em !important;
  white-space: normal;
}

.tv-credit__tips-list {
  margin: 0;
  padding: 0 0 0 1rem;
  font-family: ui-sans-serif, system-ui, sans-serif;
  font-size: 0.82rem;
  line-height: 1.5;
  color: #831843;
}

.tv-credit__tips-list li + li {
  margin-top: 0.5rem;
}

.tv-credit__tips-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.9rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgb(249 145 191 / 0.35);
  width: 100%;
  font-family: ui-sans-serif, system-ui, sans-serif;
  font-size: 0.8rem;
  font-weight: 600;
  color: #be185d;
  text-decoration: none;
  transition: color 0.2s ease;
}

.tv-credit__tips-link:hover,
.tv-credit__tips-link:focus-visible {
  color: #831843;
}

.tv-credit__panel {
  flex: 1 1 30rem;
  width: min(100%, 32rem);
  margin: 0;
  order: 1;
  padding: 1.75rem 1.5rem 1.85rem;
  border: 2px solid rgb(var(--color-indigo-400) / 0.4);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgb(10 16 28 / 0.96) 0%, rgb(0 0 0 / 0.7) 100%);
  box-shadow:
    0 12px 32px rgba(0, 0, 0, 0.4),
    inset 0 1px 0 rgb(255 255 255 / 0.04);
  position: relative;
}

.tv-credit__panel::before {
  content: "";
  pointer-events: none;
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(ellipse at 50% 0%, rgb(var(--color-indigo-500) / 0.1) 0%, transparent 55%);
  opacity: 0.9;
}

.tv-credit__header,
.tv-credit__form,
.tv-credit__note {
  position: relative;
  z-index: 1;
}

.tv-credit__header {
  text-align: center;
  margin-bottom: 1.35rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid rgb(var(--color-indigo-500) / 0.28);
}

.tv-credit__ch {
  margin: 0 0 0.55rem;
  font-family: "Titan One", sans-serif;
  font-size: 1.2rem;
  letter-spacing: 0.12em;
  color: rgb(var(--color-indigo-200) / 0.8);
  text-transform: uppercase;
}

body.retro-tv-site .retro-tv__viewport .tv-credit__title,
.tv-credit__title {
  margin: 0 !important;
  font-family: "Titan One", sans-serif !important;
  font-size: clamp(1.55rem, 3vw, 2.15rem) !important;
  line-height: 1.2 !important;
  color: #fff !important;
  text-shadow:
    -1px -1px 0 rgb(26 10 18 / 0.95),
    1px -1px 0 rgb(26 10 18 / 0.95),
    -1px 1px 0 rgb(26 10 18 / 0.95),
    1px 1px 0 rgb(26 10 18 / 0.95),
    0 2px 0 #000,
    2px 3px 0 rgb(0 0 0 / 0.8),
    0 6px 16px rgb(0 0 0 / 0.4) !important;
  letter-spacing: 0.02em !important;
  filter: none !important;
}

.tv-credit__note {
  margin: 0 0 0.85rem;
  padding: 0.55rem 0.7rem;
  border: 1px solid rgb(var(--color-indigo-400) / 0.3);
  border-radius: 12px;
  background: rgb(0 0 0 / 0.3);
  font-family: "Titan One", sans-serif;
  font-size: 1.2rem;
  line-height: 1.3;
  color: rgb(255 255 255 / 0.88);
}

.tv-credit__note strong {
  font-weight: 400;
  color: #fbbf24;
}

.tv-credit__note--bonus {
  border-color: rgb(74 222 128 / 0.45);
  color: #86efac;
}

.tv-credit__note--error {
  border-color: rgb(248 113 113 / 0.55);
  color: #fca5a5;
  text-align: center;
}

.tv-credit__form {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
}

.tv-credit__field {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.tv-credit__label {
  margin: 0;
  font-family: "Titan One", sans-serif;
  font-size: 1.25rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgb(var(--color-indigo-200) / 0.85);
}

.tv-credit__input {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgb(var(--color-indigo-400) / 0.4) !important;
  border-radius: 12px !important;
  background: #071018 !important;
  color: #fff !important;
  font-family: "Titan One", sans-serif !important;
  font-size: 1.45rem !important;
  line-height: 1.2 !important;
  padding: 0.7rem 0.85rem !important;
  box-shadow: inset 0 0 0 1px rgb(0 0 0 / 0.25);
  outline: none !important;
  appearance: textfield;
  -moz-appearance: textfield;
}

.tv-credit__input::-webkit-outer-spin-button,
.tv-credit__input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.tv-credit__input::placeholder {
  color: rgb(255 255 255 / 0.35) !important;
  font-family: "Titan One", sans-serif !important;
}

.tv-credit__input:focus {
  border-color: rgb(var(--color-indigo-400) / 0.95) !important;
  box-shadow:
    inset 0 0 0 1px rgb(0 0 0 / 0.35),
    0 0 0 2px rgb(var(--color-indigo-500) / 0.25);
}

.tv-credit__gateways {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(11.5rem, 1fr));
  gap: 0.65rem;
}

.tv-credit__gateways--single,
.tv-credit__gateways:has(.tv-credit__gateway--paytr:only-child) {
  grid-template-columns: 1fr;
}

.tv-credit__gateway {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
  width: 100%;
  margin: 0;
  padding: 0.75rem 0.85rem;
  border: 1px solid rgb(var(--color-indigo-500) / 0.28);
  border-radius: 12px;
  background: rgb(0 0 0 / 0.35);
  color: rgb(255 255 255 / 0.75);
  cursor: pointer;
  text-align: left;
  transition: border-color 0.12s ease, background 0.12s ease, color 0.12s ease;
  box-shadow: 0 3px 0 rgba(0, 0, 0, 0.22);
}

.tv-credit__gateway:hover,
.tv-credit__gateway:focus-visible {
  border-color: rgb(var(--color-indigo-400) / 0.55);
  color: #fff;
  outline: none;
}

.tv-credit__gateway.is-active {
  border-color: rgb(var(--color-indigo-400) / 0.75);
  background: rgb(var(--color-indigo-800) / 0.3);
  color: #fff;
  box-shadow:
    0 3px 0 rgba(0, 0, 0, 0.22),
    inset 0 0 0 1px rgb(var(--color-indigo-300) / 0.18);
}

.tv-credit__gateway.is-empty {
  cursor: default;
  opacity: 0.7;
  grid-column: 1 / -1;
}

.tv-credit__gateway-ch {
  font-family: "Titan One", sans-serif;
  font-size: 0.99rem;
  letter-spacing: 0.08em;
  color: rgb(var(--color-indigo-200) / 0.7);
}

.tv-credit__gateway-name {
  font-family: "Titan One", sans-serif;
  font-size: 1.35rem;
  line-height: 1.15;
}

.tv-credit__gateway--paytr {
  flex-direction: row;
  align-items: center;
  gap: 0.85rem;
  padding: 0.9rem 1rem;
  min-height: 3.25rem;
}

.tv-credit__gateway-logo {
  display: block;
  height: 1.55rem;
  width: auto;
  max-width: 7.5rem;
  flex-shrink: 0;
  object-fit: contain;
}

.tv-credit__gateway-note {
  display: block;
  flex: 1;
  min-width: 0;
  margin: 0;
  font-family: ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(0.68rem, 1.6vw, 0.8rem);
  font-weight: 600;
  line-height: 1.25;
  color: rgb(255 255 255 / 0.82);
  white-space: nowrap;
}

.tv-credit__gateway--paytr.is-active .tv-credit__gateway-note {
  color: #fff;
}

.tv-credit__terms {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  margin: 0;
  font-family: "Titan One", sans-serif;
  font-size: 1.15rem;
  line-height: 1.3;
  color: rgb(255 255 255 / 0.8);
}

.tv-credit__terms label {
  cursor: pointer;
  color: inherit;
}

.tv-credit__terms input[type="checkbox"] {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: 0.1rem;
  border: 2px solid rgb(var(--color-indigo-400) / 0.65) !important;
  border-radius: 5px !important;
  background-color: #071018 !important;
  background-image: none !important;
  color: #5b8cff;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  box-shadow: none !important;
}

.tv-credit__terms input[type="checkbox"]:checked {
  border-color: #f472b6 !important;
  background-color: #be185d !important;
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e") !important;
  background-size: 100% 100% !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

.tv-credit__terms input[type="checkbox"]:focus-visible {
  outline: 2px solid rgb(var(--color-indigo-300));
  outline-offset: 2px;
}

.tv-credit__terms a {
  color: #f9a8d4;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.tv-credit__terms a:hover {
  color: #fbcfe8;
}

.tv-credit__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: 0.25rem;
  padding: 0.95rem 1rem;
  border: 2px solid var(--tv-btn-primary-border);
  border-radius: 14px;
  background: var(--tv-btn-primary-gradient);
  color: var(--tv-btn-primary-color) !important;
  font-family: "Titan One", sans-serif !important;
  font-size: 1.55rem !important;
  line-height: 1.15 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none !important;
  text-shadow: 0 1px 0 rgb(0 0 0 / 0.22) !important;
  cursor: pointer;
  box-shadow:
    0 4px 0 var(--tv-btn-primary-shadow),
    inset 0 1px 0 rgba(255, 255, 255, 0.35);
  transition: transform 0.1s ease, filter 0.1s ease;
}

.tv-credit__submit:hover,
.tv-credit__submit:focus-visible {
  filter: brightness(1.06);
  transform: translateY(-1px);
  outline: none;
  color: var(--tv-btn-primary-color) !important;
}

.tv-credit__submit:active {
  transform: translateY(2px);
  box-shadow:
    0 1px 0 rgba(0, 0, 0, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

@media (max-width: 560px) {
  .tv-credit__stage {
    flex-direction: column;
    align-items: stretch;
  }

  .tv-credit__panel {
    order: 1;
    width: 100%;
    max-width: none;
    padding: 1.35rem 1rem 1.45rem;
  }

  .tv-credit__aside {
    order: 2;
    max-width: none;
  }

  body.retro-tv-site .retro-tv__viewport .tv-credit__title,
  .tv-credit__title {
    font-size: clamp(1.35rem, 6vw, 1.85rem) !important;
  }

  .tv-credit__gateways {
    grid-template-columns: 1fr;
  }

  .tv-credit__gateway--paytr {
    flex-wrap: wrap;
    gap: 0.55rem;
  }

  .tv-credit__gateway-note {
    white-space: normal;
    font-size: 0.72rem;
  }
}

/* ============================================================
   Retro TV ? Shopping cart
   ============================================================ */

.tv-cart {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-top: 1.15rem;
  padding-bottom: 1.5rem;
  box-sizing: border-box;
}

.tv-cart__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
  gap: 1rem;
  align-items: start;
}

.tv-cart__main {
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
  min-width: 0;
}

.tv-cart__side {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  position: sticky;
  top: 0.5rem;
}

.tv-cart__loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  min-height: 8rem;
  border: 2px solid rgb(249 145 191 / 0.35);
  border-radius: 16px;
  background: #161016;
  font-family: "Titan One", sans-serif;
  font-size: 1.25rem;
  color: rgb(255 228 241 / 0.88);
}

.tv-cart__loading-bar {
  width: 8rem;
  height: 0.55rem;
  border: 2px solid rgb(249 145 191 / 0.55);
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, #f472b6, transparent);
  background-size: 200% 100%;
  animation: tvCartLoad 1.1s linear infinite;
}

@keyframes tvCartLoad {
  0% { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}

.tv-cart__empty {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 1.25rem 1.25rem;
  border: 2px dashed rgb(249 145 191 / 0.4);
  border-radius: 16px;
  background: #161016;
  font-family: "Titan One", sans-serif;
  font-size: 1.3rem;
  color: rgb(255 255 255 / 0.9);
}

.tv-cart__empty--compact {
  padding: 0.85rem 1rem;
  font-size: 1.15rem;
}

.tv-cart__empty-tag {
  font-family: "Titan One", sans-serif;
  font-size: 0.99rem;
  letter-spacing: 0.08em;
  color: #f87171;
}

.tv-cart__empty p {
  margin: 0;
}

.tv-cart__list {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.tv-cart__list-head {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) 7.5rem 5.5rem 5.5rem 4.5rem;
  gap: 0.55rem;
  padding: 0.55rem 1rem;
  border: 1px solid rgb(249 145 191 / 0.35);
  border-radius: 14px;
  background: #140c14;
  font-family: "Titan One", sans-serif;
  font-size: 1.25rem;
  letter-spacing: 0.08em;
  color: #ffe4f1;
  text-transform: uppercase;
  text-shadow: 1px 1px 0 #000;
}

.tv-cart__item {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) 7.5rem 5.5rem 5.5rem 4.5rem;
  gap: 0.55rem;
  align-items: center;
  padding: 0.85rem 1rem;
  border: 1px solid rgb(249 145 191 / 0.28);
  border-radius: 14px;
  background:
    radial-gradient(ellipse at 0% 0%, rgb(249 145 191 / 0.1) 0%, transparent 55%),
    #161016;
  box-shadow:
    0 8px 20px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgb(255 255 255 / 0.04);
}

.tv-cart__product {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  min-width: 0;
}

.tv-cart__thumb {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.4rem;
  height: 3.4rem;
  padding: 0.25rem;
  border: 1px solid rgb(var(--color-indigo-500) / 0.35);
  border-radius: 12px;
  background: #050a12;
  overflow: hidden;
}

.tv-cart__thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  image-rendering: pixelated;
}

.tv-cart__product-meta {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

.tv-cart__product-meta strong {
  font-family: "Titan One", sans-serif;
  font-size: 1.3rem;
  font-weight: 400;
  color: #fff;
  line-height: 1.15;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tv-cart__product-meta span,
.tv-cart__product-meta em {
  font-family: "Titan One", sans-serif;
  font-style: normal;
  font-size: 1.05rem;
  color: rgb(251 207 232 / 0.78);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tv-cart__qty {
  display: inline-flex;
  align-items: stretch;
  overflow: hidden;
  border: 1px solid rgb(var(--color-indigo-500) / 0.4);
  border-radius: 12px;
  background: #071018;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.25);
}

.tv-cart__qty-btn {
  width: 1.85rem;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  font-family: "Titan One", sans-serif;
  font-size: 1.35rem;
  line-height: 1;
  color: #fff;
  cursor: pointer;
}

.tv-cart__qty-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.tv-cart__qty-btn--minus {
  background: #be123c;
}

.tv-cart__qty-btn--plus {
  background: #059669;
}

.tv-cart__qty-btn:not(:disabled):hover {
  filter: brightness(1.1);
}

.tv-cart__qty-input {
  width: 2.4rem !important;
  margin: 0 !important;
  padding: 0.25rem 0.1rem !important;
  border: none !important;
  border-left: 1px solid rgb(var(--color-indigo-500) / 0.3) !important;
  border-right: 1px solid rgb(var(--color-indigo-500) / 0.3) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #fff !important;
  font-family: "Titan One", sans-serif !important;
  font-size: 1.25rem !important;
  text-align: center !important;
  outline: none !important;
  box-shadow: none !important;
}

.tv-cart__qty-spinner {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  color: rgb(var(--color-indigo-200));
  font-family: "Titan One", sans-serif;
  letter-spacing: 0.1em;
}

.tv-cart__price,
.tv-cart__total {
  font-family: "Titan One", sans-serif;
  font-size: 1.2rem;
  color: #ffc2dd;
  text-shadow: 0 0 10px rgb(249 145 191 / 0.28);
}

.tv-cart__actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.35rem;
}

.tv-cart__icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  margin: 0;
  border: 1px solid rgb(var(--color-indigo-400) / 0.55);
  border-radius: 10px !important;
  background: rgb(0 0 0 / 0.45);
  color: rgb(var(--color-indigo-100)) !important;
  text-decoration: none !important;
  cursor: pointer;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.28);
  transition: transform 0.1s ease, border-color 0.12s ease, background 0.12s ease;
}

.tv-cart__icon-btn:hover,
.tv-cart__icon-btn:focus-visible {
  border-color: rgb(var(--color-indigo-300));
  background: rgb(var(--color-indigo-500) / 0.2);
  color: #fff !important;
  outline: none;
  transform: translateY(-1px);
}

.tv-cart__icon-btn--danger {
  border-color: rgb(248 113 113 / 0.5);
  color: #fca5a5 !important;
}

.tv-cart__icon-btn--danger:hover,
.tv-cart__icon-btn--danger:focus-visible {
  border-color: rgb(248 113 113 / 0.85);
  background: rgb(185 28 28 / 0.25);
  color: #fecaca !important;
}

.tv-cart__featured {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  margin-top: 0.5rem;
  padding-top: 1rem;
  border-top: 2px solid rgb(249 145 191 / 0.25);
}

.tv-cart__featured-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 172px));
  gap: 0.75rem;
}

.tv-cart__featured-skel {
  min-height: 12rem;
  border: 1px solid rgb(249 145 191 / 0.28);
  border-radius: 14px;
  background: #161016;
  animation: tvCartLoad 1.2s linear infinite;
}

.tv-cart__featured-actions {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.45rem;
}

.tv-cart__featured-actions .tv-product__btn {
  flex: 1;
  min-width: 0;
  font-size: 0.5rem !important;
  padding: 0.55rem 0.4rem;
}

.tv-cart__note {
  padding: 0.75rem 0.95rem;
  border: 1px solid rgb(249 145 191 / 0.4);
  border-radius: 12px;
  background: #161016;
  font-family: "Titan One", sans-serif;
  font-size: 1.15rem;
  color: #ffe4f1;
}

.tv-cart__note strong {
  color: #fdbad8;
  font-weight: 400;
}

.tv-cart__checkout {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.tv-cart__panel {
  padding: 1rem 1.05rem;
  border: 1px solid rgb(249 145 191 / 0.35);
  border-radius: 16px;
  background: linear-gradient(180deg, #1a1218 0%, #120c12 100%);
  box-shadow:
    0 8px 22px rgba(0, 0, 0, 0.3),
    inset 0 1px 0 rgb(255 255 255 / 0.04);
}

.tv-cart__panel-label {
  margin: 0 0 0.65rem;
  font-family: "Titan One", sans-serif !important;
  font-size: 1.25rem !important;
  letter-spacing: 0.1em;
  color: #ffe4f1 !important;
  text-transform: uppercase;
  text-shadow: 1px 1px 0 #000;
}

.tv-cart__coupon {
  display: flex;
  gap: 0.4rem;
}

.tv-cart__input,
.tv-cart__select {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgb(var(--color-indigo-400) / 0.5) !important;
  border-radius: 12px !important;
  background: #071018 !important;
  color: #fff !important;
  font-family: "Titan One", sans-serif !important;
  font-size: 1.2rem !important;
  line-height: 1.2 !important;
  padding: 0.55rem 0.75rem !important;
  outline: none !important;
  box-shadow: none !important;
}

.tv-cart__input:focus,
.tv-cart__select:focus {
  border-color: rgb(var(--color-indigo-400) / 0.95) !important;
}

.tv-cart__mini-btn {
  flex-shrink: 0;
  margin: 0;
  padding: 0.55rem 0.85rem;
  border: 1px solid rgb(var(--color-indigo-300) / 0.75);
  border-radius: 12px !important;
  background: var(--tv-btn-primary-gradient);
  color: #fff;
  font-family: "Titan One", sans-serif;
  font-size: 0.95rem;
  letter-spacing: 0.04em;
  cursor: pointer;
  box-shadow:
    0 3px 0 rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.tv-cart__mini-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.tv-cart__mini-btn:not(:disabled):hover {
  filter: brightness(1.08);
}

.tv-cart__mini-btn--danger {
  border-color: rgb(248 113 113 / 0.7);
  background: linear-gradient(180deg, #f87171 0%, #b91c1c 100%);
}

.tv-cart__alert {
  display: block;
  margin-top: 0.45rem;
  font-family: "Titan One", sans-serif;
  font-size: 1.05rem;
}

.tv-cart__alert.is-ok { color: #f9a8d4; }
.tv-cart__alert.is-err { color: #fca5a5; }

.tv-cart__rows {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-bottom: 0.85rem;
}

.tv-cart__row {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  padding-bottom: 0.35rem;
  border-bottom: 1px solid rgb(249 145 191 / 0.2);
  font-family: "Titan One", sans-serif;
  font-size: 1.2rem;
  color: rgb(255 255 255 / 0.8);
}

.tv-cart__row strong {
  font-weight: 400;
  color: #fff;
}

.tv-cart__row--discount strong {
  color: #f87171;
}

.tv-cart__row--total {
  border-bottom: none;
  padding-top: 0.2rem;
  font-size: 1.4rem;
  color: #ffc2dd;
}

.tv-cart__row--total strong {
  color: #ffc2dd;
  text-shadow: 0 0 10px rgb(249 145 191 / 0.35);
}

.tv-cart__field-label {
  display: block;
  margin: 0 0 0.35rem;
  font-family: "Titan One", sans-serif;
  font-size: 1.1rem;
  color: rgb(251 207 232 / 0.85);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.tv-cart__select {
  margin-bottom: 0.75rem;
}

.tv-cart__check {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  margin: 0 0 0.75rem;
  font-family: "Titan One", sans-serif;
  font-size: 1.1rem;
  line-height: 1.3;
  color: rgb(255 255 255 / 0.8);
  cursor: pointer;
}

.tv-cart__check input {
  flex-shrink: 0;
  width: 1.15rem;
  height: 1.15rem;
  margin-top: 0.15rem;
  border: 1px solid rgb(var(--color-indigo-400) / 0.85) !important;
  border-radius: 6px !important;
  background-color: #071018 !important;
  background-image: none !important;
  color: #5b8cff;
  appearance: none;
  -webkit-appearance: none;
  box-shadow: none !important;
  cursor: pointer;
}

.tv-cart__check input:checked {
  border-color: #f472b6 !important;
  background-color: #be185d !important;
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e") !important;
  background-size: 100% 100% !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

.tv-cart__check a {
  color: #f9a8d4;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.tv-cart__panel--summary .tv-credit__submit {
  margin-top: 0.15rem;
}

@media (max-width: 1100px) {
  .tv-cart__layout {
    grid-template-columns: 1fr;
  }

  .tv-cart__side {
    position: static;
  }
}

@media (max-width: 560px) {
  .tv-cart {
    padding-top: 0.85rem;
    padding-bottom: 1.15rem;
  }
}

@media (max-width: 760px) {
  .tv-cart__list-head {
    display: none;
  }

  .tv-cart__item {
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "product actions"
      "qty total"
      "price price";
  }

  .tv-cart__product { grid-area: product; }
  .tv-cart__qty { grid-area: qty; }
  .tv-cart__price { grid-area: price; }
  .tv-cart__total { grid-area: total; justify-self: end; }
  .tv-cart__actions { grid-area: actions; }

  .tv-cart__hide-sm {
    display: none !important;
  }

  .tv-cart__featured-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


/* ============================================================
   Retro TV ? Account tabs + Profile page
   ============================================================ */

.tv-profile,
.tv-account-page,
.tv-chest:has(> .tv-account-rail),
.tv-gift:has(> .tv-account-rail),
.tv-chest:has(> .tv-account-tabs),
.tv-gift:has(> .tv-account-tabs) {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 1.35rem 1.55rem;
  align-items: start;
  width: 100%;
  max-width: min(1380px, calc(100% - 1.5rem));
  margin: 0 auto;
  padding-top: 5.25rem;
  padding-bottom: 2.35rem;
  box-sizing: border-box;
}

/* Skin + menu + content stay as one grid block — all scroll together */
.tv-account-rail {
  grid-column: 1;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 1.3rem;
  position: relative;
  align-self: start;
  z-index: 3;
  width: max-content;
  max-width: 100%;
}

.tv-profile > .tv-account-tabs,
.tv-account-page > .tv-account-tabs,
.tv-chest > .tv-account-tabs,
.tv-gift > .tv-account-tabs {
  grid-column: 1;
  position: relative;
  align-self: start;
  height: max-content;
}

.tv-account-main {
  grid-column: 2;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  position: relative;
  z-index: 1;
}

.tv-account-skin {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  flex: 0 0 auto;
  width: 250px;
  max-width: 250px;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  overflow: visible;
  gap: 0;
}

.tv-account-rail > .tv-account-tabs {
  flex: 0 0 auto;
  width: 16.25rem;
  max-width: 16.25rem;
}

.tv-account-skin__stage {
  position: relative;
  width: 100%;
  height: 30rem;
  min-height: 30rem;
  max-height: 30rem;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: hidden;
  cursor: grab;
  touch-action: none;
}

.tv-account-skin__stage:active {
  cursor: grabbing;
}

.tv-account-tabs {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  padding: 0.75rem;
  border: 3px solid #f9a8d4;
  border-radius: 14px;
  background-color: #f3e6d8;
  background-image:
    linear-gradient(180deg, rgb(255 236 243 / 0.7) 0%, rgb(255 246 238 / 0.35) 55%, transparent 100%),
    url("../img/mc-cream-tile.png");
  background-size: auto, 64px 64px;
  background-repeat: no-repeat, repeat;
  box-shadow: 0 5px 0 rgb(190 24 93 / 0.16);
}

.tv-account-tabs__ch {
  display: none !important;
}

.tv-account-tabs__list {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.45rem;
  min-width: 0;
  flex: 1;
  padding: 0;
}

.tv-account-tabs__form {
  display: contents;
}

.tv-account-tabs__item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  width: 100%;
  margin: 0;
  padding: 0.76rem 0.9rem;
  border: 2px solid #f9a8d4;
  border-radius: 10px !important;
  background: #fff7fb;
  color: #7a3d5c !important;
  text-decoration: none !important;
  font-family: "Titan One", sans-serif;
  font-size: 0.98rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  cursor: pointer;
  white-space: nowrap;
  line-height: 1.15;
  text-align: left;
  box-shadow: 0 3px 0 rgb(190 24 93 / 0.14);
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease, transform 0.12s ease, box-shadow 0.12s ease;
}

.tv-account-tabs__emoji {
  flex-shrink: 0;
  width: 1.35rem;
  text-align: center;
  font-size: 1.05rem;
  line-height: 1;
  font-style: normal;
  text-transform: none;
}

.tv-account-tabs__text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tv-account-tabs__item:hover,
.tv-account-tabs__item:focus-visible {
  background: #ffe4f0;
  border-color: #f472b6;
  color: #be185d !important;
  outline: none;
  transform: translateY(-1px);
  box-shadow: 0 4px 0 rgb(190 24 93 / 0.18);
}

.tv-account-tabs__item.is-active {
  background: linear-gradient(180deg, #f9a8d4 0%, #f472b6 100%);
  border-color: #ec4899;
  color: #fff !important;
  text-shadow: 0 1px 0 rgb(157 23 77 / 0.55);
  box-shadow:
    0 3px 0 rgb(157 23 77 / 0.35),
    inset 4px 0 0 #be185d;
}

.tv-profile__card {
  display: block;
  border: none;
  border-radius: 0;
  background: transparent;
  background-image: none;
  box-shadow: none;
  overflow: visible;
}

.tv-profile__skin {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 0;
  border: none;
  background: transparent;
}

.tv-profile__skin-hint {
  display: none !important;
}

.tv-profile__skin-stage {
  position: relative;
  flex: 1;
  width: 100%;
  min-height: 22rem;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
  cursor: grab;
  touch-action: none;
}

.tv-profile__skin-stage:active {
  cursor: grabbing;
}

body.retro-tv-site .tv-profile__nametag,
.tv-profile__nametag {
  position: absolute;
  top: 0.55rem;
  left: 50%;
  z-index: 3;
  transform: translateX(-50%) scaleY(1.35);
  transform-origin: center top;
  max-width: calc(100% - 1rem);
  padding: 0.35rem 0.55rem 0.28rem;
  border-radius: 0;
  background: rgb(0 0 0 / 0.5);
  color: #fff !important;
  font-family: "MC Nametag", "Press Start 2P", monospace !important;
  font-size: 0.82rem !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: none;
  image-rendering: pixelated;
  text-shadow: 2px 2px 0 #3f3f3f;
  filter: none;
  -webkit-font-smoothing: none;
  -moz-osx-font-smoothing: unset;
}

/* Account rail nametag: centered over the head */
body.retro-tv-site .tv-account-skin .tv-profile__nametag,
.tv-account-skin .tv-profile__nametag {
  position: absolute !important;
  top: 0.35rem !important;
  left: 50% !important;
  right: auto !important;
  display: block !important;
  width: max-content;
  max-width: calc(100% - 0.75rem);
  margin: 0 !important;
  transform: translateX(-50%) scaleY(1.35) !important;
  transform-origin: center top !important;
  text-align: center;
  font-size: 0.88rem !important;
  z-index: 4;
}

.tv-profile__skin-canvas {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
  background: transparent !important;
}

/* Full-stage canvas — zoom/camera keep feet in view under nametag */
body.retro-tv-site .tv-account-skin .tv-profile__skin-canvas,
.tv-account-skin .tv-profile__skin-canvas {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

.tv-profile__skin-scan {
  display: none !important;
}

.tv-profile__skin-fallback {
  position: absolute;
  left: 50%;
  bottom: 0.55rem;
  transform: translateX(-50%);
  height: 72%;
  width: auto;
  image-rendering: pixelated;
  z-index: 0;
  pointer-events: none;
}

.tv-account-skin .tv-profile__skin-fallback {
  top: 1.75rem;
  bottom: 0.35rem;
  height: auto;
  max-height: none;
  transform: translateX(-50%);
}

.tv-profile__skin-hint {
  margin: 0;
  font-family: "Titan One", sans-serif;
  font-size: 1rem;
  color: rgb(var(--color-indigo-200) / 0.75);
  text-align: center;
}

.tv-profile__info {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.1rem 1.15rem 1.15rem;
  min-width: 0;
  border: 3px solid #f9a8d4;
  border-radius: 16px;
  background-color: #f3e6d8;
  background-image:
    linear-gradient(180deg, rgb(255 236 243 / 0.55) 0%, rgb(255 246 238 / 0.3) 55%, transparent 100%),
    url("../img/mc-cream-tile.png");
  background-size: auto, 72px 72px;
  background-repeat: no-repeat, repeat;
  box-shadow: 0 6px 0 rgb(190 24 93 / 0.16);
}

.tv-profile__name {
  margin: 0;
  font-family: "Titan One", sans-serif;
  font-size: 1.35rem;
  line-height: 1.25;
  color: #7a3d5c;
  text-shadow: 0 1px 0 rgb(255 255 255 / 0.65);
}

.tv-profile__email {
  margin: 0;
  font-family: "Titan One", sans-serif;
  font-size: 1.05rem;
  color: #a8557a;
  word-break: break-all;
}

.tv-profile__roles {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
}

.tv-profile__role {
  padding: 0.2rem 0.6rem;
  border: 2px solid #f9a8d4;
  border-radius: 8px;
  background: #ffe4f0;
  font-family: "Titan One", sans-serif;
  font-size: 0.9rem;
  color: #be185d;
  text-transform: uppercase;
  box-shadow: 0 2px 0 rgb(190 24 93 / 0.12);
}

.tv-profile__stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.55rem;
  margin-top: 0.15rem;
}

.tv-profile__stat {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  padding: 0.7rem 0.8rem;
  border: 2px solid #f9a8d4;
  border-radius: 10px;
  background: rgb(255 255 255 / 0.72);
  box-shadow: 0 3px 0 rgb(190 24 93 / 0.1);
}

.tv-profile__stat-key {
  font-family: "Titan One", sans-serif;
  font-size: 0.9rem;
  letter-spacing: 0.05em;
  color: #a8557a;
  text-transform: uppercase;
}

.tv-profile__stat-val {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-family: "Titan One", sans-serif;
  font-size: 1.25rem;
  color: #7a3d5c;
}

.tv-profile__stat-val.is-credit,
.is-credit {
  color: #b45309;
}

.is-debit {
  color: #e11d48;
}

.tv-profile__stat-add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  margin-left: 0.15rem;
  border: 2px solid #ec4899;
  border-radius: 7px;
  background: #ffe4f0;
  color: #be185d !important;
  text-decoration: none !important;
  font-size: 1rem;
  line-height: 1;
  vertical-align: middle;
  box-shadow: 0 2px 0 rgb(190 24 93 / 0.18);
}

.tv-profile__stat-add:hover {
  background: #f9a8d4;
  color: #fff !important;
}

.tv-profile__extras {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.55rem;
}

.tv-profile__detail {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.65rem 0.8rem;
  border: 2px solid #f9a8d4;
  border-radius: 10px;
  background: rgb(255 255 255 / 0.72);
  box-shadow: 0 3px 0 rgb(190 24 93 / 0.1);
  font-family: "Titan One", sans-serif;
}

.tv-profile__detail span {
  font-size: 0.95rem;
  letter-spacing: 0.05em;
  color: #a8557a;
  text-transform: uppercase;
}

.tv-profile__detail strong {
  font-weight: 400;
  font-size: 1.25rem;
  color: #7a3d5c;
  word-break: break-word;
}

.tv-profile__panel {
  padding: 1.05rem 1.1rem;
  border: 3px solid #f9a8d4;
  border-radius: 14px;
  background-color: #f3e6d8;
  background-image:
    linear-gradient(180deg, rgb(255 236 243 / 0.6) 0%, transparent 100%),
    url("../img/mc-cream-tile.png");
  background-size: auto, 64px 64px;
  background-repeat: no-repeat, repeat;
  box-shadow: 0 5px 0 rgb(190 24 93 / 0.16);
}

.tv-profile__panel-label {
  margin: 0 0 0.7rem;
  font-family: "Titan One", sans-serif !important;
  font-size: 1.25rem !important;
  letter-spacing: 0.06em;
  color: #be185d !important;
  text-transform: uppercase;
  text-shadow: 0 1px 0 rgb(255 255 255 / 0.55);
}

.tv-profile__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-bottom: 0.75rem;
}

.tv-profile__tab {
  padding: 0.42rem 0.8rem;
  border: 2px solid #f9a8d4;
  border-radius: 8px;
  background: #fff7fb;
  color: #a8557a !important;
  text-decoration: none !important;
  font-family: "Titan One", sans-serif;
  font-size: 0.95rem;
  text-transform: uppercase;
  box-shadow: 0 2px 0 rgb(190 24 93 / 0.12);
}

.tv-profile__tab.is-active,
.tv-profile__tab:hover {
  border-color: #ec4899;
  color: #fff !important;
  background: linear-gradient(180deg, #f9a8d4 0%, #f472b6 100%);
}

.tv-profile__table-wrap {
  overflow-x: auto;
  border-radius: 10px;
  border: 2px solid #f9a8d4;
  background: rgb(255 255 255 / 0.6);
}

.tv-profile__table {
  width: 100%;
  border-collapse: collapse;
  font-family: "Titan One", sans-serif;
  font-size: 1.15rem;
}

.tv-profile__table th,
.tv-profile__table td {
  padding: 0.55rem 0.5rem;
  border-bottom: 1px solid rgb(249 145 191 / 0.4);
  text-align: left;
  color: #7a3d5c;
  vertical-align: middle;
}

.tv-profile__table th {
  color: #be185d;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 400;
}

.tv-profile__empty {
  margin: 0;
  padding: 1.35rem 1.25rem;
  border: 3px dashed #f9a8d4;
  border-radius: 14px;
  background: rgb(255 255 255 / 0.6);
  font-family: "Titan One", sans-serif;
  font-size: 1.15rem;
  color: #a8557a;
  text-align: center;
  box-shadow: 0 5px 0 rgb(190 24 93 / 0.12);
}

.tv-account-page {
  /* layout shared via .tv-profile / .tv-account-page / .tv-chest grid above */
}

@media (max-width: 1100px) {
  .tv-account-skin {
    width: 220px;
    max-width: 220px;
  }

  .tv-account-rail > .tv-account-tabs {
    width: 14.5rem;
    max-width: 14.5rem;
  }

  .tv-account-skin__stage {
    height: 27rem;
    min-height: 27rem;
    max-height: 27rem;
  }
}

@media (max-width: 960px) {
  .tv-profile,
  .tv-account-page,
  .tv-chest:has(> .tv-account-rail),
  .tv-gift:has(> .tv-account-rail),
  .tv-chest:has(> .tv-account-tabs),
  .tv-gift:has(> .tv-account-tabs) {
    grid-template-columns: 1fr;
    padding-top: 3rem;
    align-items: start;
  }

  .tv-account-rail {
    grid-column: 1;
    position: static;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: none;
  }

  .tv-account-main {
    grid-column: 1;
  }

  .tv-account-skin,
  .tv-account-rail > .tv-account-tabs,
  .tv-profile > .tv-account-tabs,
  .tv-account-page > .tv-account-tabs,
  .tv-chest > .tv-account-tabs,
  .tv-gift > .tv-account-tabs {
    width: 100%;
    max-width: 28rem;
  }

  .tv-account-skin__stage {
    height: 24rem;
    min-height: 24rem;
    max-height: 24rem;
  }

  .tv-account-tabs__list {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .tv-account-tabs__item {
    width: auto;
    flex: 0 1 auto;
  }
}

@media (max-width: 860px) {
  .tv-profile__card {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .tv-profile,
  .tv-account-page,
  .tv-chest:has(> .tv-account-rail),
  .tv-gift:has(> .tv-account-rail),
  .tv-chest:has(> .tv-account-tabs),
  .tv-gift:has(> .tv-account-tabs) {
    padding-left: 1.1rem;
    padding-right: 1.1rem;
    padding-top: 1.5rem;
  }

  .tv-profile__stats,
  .tv-profile__extras {
    grid-template-columns: 1fr;
  }

  .tv-account-tabs__item {
    font-size: 0.85rem;
    padding: 0.5rem 0.65rem;
  }
}


.tv-profile__badge {
  display: inline-block;
  padding: 0.15rem 0.45rem;
  border: 2px solid currentColor;
  border-radius: 6px;
  font-size: 1rem;
  text-transform: uppercase;
}
.tv-profile__badge.is-ok { color: #15803d; }
.tv-profile__badge.is-info { color: #be185d; }
.tv-profile__badge.is-warn { color: #fbbf24; }
.tv-profile__badge.is-err { color: #fca5a5; }

/* ============================================================
   Retro TV ? Account forms / settings
   ============================================================ */

.tv-account-stack {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.tv-account-form {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.tv-account-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}

.tv-account-form__label {
  margin: 0.35rem 0 0;
  font-family: "Titan One", sans-serif;
  font-size: 1.15rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #9d174d;
}

.tv-account-form__help {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  margin-left: 0.25rem;
  border: 2px solid #ec4899;
  font-size: 0.85rem;
  color: #be185d;
  cursor: help;
}

.tv-account-form__input {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgb(249 145 191 / 0.4) !important;
  border-radius: 12px !important;
  background: #161016 !important;
  color: #fff !important;
  font-family: "Titan One", sans-serif !important;
  font-size: 1.25rem !important;
  line-height: 1.2 !important;
  padding: 0.65rem 0.75rem !important;
  outline: none !important;
  box-shadow: none !important;
}

.tv-account-form__input:focus {
  border-color: rgb(249 145 191 / 0.9) !important;
  box-shadow: 0 0 0 2px rgb(249 145 191 / 0.18) !important;
}

.tv-account-form__input::placeholder {
  color: rgb(255 255 255 / 0.35) !important;
  font-family: "Titan One", sans-serif !important;
}

.tv-account-form__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-top: 0.55rem;
  padding: 0.7rem 1.15rem;
  border: none;
  border-radius: 12px;
  background: var(--tv-btn-primary-gradient);
  color: var(--tv-btn-primary-color) !important;
  font-family: "Titan One", sans-serif !important;
  font-size: 1.2rem !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none !important;
  cursor: pointer;
  box-shadow:
    0 3px 0 rgba(0, 0, 0, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

.tv-account-form__btn:hover,
.tv-account-form__btn:focus-visible {
  filter: brightness(1.06);
  outline: none;
  color: var(--tv-btn-primary-color) !important;
}

.tv-account-form__btn--danger {
  border-color: rgb(248 113 113 / 0.75);
  background: linear-gradient(180deg, #f87171 0%, #b91c1c 100%);
  color: #fff !important;
}

.tv-account-form__btn--danger:hover,
.tv-account-form__btn--danger:focus-visible {
  color: #fff !important;
}

.tv-account-form__btn--file {
  cursor: pointer;
}

.tv-account-form__btn.disabled,
.tv-account-form__btn:disabled {
  opacity: 0.5;
  pointer-events: none;
}

.tv-account-tfa {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  height: 100%;
}

.tv-account-tfa .tv-profile__panel-label {
  margin-bottom: 0.35rem;
}

.tv-account-tfa__text {
  margin: 0;
  font-family: "Titan One", sans-serif;
  font-size: 1.05rem;
  color: #7a3d5c;
  max-width: none;
  line-height: 1.35;
}

/* Security page: email + 2FA on top row, password below */
.tv-security {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.tv-security__top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.75rem;
  align-items: stretch;
}

.tv-security__top > .tv-profile__panel {
  margin: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.tv-security__top > .tv-profile__panel:only-child {
  grid-column: 1 / -1;
}

.tv-security__email .tv-account-form,
.tv-security__password .tv-account-form {
  gap: 0.35rem;
}

.tv-security__tfa .tv-account-tfa {
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
  flex: 1;
}

.tv-security__tfa .tv-account-form__btn {
  margin-top: 0;
  align-self: flex-start;
}

.tv-security .tv-account-form__label {
  margin: 0.2rem 0 0;
  font-size: 1rem;
}

.tv-security .tv-account-form__input {
  font-size: 1.1rem !important;
  padding: 0.55rem 0.7rem !important;
}

.tv-security .tv-account-form__btn {
  margin-top: 0.4rem;
  padding: 0.6rem 1rem;
  font-size: 1.05rem !important;
}

.tv-security .tv-profile__panel-label {
  margin-bottom: 0.45rem;
}

@media (max-width: 960px) {
  .tv-security__top {
    grid-template-columns: 1fr;
  }
}

/* TFA setup — QR must sit on a light plate for scanners */
.tv-tfa-setup {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(100dvh - 2rem);
  padding: 1.25rem 1rem;
  box-sizing: border-box;
}

.tv-tfa-setup__card {
  width: min(100%, 28rem);
  padding: 1.35rem 1.25rem 1.5rem;
  border: 2px solid rgb(var(--color-indigo-400) / 0.55);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgb(12 18 32 / 0.98) 0%, rgb(4 8 16 / 0.96) 100%);
  box-shadow:
    0 16px 40px rgba(0, 0, 0, 0.45),
    inset 0 1px 0 rgb(255 255 255 / 0.06);
  text-align: center;
}

.tv-tfa-setup__title {
  margin: 0 0 1rem;
  font-family: "Titan One", sans-serif;
  font-size: 1.55rem;
  letter-spacing: 0.04em;
  color: #fff;
  text-shadow: 1px 1px 0 #000;
}

.tv-tfa-setup__form {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.85rem;
}

.tv-tfa-setup__qr-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 0 rgba(0, 0, 0, 0.25);
}

.tv-tfa-setup__qr {
  display: block;
  width: 220px;
  height: 220px;
  max-width: 100%;
  object-fit: contain;
  background: #fff;
}

.tv-tfa-setup__hint {
  margin: 0;
  font-family: "Titan One", sans-serif;
  font-size: 1.05rem;
  line-height: 1.4;
  color: rgb(255 255 255 / 0.82);
}

.tv-tfa-setup__hint strong {
  color: #7dffb0;
  letter-spacing: 0.06em;
  word-break: break-all;
}

.tv-tfa-setup__input {
  width: 100% !important;
  text-align: center;
}

.tv-tfa-setup__btn {
  width: 100%;
  margin-top: 0.15rem;
}

.tv-account-avatar {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.tv-account-avatar__img {
  border-radius: 0 !important;
  border: 2px solid rgb(var(--color-indigo-400) / 0.6) !important;
  image-rendering: pixelated;
}

.tv-account-avatar__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.tv-account-avatar__actions .tv-account-form__btn {
  margin-top: 0;
}

.tv-account-avatar__hint {
  width: 100%;
  margin: 0.25rem 0 0;
  font-family: "Titan One", sans-serif;
  font-size: 1.05rem;
  color: #7a3d5c;
}

.tv-account-links {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.tv-account-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  padding: 0.75rem 0.85rem;
  border: 2px solid rgb(var(--color-indigo-500) / 0.35);
  background: rgb(0 0 0 / 0.4);
  flex-wrap: wrap;
}

.tv-account-link__meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.tv-account-link__icon {
  width: 2.5rem;
  height: 2.5rem;
  object-fit: contain;
  border: 2px solid rgb(var(--color-indigo-500) / 0.35);
  background: #050a12;
  padding: 0.25rem;
}

.tv-account-link__name {
  margin: 0;
  font-family: "Titan One", sans-serif;
  font-size: 1.35rem;
  color: #fff;
  text-transform: uppercase;
}

.tv-account-link__status {
  margin: 0.15rem 0 0;
  font-family: "Titan One", sans-serif;
  font-size: 1.1rem;
  color: rgb(var(--color-indigo-200) / 0.8);
}

.tv-account-link__action .tv-account-form__btn {
  margin-top: 0;
}

body.retro-tv-site .retro-tv__viewport .tv-account-page .tv-profile__table a {
  color: #f9a8d4 !important;
}

@media (max-width: 720px) {
  .tv-account-form__row {
    grid-template-columns: 1fr;
  }

  .tv-account-form__btn {
    width: 100%;
  }
}

/* ============================================================
   Retro TV ? Chest + Gift pages
   ============================================================ */

/* Gift / chest pages without sidebar keep padding */
.tv-chest:not(:has(> .tv-account-tabs)):not(:has(> .tv-account-rail)),
.tv-gift:not(:has(> .tv-account-tabs)):not(:has(> .tv-account-rail)) {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  width: 100%;
  max-width: var(--tv-content-max, 72rem);
  margin: 0 auto;
  padding-top: 1.15rem;
  padding-bottom: 1.5rem;
  box-sizing: border-box;
}

.tv-chest__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 0.85rem;
}

.tv-chest__item {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 0;
  border: 1px solid rgb(var(--color-indigo-400) / 0.45);
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgb(8 14 24 / 0.95) 0%, rgb(0 0 0 / 0.75) 100%);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.3);
  overflow: hidden;
}

.tv-chest__media {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.65rem;
  border-right: 1px solid rgb(var(--color-indigo-500) / 0.3);
  background: #050a12;
}

.tv-chest__media img {
  width: 100%;
  max-width: 72px;
  height: auto;
  object-fit: contain;
  image-rendering: pixelated;
}

.tv-chest__scan {
  pointer-events: none;
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    0deg,
    transparent 0,
    transparent 2px,
    rgb(0 0 0 / 0.16) 2px,
    rgb(0 0 0 / 0.16) 3px
  );
  opacity: 0.45;
}

.tv-chest__body {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 0.75rem 0.8rem 0.85rem;
  min-width: 0;
}

.tv-chest__name {
  margin: 0;
  font-family: "Titan One", sans-serif !important;
  font-size: 1.4rem !important;
  line-height: 1.15 !important;
  color: #fff !important;
}

.tv-chest__cat {
  margin: 0;
  font-family: "Titan One", sans-serif;
  font-size: 1.1rem;
  color: rgb(var(--color-indigo-200) / 0.8);
}

.tv-chest__vars {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  margin-top: 0.15rem;
}

.tv-chest__vars span {
  font-family: "Titan One", sans-serif;
  font-size: 1.05rem;
  color: rgb(255 255 255 / 0.65);
}

.tv-chest__footer {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  margin-top: auto;
  padding-top: 0.65rem;
}

.tv-chest__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.tv-chest__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0;
  padding: 0.5rem 0.8rem;
  border: 1px solid transparent;
  border-radius: 12px !important;
  font-family: "Titan One", sans-serif;
  font-size: 1.05rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none !important;
  cursor: pointer;
  box-shadow: 0 3px 0 rgba(0, 0, 0, 0.28);
}

.tv-chest__btn--ok {
  border-color: rgb(74 222 128 / 0.65);
  background: linear-gradient(180deg, #4ade80 0%, #15803d 100%);
  color: var(--tv-btn-primary-color) !important;
}

.tv-chest__btn--gift {
  border-color: rgb(244 114 182 / 0.65);
  background: linear-gradient(180deg, #f472b6 0%, #be185d 100%);
  color: #fff !important;
}

.tv-chest__btn:hover {
  filter: brightness(1.08);
}

.tv-chest__form-panel {
  max-width: 32rem;
}

.tv-chest__hint {
  margin: 0.15rem 0 0;
  font-family: "Titan One", sans-serif;
  font-size: 1.05rem;
  color: rgb(var(--color-indigo-200) / 0.8);
}

.tv-gift__stage {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(100dvh - 4rem);
  padding: 0.5rem 0 1rem;
}

.tv-gift__panel {
  width: min(100%, 28rem);
  padding: 1.5rem 1.35rem 1.55rem;
  border: 3px solid rgb(var(--color-indigo-400) / 0.8);
  background:
    linear-gradient(180deg, rgb(8 14 24 / 0.95) 0%, rgb(0 0 0 / 0.72) 100%);
  box-shadow:
    6px 6px 0 rgba(0, 0, 0, 0.4),
    inset 0 0 40px rgb(0 0 0 / 0.35);
}

.tv-gift__header {
  text-align: center;
  margin-bottom: 1.15rem;
  padding-bottom: 0.85rem;
  border-bottom: 2px solid rgb(var(--color-indigo-500) / 0.28);
}

.tv-gift__ch {
  margin: 0 0 0.45rem;
  font-family: "Titan One", sans-serif;
  font-size: 1.15rem;
  letter-spacing: 0.12em;
  color: rgb(var(--color-indigo-200) / 0.85);
  text-transform: uppercase;
}

body.retro-tv-site .retro-tv__viewport .tv-gift__title,
.tv-gift__title {
  margin: 0 !important;
  font-family: "Titan One", sans-serif !important;
  font-size: clamp(1.55rem, 3vw, 2.15rem) !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #fff !important;
  text-shadow:
    -1px -1px 0 rgb(26 10 18 / 0.95),
    1px -1px 0 rgb(26 10 18 / 0.95),
    -1px 1px 0 rgb(26 10 18 / 0.95),
    1px 1px 0 rgb(26 10 18 / 0.95),
    0 2px 0 #000,
    2px 3px 0 rgb(0 0 0 / 0.8),
    0 6px 16px rgb(0 0 0 / 0.4) !important;
  filter: none !important;
}

.tv-account-form__btn--block {
  width: 100%;
}

.tv-gift__product {
  display: grid;
  grid-template-columns: minmax(120px, 180px) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}

.tv-gift__product-media {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.85rem;
  border: 2px solid rgb(var(--color-indigo-500) / 0.35);
  background: #050a12;
}

.tv-gift__product-media img {
  width: 100%;
  max-width: 140px;
  image-rendering: pixelated;
}

.tv-gift__rows {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  margin-bottom: 0.85rem;
}

.tv-gift__row {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  padding-bottom: 0.4rem;
  border-bottom: 1px solid rgb(var(--color-indigo-500) / 0.22);
  font-family: "Titan One", sans-serif;
  font-size: 1.2rem;
}

.tv-gift__row span {
  color: rgb(var(--color-indigo-200) / 0.8);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.tv-gift__row strong {
  font-weight: 400;
  color: #fff;
  text-align: right;
}

.tv-gift__credit-note {
  margin: 0 0 0.85rem;
  font-family: "Titan One", sans-serif;
  font-size: 1.25rem;
  color: rgb(255 255 255 / 0.85);
}

.tv-gift__credit-note strong {
  color: #86efac;
  font-weight: 400;
}

@media (max-width: 640px) {
  .tv-chest__item {
    grid-template-columns: 1fr;
  }

  .tv-chest__media {
    border-right: none;
    border-bottom: 2px solid rgb(var(--color-indigo-500) / 0.3);
    min-height: 7rem;
  }

  .tv-gift__product {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   Retro TV ? Applications + Support + form extras
   ============================================================ */

.tv-account-form__note {
  margin: 0 0 0.85rem;
  font-family: "Titan One", sans-serif;
  font-size: 1.15rem;
  color: #7a3d5c;
}

.tv-account-form__textarea {
  min-height: 6.5rem;
  resize: vertical;
}

.tv-select {
  position: relative;
  width: 100%;
}

.tv-select__btn {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 0.65rem 0.75rem;
  border: 1px solid rgb(249 145 191 / 0.4);
  border-radius: 12px;
  background: #161016;
  color: #fff;
  font-family: "Titan One", sans-serif;
  font-size: 1.25rem;
  text-align: left;
  cursor: pointer;
}

.tv-select__btn:hover,
.tv-select__btn:focus-visible {
  border-color: rgb(249 145 191 / 0.9);
  outline: none;
  box-shadow: 0 0 0 2px rgb(249 145 191 / 0.18);
}

.tv-select__menu {
  position: absolute;
  z-index: 30;
  left: 0;
  right: 0;
  top: calc(100% + 0.25rem);
  border: 1px solid rgb(249 145 191 / 0.45);
  border-radius: 12px;
  background: #161016;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.4);
  overflow: hidden;
}

.tv-select__option {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0.55rem 0.75rem;
  border: none;
  border-radius: 0;
  background: transparent;
  color: rgb(255 255 255 / 0.85);
  font-family: "Titan One", sans-serif;
  font-size: 1.2rem;
  text-align: left;
  cursor: pointer;
}

.tv-select__option:hover,
.tv-select__option:focus-visible {
  background: rgb(249 145 191 / 0.18);
  color: #fff;
  outline: none;
}

.tv-select__option.is-disabled {
  cursor: default;
  color: rgb(255 255 255 / 0.4);
}

.tv-apply,
.tv-support {
  display: flex;
  flex-direction: column;
  gap: 0.95rem;
  width: 100%;
  max-width: var(--tv-content-max, 72rem);
  margin: 0 auto;
  padding-top: 1.15rem;
  padding-bottom: 1.5rem;
  box-sizing: border-box;
}

.tv-apply__list {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}

.tv-apply__card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 1rem 1.1rem;
  border: 1px solid rgb(var(--color-indigo-400) / 0.35);
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgb(10 16 28 / 0.96) 0%, rgb(0 0 0 / 0.7) 100%);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
}

.tv-apply__name {
  margin: 0;
  font-family: "Titan One", sans-serif !important;
  font-size: 1.55rem !important;
  line-height: 1.15 !important;
}

.tv-apply__name a {
  color: #fff !important;
  text-decoration: none !important;
}

.tv-apply__name a:hover {
  color: #f9a8d4 !important;
}

.tv-apply__info {
  margin: 0.25rem 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.55rem;
  font-family: "Titan One", sans-serif;
  font-size: 1.1rem;
  color: rgb(var(--color-indigo-200) / 0.8);
}

.tv-apply__card .tv-account-form__btn {
  margin-top: 0;
}

.tv-apply__form-panel {
  width: min(100%, 52rem);
  max-width: 52rem;
  margin: 0 auto;
}

.tv-apply__stage {
  display: flex;
  justify-content: center;
  width: 100%;
}

.tv-support__title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 0.85rem;
}

.tv-support__open-btn {
  margin-top: 0 !important;
  padding: 0.45rem 0.8rem !important;
  font-size: 1.15rem !important;
}

.tv-support__form-panel {
  width: min(100%, 52rem);
  max-width: 52rem;
  margin: 0 auto;
}

.tv-apply__desc {
  margin: 0 0 1.15rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid rgb(190 24 93 / 0.22);
  font-family: "Titan One", sans-serif;
  font-size: 1.2rem;
  line-height: 1.5;
  color: #5c2a42;
}

.tv-profile__panel .tv-apply__desc,
.tv-profile__panel .tv-apply__desc.ck-content,
.tv-profile__panel .ck-content {
  color: #5c2a42 !important;
}

.tv-profile__panel .tv-apply__desc p,
.tv-profile__panel .tv-apply__desc li,
.tv-profile__panel .tv-apply__desc span,
.tv-profile__panel .tv-apply__desc div,
.tv-profile__panel .ck-content p,
.tv-profile__panel .ck-content li,
.tv-profile__panel .ck-content span,
.tv-profile__panel .ck-content div {
  font-size: 1.1rem !important;
  line-height: 1.5 !important;
  color: #5c2a42 !important;
}

.tv-profile__panel .tv-apply__desc strong,
.tv-profile__panel .ck-content strong {
  color: #831843 !important;
  font-weight: 700;
}

.tv-profile__panel .tv-apply__desc a,
.tv-profile__panel .ck-content a {
  color: #be185d !important;
  text-decoration: underline;
}

.tv-profile__panel .tv-apply__desc h1,
.tv-profile__panel .tv-apply__desc h2,
.tv-profile__panel .tv-apply__desc h3,
.tv-profile__panel .ck-content h1,
.tv-profile__panel .ck-content h2,
.tv-profile__panel .ck-content h3 {
  font-family: "Titan One", sans-serif !important;
  font-size: 1.05rem !important;
  line-height: 1.35 !important;
  color: #9d174d !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.tv-profile__panel .tv-apply__desc ul,
.tv-profile__panel .tv-apply__desc ol,
.tv-profile__panel .ck-content ul,
.tv-profile__panel .ck-content ol {
  margin: 0 0 0.85rem;
  padding-left: 1.2rem;
}

.tv-profile__panel .tv-apply__desc [style*="color"],
.tv-profile__panel .ck-content [style*="color"] {
  color: #5c2a42 !important;
}

.tv-apply__status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid rgb(var(--color-indigo-500) / 0.25);
}

.tv-apply__answer {
  margin-bottom: 0.85rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgb(var(--color-indigo-500) / 0.2);
}

.tv-apply__q {
  margin: 0 0 0.25rem;
  font-family: "Titan One", sans-serif;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #a5b4fc;
}

.tv-apply__a {
  margin: 0;
  font-family: "Titan One", sans-serif;
  font-size: 1.25rem;
  color: #fff;
  white-space: pre-wrap;
}

.tv-support__notice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 1rem 1.1rem;
  border: 1px solid rgb(250 204 21 / 0.35);
  border-radius: 16px;
  background: rgb(113 63 18 / 0.2);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.22);
}

.tv-support__notice-title {
  margin: 0 0 0.3rem;
  font-family: "Titan One", sans-serif;
  font-size: 1.35rem;
  color: #fde68a;
  text-transform: uppercase;
}

.tv-support__notice-text {
  margin: 0;
  max-width: 42rem;
  font-family: "Titan One", sans-serif;
  font-size: 1.1rem;
  color: rgb(255 255 255 / 0.8);
}

.tv-support__notice-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.65rem 1rem;
  border: none;
  border-radius: 12px;
  background: linear-gradient(180deg, #f991bf 0%, #db2777 100%);
  color: #fff !important;
  font-family: "Titan One", sans-serif;
  font-size: 1.15rem;
  text-decoration: none !important;
  text-transform: uppercase;
  box-shadow: 0 3px 0 var(--tv-btn-primary-shadow);
}

.tv-support__row-actions {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.tv-cart__icon-btn.is-danger {
  border-color: rgb(248 113 113 / 0.55);
  color: #fca5a5 !important;
}

.tv-support__create,
.tv-support__thread {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(200px, 280px);
  gap: 0.85rem;
  align-items: start;
}

.tv-support__aside-text {
  margin: 0;
  font-family: "Titan One", sans-serif;
  font-size: 1.2rem;
  color: rgb(255 255 255 / 0.8);
}

.tv-support__messages {
  max-height: 28rem;
  overflow: auto;
  padding: 0.85rem;
  border: 2px solid rgb(var(--color-indigo-400) / 0.55);
  background: rgb(0 0 0 / 0.45);
  box-shadow: inset 0 0 24px rgb(0 0 0 / 0.35);
}

.tv-support__msg {
  display: flex;
  gap: 0.65rem;
  margin-bottom: 0.85rem;
}

.tv-support__msg.is-user {
  flex-direction: row-reverse;
}

.tv-support__avatar {
  border-radius: 0 !important;
  border: 2px solid rgb(var(--color-indigo-500) / 0.4) !important;
  flex-shrink: 0;
}

.tv-support__bubble {
  min-width: 0;
  max-width: min(100%, 36rem);
  padding: 0.7rem 0.8rem;
  border: 2px solid rgb(var(--color-indigo-500) / 0.35);
  background: rgb(8 14 24 / 0.9);
}

.tv-support__msg.is-staff .tv-support__bubble {
  border-color: rgb(125 255 176 / 0.35);
  background: rgb(22 101 52 / 0.18);
}

.tv-support__msg-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.35rem 0.75rem;
  margin-bottom: 0.4rem;
  font-family: "Titan One", sans-serif;
}

.tv-support__msg-head a {
  color: #f9a8d4 !important;
  text-decoration: none !important;
  font-size: 1.2rem;
}

.tv-support__msg-head span {
  font-size: 1rem;
  color: rgb(255 255 255 / 0.45);
}

.tv-support__msg-body {
  font-family: "Titan One", sans-serif;
  font-size: 1.2rem;
  color: rgb(255 255 255 / 0.9);
  word-break: break-word;
}

.tv-support__reply {
  margin-top: 0.85rem;
}

.tv-support__captcha {
  margin-top: 0.55rem;
}

body.retro-tv-site .retro-tv__viewport .tv-support .ck.ck-editor,
body.retro-tv-site .retro-tv__viewport .tv-apply .ck.ck-editor {
  border-radius: 12px !important;
  overflow: hidden;
  border: 1px solid rgb(249 145 191 / 0.4) !important;
  background: #161016 !important;
}

body.retro-tv-site .retro-tv__viewport .tv-support .ck.ck-toolbar,
body.retro-tv-site .retro-tv__viewport .tv-support .ck.ck-content,
body.retro-tv-site .retro-tv__viewport .tv-apply .ck.ck-toolbar,
body.retro-tv-site .retro-tv__viewport .tv-apply .ck.ck-content {
  border-radius: 0 !important;
  border-color: rgb(249 145 191 / 0.28) !important;
  background: #161016 !important;
  color: #fff !important;
}

body.retro-tv-site .retro-tv__viewport .tv-support .ck.ck-toolbar,
body.retro-tv-site .retro-tv__viewport .tv-apply .ck.ck-toolbar {
  background: #1a1218 !important;
  border-bottom: 1px solid rgb(249 145 191 / 0.28) !important;
}

body.retro-tv-site .retro-tv__viewport .tv-support .ck.ck-button,
body.retro-tv-site .retro-tv__viewport .tv-apply .ck.ck-button,
body.retro-tv-site .retro-tv__viewport .tv-support .ck.ck-dropdown__button,
body.retro-tv-site .retro-tv__viewport .tv-apply .ck.ck-dropdown__button {
  color: #ffe4f1 !important;
}

body.retro-tv-site .retro-tv__viewport .tv-support .ck.ck-button:not(.ck-disabled):hover,
body.retro-tv-site .retro-tv__viewport .tv-apply .ck.ck-button:not(.ck-disabled):hover,
body.retro-tv-site .retro-tv__viewport .tv-support .ck.ck-button.ck-on,
body.retro-tv-site .retro-tv__viewport .tv-apply .ck.ck-button.ck-on {
  background: rgb(249 145 191 / 0.2) !important;
  color: #fff !important;
}

body.retro-tv-site .retro-tv__viewport .tv-support .ck.ck-editor__editable,
body.retro-tv-site .retro-tv__viewport .tv-apply .ck.ck-editor__editable {
  background: #161016 !important;
  color: #fff !important;
  min-height: 10rem;
}

body.retro-tv-site .retro-tv__viewport .tv-support .ck.ck-editor__editable.ck-focused,
body.retro-tv-site .retro-tv__viewport .tv-apply .ck.ck-editor__editable.ck-focused {
  border-color: rgb(249 145 191 / 0.55) !important;
  box-shadow: none !important;
}

body.retro-tv-site .retro-tv__viewport .tv-support .ck.ck-placeholder::before,
body.retro-tv-site .retro-tv__viewport .tv-apply .ck.ck-placeholder::before {
  color: rgb(255 255 255 / 0.35) !important;
}

@media (max-width: 900px) {
  .tv-support__thread {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   Retro TV ? Order detail
   ============================================================ */

.tv-order {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
  max-width: var(--tv-content-max, 72rem);
  margin: 0 auto;
  padding-top: 1.15rem;
  padding-bottom: 1.5rem;
  box-sizing: border-box;
}

.tv-order__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
  gap: 1rem;
  align-items: start;
}

.tv-order .tv-profile__panel {
  padding: 1.15rem 1.25rem 1.25rem;
}

.tv-order .tv-profile__table-wrap {
  margin: 0;
  border: none;
  border-radius: 0;
  overflow-x: auto;
}

.tv-order .tv-profile__table th,
.tv-order .tv-profile__table td {
  padding: 0.8rem 1rem;
}

.tv-order .tv-profile__table th:last-child,
.tv-order .tv-profile__table td:last-child {
  text-align: right;
}

.tv-order .tv-cart__panel {
  padding: 1.15rem 1.2rem;
}

.tv-order__product {
  color: #fff;
}

.tv-order__vars {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  margin-top: 0.25rem;
}

.tv-order__vars span {
  font-size: 1.05rem;
  color: rgb(var(--color-indigo-200) / 0.8);
}

@media (max-width: 900px) {
  .tv-order__layout {
    grid-template-columns: 1fr;
  }

  .tv-order {
    padding-left: 1.1rem;
    padding-right: 1.1rem;
  }
}


/* ============================================================
   Retro TV ? Auth (login / register / recover) — sakura cream
   ============================================================ */

.tv-auth {
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100%;
  height: 100%;
  box-sizing: border-box;
  background: transparent;
}

.tv-auth__back {
  position: absolute;
  top: clamp(1.1rem, 3vh, 1.75rem);
  left: max(clamp(1.25rem, 4vw, 2rem), calc(50% - 14rem));
  z-index: 3;
}

.tv-auth__stage {
  flex: 1;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  min-height: 100%;
  height: 100%;
  padding: clamp(1.35rem, 3.5vh, 2.35rem) 1.15rem 1.75rem;
  box-sizing: border-box;
}

.tv-auth__panel {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: min(100%, 28rem);
  min-height: 0;
  flex: 0 1 auto;
  margin: 0 auto;
  padding: 1.65rem 1.45rem 1.55rem;
  border: 3px solid #f9a8d4;
  border-radius: 18px;
  background-color: #f3e6d8;
  background-image:
    linear-gradient(180deg, rgb(255 236 243 / 0.75) 0%, rgb(255 246 238 / 0.4) 55%, transparent 100%),
    url("../img/mc-cream-tile.png");
  background-size: auto, 64px 64px;
  background-repeat: no-repeat, repeat;
  box-shadow: 0 8px 0 rgb(190 24 93 / 0.16);
  overflow: auto;
}

.tv-auth__panel::before {
  display: none;
}

.tv-auth__header,
.tv-auth__form,
.tv-auth__foot {
  position: relative;
  z-index: 1;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.tv-auth__header {
  text-align: center;
  margin-bottom: 0.85rem;
  padding-bottom: 0;
  border-bottom: none;
}

.tv-auth__logo {
  display: block;
  width: 4.5rem;
  height: auto;
  margin: 0 auto 0.75rem;
  image-rendering: auto;
  filter:
    drop-shadow(0 0 1px rgba(0, 0, 0, 0.55))
    drop-shadow(0 6px 12px rgb(190 24 93 / 0.22));
}

.tv-auth__logo-link {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto 0.75rem;
  text-decoration: none !important;
  line-height: 0;
  transition: transform 0.15s ease, filter 0.15s ease;
}

.tv-auth__logo-link:hover,
.tv-auth__logo-link:focus-visible {
  transform: translateY(-2px) scale(1.02);
  filter: brightness(1.04);
  outline: none;
}

.tv-auth__logo-link .tv-auth__logo {
  margin: 0;
}

.tv-auth__logo--wordmark {
  width: min(100%, 260px);
  max-width: 260px;
  height: auto;
  object-fit: contain;
  filter:
    drop-shadow(0 0 1px rgba(0, 0, 0, 0.55))
    drop-shadow(0 6px 14px rgb(190 24 93 / 0.28));
}

.tv-auth__ch {
  margin: 0 0 0.4rem;
  font-family: "Titan One", sans-serif !important;
  font-size: 1.15rem !important;
  letter-spacing: 0.14em;
  color: #be185d !important;
  text-transform: uppercase;
}

body.retro-tv-site--auth .tv-auth__title,
.tv-auth__title {
  margin: 0.35rem 0 0 !important;
  font-family: "Titan One", sans-serif !important;
  font-size: 1.55rem !important;
  line-height: 1.2 !important;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #be185d !important;
  text-shadow: 0 1px 0 rgb(255 255 255 / 0.65) !important;
}

.tv-auth__lead {
  margin: 0.55rem 0 0;
  font-family: "Titan One", sans-serif;
  font-size: 1.05rem;
  line-height: 1.35;
  color: #7a3d5c;
}

.tv-auth__form {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.tv-auth__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
}

.tv-auth__label-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
}

.tv-auth__label {
  margin: 0.35rem 0 0;
  font-family: "Titan One", sans-serif;
  font-size: 1.05rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #9d174d;
}

.tv-auth__input {
  width: 100%;
  box-sizing: border-box;
  border: 2px solid #f9a8d4 !important;
  border-radius: 10px !important;
  background: #1f1520 !important;
  color: #fff !important;
  font-family: "Titan One", sans-serif !important;
  font-size: 1.2rem !important;
  line-height: 1.2 !important;
  padding: 0.7rem 0.85rem !important;
  outline: none !important;
  box-shadow: 0 3px 0 rgb(190 24 93 / 0.12) !important;
}

.tv-auth__input:focus {
  border-color: #ec4899 !important;
  box-shadow: 0 0 0 3px rgb(249 168 212 / 0.35) !important;
}

.tv-auth__input::placeholder {
  color: rgb(255 255 255 / 0.38) !important;
}

.tv-auth__captcha {
  display: flex;
  justify-content: center;
  margin: 0.75rem 0 0.35rem;
  padding: 0.65rem;
  border: 2px dashed #f9a8d4;
  border-radius: 12px;
  background: rgb(255 255 255 / 0.45);
}

/* Soften third-party captcha chrome toward sakura */
.tv-auth__captcha iframe {
  border-radius: 8px !important;
}

.tv-auth__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: 0.85rem;
}

.tv-auth__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0.78rem 1.25rem;
  border: 2px solid var(--tv-btn-primary-border);
  border-radius: 999px !important;
  background: var(--tv-btn-primary-gradient);
  color: var(--tv-btn-primary-color) !important;
  font-family: "Titan One", sans-serif !important;
  font-size: 1.25rem !important;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow:
    0 4px 0 var(--tv-btn-primary-shadow),
    inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.tv-auth__submit:hover,
.tv-auth__submit:focus-visible {
  filter: brightness(1.05);
  outline: none;
}

.tv-auth__submit--block {
  width: 100%;
  margin-top: 0.75rem;
}

.tv-auth__link {
  font-family: "Titan One", sans-serif;
  font-size: 1.05rem;
  color: #be185d !important;
  text-decoration: none !important;
}

.tv-auth__link:hover {
  color: #9d174d !important;
  text-decoration: underline !important;
}

.tv-auth__link--strong {
  color: #be185d !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 2px solid #f9a8d4;
}

.tv-auth__or {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0.95rem 0 0.55rem;
  font-family: "Titan One", sans-serif;
  font-size: 1.05rem;
  color: #a8557a;
  text-transform: uppercase;
}

.tv-auth__or::before,
.tv-auth__or::after {
  content: "";
  flex: 1;
  height: 2px;
  background: #f9a8d4;
}

.tv-auth__oauth {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  width: 100%;
  margin: 0 0 0.45rem;
  padding: 0.72rem 0.9rem;
  border: 2px solid #f9a8d4;
  border-radius: 12px;
  background: #fff7fb;
  color: #7a3d5c !important;
  font-family: "Titan One", sans-serif;
  font-size: 1.1rem;
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  box-shadow: 0 3px 0 rgb(190 24 93 / 0.14);
}

.tv-auth__oauth:hover {
  border-color: #f472b6;
  background: #ffe4f0;
  color: #9d174d !important;
}

.tv-auth__oauth svg {
  flex-shrink: 0;
  color: #be185d;
}

.tv-auth__hint {
  margin: 0.85rem 0 0;
  text-align: center;
  font-family: "Titan One", sans-serif;
  font-size: 1.05rem;
  color: #7a3d5c;
}

.tv-auth__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem 0.75rem;
  margin-top: 1.15rem;
  padding-top: 0.75rem;
  border-top: 2px solid #f9a8d4;
  font-family: "Titan One", sans-serif;
  font-size: 1.05rem;
  color: #7a3d5c;
}

.tv-auth__foot a {
  color: #be185d !important;
  text-decoration: none !important;
}

.tv-auth__foot a:hover {
  color: #9d174d !important;
}

/* Keep cream sakura wash on auth viewport (do not force old dark theme) */
body.retro-tv-site--auth .retro-tv__viewport,
body.retro-tv-site--auth .retro-tv__viewport .main {
  background-color: #e8d4c4 !important;
  background-image:
    radial-gradient(ellipse at 50% 0%, rgb(249 145 191 / 0.18) 0%, transparent 58%),
    radial-gradient(ellipse at 50% 100%, rgb(255 250 243 / 0.28) 0%, transparent 52%),
    linear-gradient(180deg, rgb(255 246 238 / 0.42) 0%, rgb(255 236 243 / 0.28) 45%, rgb(244 214 224 / 0.34) 100%),
    url("../img/mc-cream-tile.png") !important;
  background-size: auto, auto, auto, 96px 96px !important;
  background-repeat: no-repeat, no-repeat, no-repeat, repeat !important;
  background-position: center top, center bottom, center, 0 0 !important;
}

@media (max-width: 560px) {
  .tv-auth__row {
    grid-template-columns: 1fr;
  }

  .tv-auth__actions {
    flex-direction: column-reverse;
    align-items: stretch;
  }

  .tv-auth__submit {
    width: 100%;
  }

  .tv-auth__back {
    top: 0.85rem;
    left: max(1rem, calc(50% - 14rem));
  }

  .tv-auth__panel {
    padding: 1.35rem 1.1rem 1.25rem;
  }

  .tv-auth__stage {
    padding: 2rem 0.85rem 1.15rem;
    align-items: flex-start;
  }
}

/* ============================================================
   Retro TV — Legal pages (rules / terms / privacy)
   ============================================================ */

.tv-legal {
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
  width: 100%;
  max-width: 56rem;
  margin: 0 auto;
  padding-top: 1.15rem;
  padding-bottom: 1.75rem;
  box-sizing: border-box;
}

.tv-legal .tv-shop__toolbar {
  margin-bottom: 0.15rem;
  gap: 1rem 1.35rem;
}

.tv-legal .tv-shop__title {
  font-size: clamp(1.05rem, 2.2vw, 1.45rem) !important;
  letter-spacing: 0.02em;
}

.tv-legal__tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.65rem;
  padding: 0.35rem;
  border: none;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

.tv-legal__tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1.35rem;
  border: 1px solid rgb(var(--color-indigo-400) / 0.32);
  border-radius: 999px;
  border-right: 1px solid rgb(var(--color-indigo-400) / 0.32);
  background:
    linear-gradient(180deg, rgb(12 20 36 / 0.78) 0%, rgb(4 8 16 / 0.88) 100%);
  color: rgb(var(--color-indigo-100) / 0.82) !important;
  font-family: "Titan One", sans-serif;
  font-size: 1.08rem;
  letter-spacing: 0.045em;
  text-transform: uppercase;
  text-decoration: none !important;
  box-shadow:
    0 4px 14px rgb(0 0 0 / 0.22),
    inset 0 1px 0 rgb(255 255 255 / 0.05);
  transition:
    transform 0.16s ease,
    background 0.16s ease,
    border-color 0.16s ease,
    color 0.16s ease,
    box-shadow 0.16s ease;
}

.tv-legal__tab:hover,
.tv-legal__tab:focus-visible {
  background:
    linear-gradient(180deg, rgb(52 24 40 / 0.88) 0%, rgb(28 14 24 / 0.92) 100%);
  border-color: rgb(var(--color-indigo-300) / 0.55);
  color: #fff !important;
  transform: translateY(-1px);
  outline: none;
}

.tv-legal__tab.is-active {
  background:
    linear-gradient(180deg, rgb(140 45 90 / 0.72) 0%, rgb(78 24 52 / 0.88) 100%);
  border-color: rgb(253 186 216 / 0.45);
  color: #fff !important;
  box-shadow:
    0 6px 18px rgb(219 39 119 / 0.22),
    inset 0 1px 0 rgb(255 255 255 / 0.1),
    0 0 0 1px rgb(253 186 216 / 0.12);
}

.tv-legal__panel {
  position: relative;
  padding: clamp(1.85rem, 4vw, 2.85rem) clamp(1.75rem, 4.5vw, 3.25rem);
  border: 1px solid rgb(var(--color-indigo-400) / 0.42);
  border-radius: 22px;
  background:
    linear-gradient(165deg, rgb(24 12 20 / 0.97) 0%, rgb(10 4 8 / 0.9) 100%);
  box-shadow:
    0 18px 40px rgb(0 0 0 / 0.35),
    inset 0 1px 0 rgb(255 255 255 / 0.05);
  overflow: hidden;
}

.tv-legal__panel::before {
  content: "";
  pointer-events: none;
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    0deg,
    transparent 0,
    transparent 2px,
    rgb(0 0 0 / 0.08) 2px,
    rgb(0 0 0 / 0.08) 3px
  );
  opacity: 0.28;
  border-radius: inherit;
  z-index: 0;
}

.tv-legal__intro,
.tv-legal__block,
.tv-legal__note,
.tv-legal__content {
  position: relative;
  z-index: 1;
  max-width: none;
}

.tv-legal__intro {
  margin: 0 0 1.45rem;
  padding-bottom: 1.15rem;
  border-bottom: 1px solid rgb(var(--color-indigo-500) / 0.28);
  font-family: "Titan One", sans-serif;
  font-size: clamp(1.12rem, 1.5vw, 1.28rem);
  line-height: 1.55;
  color: rgb(255 255 255 / 0.86);
}

.tv-legal__block {
  margin-bottom: 1.45rem;
}

.tv-legal__block:last-of-type {
  margin-bottom: 0.35rem;
}

.tv-legal__block h2 {
  margin: 0 0 0.65rem !important;
  font-family: "Titan One", sans-serif !important;
  font-size: clamp(1.2rem, 1.7vw, 1.4rem) !important;
  line-height: 1.3 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #f9a8d4 !important;
  text-shadow: 1px 1px 0 #000 !important;
}

.tv-legal__block ul {
  margin: 0;
  padding: 0 0 0 1.35rem;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.tv-legal__block li {
  font-family: "Titan One", sans-serif !important;
  font-size: clamp(1.08rem, 1.35vw, 1.2rem) !important;
  line-height: 1.5 !important;
  color: rgb(255 255 255 / 0.88) !important;
  padding-right: 0.35rem;
}

.tv-legal__block strong {
  color: #86efac;
  font-weight: 400;
}

.tv-legal__note {
  margin: 1.55rem 0 0;
  padding-top: 1.1rem;
  border-top: 1px solid rgb(var(--color-indigo-500) / 0.28);
  font-family: "Titan One", sans-serif;
  font-size: 1.08rem;
  line-height: 1.5;
  color: rgb(var(--color-indigo-200) / 0.82);
}

.tv-legal__content,
.tv-legal__content p,
.tv-legal__content li {
  font-family: "Titan One", sans-serif !important;
  font-size: clamp(1.08rem, 1.35vw, 1.2rem) !important;
  line-height: 1.55 !important;
  color: rgb(255 255 255 / 0.88) !important;
}

.tv-legal__content p {
  margin: 0 0 1rem;
}

.tv-legal__content ul,
.tv-legal__content ol {
  margin: 0 0 1.1rem;
  padding-left: 1.35rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.tv-legal__content h1,
.tv-legal__content h2,
.tv-legal__content h3 {
  font-family: "Titan One", sans-serif !important;
  color: #f9a8d4 !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: 1.35rem 0 0.65rem !important;
  line-height: 1.3 !important;
}

.tv-legal__content h1:first-child,
.tv-legal__content h2:first-child,
.tv-legal__content h3:first-child {
  margin-top: 0 !important;
}

.tv-legal__content a {
  color: #fdbad8 !important;
}

@media (max-width: 640px) {
  .tv-legal {
    gap: 0.95rem;
    padding-top: 0.85rem;
    padding-bottom: 1.25rem;
  }

  .tv-legal__tabs {
    gap: 0.5rem;
    padding: 0;
  }

  .tv-legal__tab {
    flex: 1 1 auto;
    min-width: calc(50% - 0.25rem);
    padding: 0.65rem 0.95rem;
    font-size: 0.98rem;
    text-align: center;
  }

  .tv-legal__panel {
    padding: 1.45rem 1.25rem 1.6rem;
    border-radius: 18px;
  }
}

/* Hide CH eyebrow labels site-wide */
.tv-shop__ch,
.tv-auth__ch,
.tv-credit__ch,
.tv-gift__ch,
.tv-store__ch,
.tv-account-tabs__ch {
  display: none !important;
}
/* Titan One — gaming / clean UI */
body.retro-tv-site,
body.retro-tv-site--auth {
  --tv-font: "Titan One", sans-serif;
  font-family: var(--tv-font) !important;
  font-weight: 400;
  font-synthesis: none;
  letter-spacing: 0.01em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Turkish locale uppercases i → İ; Titan One can't draw dotted İ */
  -webkit-locale: "en" !important;
}

body.retro-tv-site *:not(i):not(.fab):not(.fas):not(.far):not(.fal):not(.fad):not(svg):not(path):not(.tv-profile__nametag),
body.retro-tv-site--auth *:not(i):not(.fab):not(.fas):not(.far):not(.fal):not(.fad):not(svg):not(path):not(.tv-profile__nametag) {
  font-family: var(--tv-font) !important;
}

/* Minecraft-style nametag above 3D skin only (must beat sitewide Titan One) */
@font-face {
  font-family: "MC Nametag";
  src: url("../fonts/press-start-2p.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

body.retro-tv-site .tv-profile__nametag,
body.retro-tv-site--auth .tv-profile__nametag {
  font-family: "MC Nametag", "Press Start 2P", monospace !important;
  font-size: 0.82rem !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  transform: translateX(-50%) scaleY(1.35) !important;
  transform-origin: center top !important;
  -webkit-font-smoothing: none;
  -moz-osx-font-smoothing: unset;
}

/* Keep account nametag centered even after the global nametag transform rule */
body.retro-tv-site .tv-account-skin .tv-profile__nametag {
  left: 50% !important;
  transform: translateX(-50%) scaleY(1.35) !important;
  transform-origin: center top !important;
}

/* Nav labels: pre-uppercased in PHP (İ→I for Titan One) */
body.retro-tv-site #header .tuselcraft-nav .nav-item,
body.retro-tv-site #mobile-menu .nav-item,
body.retro-tv-site #mobile-menu a {
  font-family: var(--tv-font) !important;
  font-size: 1.02rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  text-shadow:
    0 2px 0 rgba(0, 0, 0, 0.55),
    0 4px 12px rgba(0, 0, 0, 0.3) !important;
  filter: none;
}

body.retro-tv-site .retro-tv__viewport h1,
body.retro-tv-site .retro-tv__viewport h2,
body.retro-tv-site .retro-tv__viewport h3,
body.retro-tv-site--auth h1,
body.retro-tv-site--auth h2,
body.retro-tv-site--auth h3 {
  font-family: var(--tv-font) !important;
  font-weight: 400 !important;
  letter-spacing: 0.03em !important;
  line-height: 1.15 !important;
  text-shadow:
    0 2px 0 rgba(0, 0, 0, 0.55),
    0 3px 10px rgba(0, 0, 0, 0.32) !important;
  filter: drop-shadow(0 1px 0 rgba(0, 0, 0, 0.4));
}

/* Page titles — Sepet-style hard outline (must beat soft h1 shadow above) */
body.retro-tv-site .retro-tv__viewport .tv-store__title,
body.retro-tv-site .retro-tv__viewport .tv-shop__title,
body.retro-tv-site .retro-tv__viewport .tv-support__title,
body.retro-tv-site .retro-tv__viewport .tv-gift__title,
body.retro-tv-site .retro-tv__viewport .tv-credit__title,
body.retro-tv-site .retro-tv__viewport h1.tv-store__title,
body.retro-tv-site .retro-tv__viewport h1.tv-shop__title,
body.retro-tv-site .retro-tv__viewport h1.tv-support__title,
body.retro-tv-site .retro-tv__viewport h1.tv-gift__title,
body.retro-tv-site .retro-tv__viewport h1.tv-credit__title,
body.retro-tv-site .retro-tv__viewport h2.tv-store__title,
body.retro-tv-site .retro-tv__viewport h2.tv-shop__title {
  color: #fff !important;
  font-size: clamp(1.55rem, 3vw, 2.15rem) !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em !important;
  text-shadow:
    -1px -1px 0 rgb(26 10 18 / 0.95),
    1px -1px 0 rgb(26 10 18 / 0.95),
    -1px 1px 0 rgb(26 10 18 / 0.95),
    1px 1px 0 rgb(26 10 18 / 0.95),
    0 2px 0 #000,
    2px 3px 0 rgb(0 0 0 / 0.85),
    0 6px 16px rgb(0 0 0 / 0.4) !important;
  filter: none !important;
}

body.retro-tv-site .retro-tv__viewport h1,
body.retro-tv-site--auth h1 {
  font-size: clamp(1.75rem, 3.2vw, 2.4rem) !important;
}

body.retro-tv-site .retro-tv__viewport h2,
body.retro-tv-site--auth h2 {
  font-size: clamp(1.45rem, 2.6vw, 1.95rem) !important;
}

body.retro-tv-site .retro-tv__viewport h3,
body.retro-tv-site--auth h3 {
  font-size: clamp(1.25rem, 2.2vw, 1.6rem) !important;
}

body.retro-tv-site .tv-screen-footer h3 {
  font-size: 1.05rem !important;
  font-weight: 400 !important;
  text-shadow:
    0 1px 0 rgba(0, 0, 0, 0.5),
    0 2px 6px rgba(0, 0, 0, 0.25) !important;
}

/* ============================================================
   Mobile UI — homepage, chrome, account, shop
   ============================================================ */

@media (max-width: 900px) {
  .tv-home-hero {
    min-height: min(100dvh, 78vh);
    justify-content: flex-end;
  }

  @supports not (min-height: 100dvh) {
    body.retro-tv-site .retro-tv__viewport .tv-home-hero {
      min-height: 68vh;
    }
  }

  .tv-home-hero__gif img,
  .tv-home-hero__gif video,
  .tv-home-hero__video {
    object-position: 42% center;
  }

  .tv-home-hero__stage {
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 1rem;
    padding: 1rem 1rem 1.5rem;
    background: linear-gradient(180deg, transparent 0%, rgb(0 0 0 / 0.45) 55%, rgb(0 0 0 / 0.65) 100%);
  }

  .tv-home-brand {
    align-items: center;
    width: 100%;
    max-width: 26rem;
    padding: 0;
  }

  .tv-home-brand__wordmark {
    width: min(88vw, 340px);
    transform-origin: center center;
    filter:
      drop-shadow(0 0 1px rgba(0, 0, 0, 0.95))
      drop-shadow(0 0 2px rgba(0, 0, 0, 0.8))
      drop-shadow(0 8px 16px rgba(0, 0, 0, 0.75));
  }

  .tv-home-hero__dock {
    justify-content: center;
    align-items: stretch;
    flex-direction: column;
    width: 100%;
    max-width: 20rem;
    gap: 0.75rem;
  }

  .tv-home-hero__dock .tv-home-cta {
    width: 100%;
    min-width: 0;
    min-height: 3.1rem;
    justify-content: center;
    padding: 0.9rem 1.15rem;
    font-size: 1.28rem;
  }

  .tv-home-cta--ip {
    justify-content: space-between;
  }

  .tv-home-boards {
    grid-template-columns: 1fr;
    gap: 0.85rem;
    padding-top: 1rem;
    padding-bottom: 1.25rem;
  }

  .tv-home-board {
    min-height: 0;
  }

  .tv-home-board__title {
    font-size: clamp(0.98rem, 3.7vw, 1.25rem) !important;
    white-space: nowrap !important;
  }

  .tv-home-board__sub {
    font-size: 0.85rem !important;
  }
}

@media (max-width: 640px) {
  html.retro-tv-site,
  body.retro-tv-site,
  html.retro-tv-site--auth,
  body.retro-tv-site--auth {
    height: 100%;
    height: 100dvh;
  }

  body.retro-tv-site #app,
  body.retro-tv-site--auth #app,
  body.retro-tv-site #app > .retro-tv-stage,
  body.retro-tv-site--auth #app > .retro-tv-stage {
    height: 100%;
    height: 100dvh;
  }

  body.retro-tv-site .retro-tv__body {
    flex-direction: column;
    min-height: 0;
  }

  body.retro-tv-site .retro-tv__chrome {
    position: absolute !important;
    width: 100%;
    z-index: 61;
    overflow: visible !important;
  }

  body.retro-tv-site .retro-tv__viewport {
    flex: 1 1 auto;
    min-height: 0;
  }

  body.retro-tv-site .retro-tv__viewport .main {
    padding-bottom: 0.5rem;
  }

  /* Mobile menu — compact sheet under the bar (not fullscreen) */
  body.retro-tv-site #mobile-menu.tv-mobile {
    position: relative !important;
    z-index: 100;
    background: transparent !important;
    border-bottom: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    overflow: visible !important;
  }

  .tv-mobile__panel {
    position: absolute;
    z-index: 100;
    top: calc(100% + 0.35rem);
    left: 0.55rem;
    right: 0.55rem;
    width: auto;
    max-height: min(70dvh, 28rem);
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0.7rem 0.75rem calc(0.85rem + env(safe-area-inset-bottom, 0px));
    border: 1px solid rgb(249 145 191 / 0.4);
    border-radius: 16px;
    background: linear-gradient(180deg, #3d1a30 0%, #2a0f22 55%, #1a0816 100%);
    box-shadow:
      0 18px 40px rgb(0 0 0 / 0.5),
      inset 0 1px 0 rgb(255 255 255 / 0.06);
    transform-origin: top center;
  }

  body.retro-tv-site:has(.retro-tv__broadcast-bar) .tv-mobile__panel {
    max-height: min(65dvh, 26rem);
  }

  /* Open / close motion */
  .tv-mobile-panel-enter {
    transition:
      opacity 0.28s ease,
      transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .tv-mobile-panel-enter-start {
    opacity: 0;
    transform: translateY(-0.75rem) scale(0.97);
  }

  .tv-mobile-panel-enter-end {
    opacity: 1;
    transform: translateY(0) scale(1);
  }

  .tv-mobile-panel-leave {
    transition:
      opacity 0.2s ease,
      transform 0.22s ease-in;
  }

  .tv-mobile-panel-leave-start {
    opacity: 1;
    transform: translateY(0) scale(1);
  }

  .tv-mobile-panel-leave-end {
    opacity: 0;
    transform: translateY(-0.55rem) scale(0.98);
  }

  @media (prefers-reduced-motion: reduce) {
    .tv-mobile-panel-enter,
    .tv-mobile-panel-leave {
      transition: opacity 0.15s ease;
    }

    .tv-mobile-panel-enter-start,
    .tv-mobile-panel-leave-end {
      transform: none;
    }
  }

  body.retro-tv-site:not(:has(.tv-home-hero)) .retro-tv__broadcast-bar {
    background: rgb(72 32 58 / 0.55) !important;
  }

  body.retro-tv-site:not(:has(.tv-home-hero)) .tv-mobile__burger {
    background: rgb(72 32 58 / 0.55) !important;
    border-color: rgb(249 145 191 / 0.42) !important;
  }

  .tv-mobile__bar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem;
    padding: 0.55rem 0.7rem;
  }

  .tv-mobile__link--gaming-night {
    flex-direction: row;
    align-items: center;
    gap: 0.55rem;
  }

  .tv-mobile__link-body {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.55rem;
    width: 100%;
  }

  .tv-mobile__link-row {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
  }

  .tv-mobile__link--gaming-night .nav-item__gn-countdown {
    position: static;
    transform: none;
    display: inline-flex;
    margin: 0;
    order: 2;
    font-family: "Titan One", sans-serif;
    font-size: 0.62rem;
    letter-spacing: 0.04em;
    line-height: 1;
  }

  .tv-mobile__link--gaming-night .tv-mobile__link-row {
    order: 1;
  }

  .tv-mobile__link--gaming-night .nav-item__gn-countdown-text {
    color: #fff !important;
    -webkit-text-fill-color: #fff;
    background: none !important;
    animation: none;
    text-shadow: 0 1px 0 rgb(0 0 0 / 0.65);
  }

  .tv-mobile__link--gaming-night .nav-item__gn-countdown--live {
    color: #fff;
    -webkit-text-fill-color: #fff;
    letter-spacing: 0.1em;
  }

  .tv-mobile__home {
    display: none !important;
  }

  .tv-mobile__bar-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
  }

  .tv-mobile__discord,
  .tv-mobile__burger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.55rem;
    height: 2.55rem;
    border-radius: 12px !important;
    border: 1px solid rgb(var(--color-indigo-400) / 0.4) !important;
    color: #fff !important;
    background:
      linear-gradient(180deg, rgb(28 40 68 / 0.92) 0%, rgb(10 14 26 / 0.96) 100%) !important;
    box-shadow: 0 3px 0 rgba(0, 0, 0, 0.35);
    text-decoration: none !important;
  }

  .tv-mobile__discord {
    background:
      linear-gradient(180deg, #738adf 0%, #5865f2 48%, #4752c4 100%) !important;
    border-color: rgb(99 102 241 / 0.55) !important;
    font-size: 1.15rem;
  }

  .tv-mobile__nav {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
  }

  .tv-mobile__link,
  .tv-mobile__link--toggle {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    width: 100%;
    padding: 0.7rem 0.85rem;
    border: 1px solid rgb(249 145 191 / 0.32);
    border-radius: 12px;
    background: rgb(72 32 58 / 0.92);
    color: #fff !important;
    text-decoration: none !important;
    font-family: "Titan One", sans-serif !important;
    font-size: 0.98rem !important;
    letter-spacing: 0.03em;
    text-shadow: 0 1px 0 rgb(0 0 0 / 0.45);
    text-align: left;
    cursor: pointer;
  }

  .tv-mobile__link.is-active,
  .tv-mobile__link:hover,
  .tv-mobile__link--toggle:hover {
    border-color: rgb(249 145 191 / 0.65);
    background: rgb(190 24 93 / 0.45);
    color: #fff !important;
  }

  .tv-mobile__chevron {
    margin-left: auto;
    opacity: 0.7;
  }

  .tv-mobile__sub {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin: 0.35rem 0 0.25rem 0.85rem;
    padding-left: 0.65rem;
    border-left: 2px solid rgb(249 145 191 / 0.4);
  }

  .tv-mobile__sublink {
    display: block;
    padding: 0.45rem 0.65rem;
    border-radius: 8px;
    color: #ffe4f0 !important;
    text-decoration: none !important;
    font-size: 0.92rem !important;
    background: rgb(72 32 58 / 0.75);
  }

  .tv-mobile__foot {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-top: 0.65rem;
    padding-top: 0.65rem;
    border-top: 1px solid rgb(249 145 191 / 0.28);
  }

  .tv-mobile__profile {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-width: 0;
    padding: 0.45rem 0.65rem;
    border: 1px solid rgb(249 145 191 / 0.32);
    border-radius: 12px;
    background: rgb(72 32 58 / 0.92);
    color: #fff;
    cursor: pointer;
    text-align: left;
  }

  .tv-mobile__avatar {
    width: 2rem !important;
    height: 2rem !important;
    border-radius: 8px !important;
    flex-shrink: 0;
  }

  .tv-mobile__profile-meta {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
  }

  .tv-mobile__profile-name {
    font-size: 0.95rem !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .tv-mobile__cart {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 12px;
    border: 1px solid rgb(249 145 191 / 0.4);
    background: rgb(72 32 58 / 0.92);
    color: #fff !important;
    text-decoration: none !important;
    flex-shrink: 0;
  }

  .tv-mobile__cart > i {
    font-size: 1.05rem;
    line-height: 1;
  }

  .tv-mobile__cart .tv-rail-cart__count,
  .tv-mobile__cart .shopping-cart-count {
    position: absolute !important;
    top: -0.2rem !important;
    right: -0.2rem !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 2;
    min-width: 1.05rem !important;
    width: auto !important;
    height: 1.05rem !important;
    margin: 0 !important;
    margin-left: 0 !important;
    padding: 0 0.22rem !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border: 1px solid rgb(255 255 255 / 0.35) !important;
    border-radius: 999px !important;
    background: #059669 !important;
    color: #fff !important;
    font-family: "Titan One", sans-serif !important;
    font-size: 0.62rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    box-shadow: 0 2px 6px rgb(0 0 0 / 0.35);
    flex-shrink: 0;
  }

  /* Pages — keep side gutters, slightly tighter on phones */
  .tv-shop__section,
  .tv-legal,
  .tv-account-page,
  .tv-profile,
  .tv-home-boards,
  .tv-store__section:not(.tv-store__section--nested),
  .tv-cart,
  .tv-credit__stage,
  .tv-chest,
  .tv-gift,
  .tv-order,
  .tv-apply,
  .tv-support,
  .tv-screen-footer .container {
    padding-left: var(--tv-gutter) !important;
    padding-right: var(--tv-gutter) !important;
  }

  .tv-shop__toolbar {
    gap: 0.65rem;
    margin-bottom: 0.85rem;
  }

  .tv-shop__title {
    font-size: clamp(1.35rem, 6vw, 1.85rem) !important;
  }

  .tv-legal {
    max-width: 100%;
  }

  .tv-legal__tabs {
    justify-content: stretch;
  }

  .tv-legal__tab {
    flex: 1 1 calc(33.333% - 0.4rem);
    min-width: 0;
    padding: 0.6rem 0.45rem;
    font-size: 0.82rem;
    text-align: center;
  }

  .tv-legal__panel {
    padding: 1.2rem 1rem 1.35rem;
  }

  .tv-profile__table-wrap,
  .tv-cart__list,
  .tv-account-main {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .tv-profile__table {
    min-width: 28rem;
  }

  .tv-account-tabs__list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
  }

  .tv-account-tabs__item {
    justify-content: center;
    text-align: center;
    min-height: 2.75rem;
    padding: 0.55rem 0.45rem !important;
    font-size: 0.82rem !important;
  }

  .tv-store__grid {
    grid-template-columns: 1fr !important;
  }

  .tv-screen-footer .container {
    padding-left: 0.85rem !important;
    padding-right: 0.85rem !important;
  }

  body.retro-tv-site .swal2-container.swal2-toast-shown,
  body.retro-tv-site .swal2-container:has(.swal2-toast) {
    padding-top: calc(4.25rem + var(--tv-chrome-top, 1.15rem) + env(safe-area-inset-top, 0px)) !important;
  }
}

@media (max-width: 420px) {
  .tv-home-hero__dock {
    max-width: 100%;
  }

  .tv-home-brand__wordmark {
    width: min(92vw, 340px);
  }

  .tv-mobile__home span {
    max-width: 7.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

/* Header overlap + non-sticky top bars */
body.retro-tv-site .retro-tv__chrome,
body.retro-tv-site:has(.tv-home-hero) .retro-tv__chrome {
  position: absolute !important;
  transform: translateY(calc(var(--tv-top-scroll-offset, 0px) * -1));
  will-change: transform;
}

body.retro-tv-site .retro-tv__broadcast-bar,
body.retro-tv-site:has(.tv-home-hero) .retro-tv__broadcast-bar {
  transform: translateY(calc(var(--tv-top-scroll-offset, 0px) * -1));
  will-change: transform;
}

body.retro-tv-site #header .tuselcraft-header {
  display: flex !important;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between !important;
  gap: clamp(2rem, 5vw, 4rem);
  column-gap: clamp(2rem, 5vw, 4rem);
  grid-template-columns: none !important;
  width: 100% !important;
  max-width: none !important;
}

body.retro-tv-site #header .tuselcraft-nav,
body.retro-tv-site #header .tuselcraft-nav--left {
  flex: 0 1 auto !important;
  flex-grow: 0 !important;
  width: auto;
  min-width: 0;
  max-width: none;
  margin-left: clamp(2.5rem, 8vw, 7.5rem) !important;
  margin-right: auto !important;
  overflow: visible;
  gap: clamp(0.18rem, 0.55vw, 0.5rem);
  padding-right: 0;
  grid-column: auto !important;
  justify-self: start !important;
}

body.retro-tv-site #header .tuselcraft-nav .nav-item {
  min-width: 0;
  padding-left: clamp(0.42rem, 0.75vw, 0.7rem);
  padding-right: clamp(0.42rem, 0.75vw, 0.7rem);
}

body.retro-tv-site #header .tuselcraft-nav .nav-item__label {
  min-width: 0;
  overflow: visible;
  text-overflow: clip;
}

body.retro-tv-site #header .tv-header-spacer {
  display: none !important;
}

body.retro-tv-site #header .tv-topbar-tools {
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
  min-width: max-content;
  margin-left: auto !important;
  margin-right: 0 !important;
  padding-left: clamp(1.75rem, 4.5vw, 4rem) !important;
  gap: 0.85rem !important;
  position: relative;
  z-index: 70;
}

body.retro-tv-site #header:has(.tv-rail-user) .tv-topbar-tools {
  gap: 1.1rem !important;
  padding-left: clamp(2rem, 5vw, 4.5rem) !important;
}

body.retro-tv-site #header .tv-topbar-tools::before,
body.retro-tv-site #header .tv-topbar-tools::after {
  content: none !important;
  display: none !important;
}

body.retro-tv-site #header .tv-discord-btn,
body.retro-tv-site #header .tuselcraft-login-btn--icon {
  flex: 0 0 auto;
}

body.retro-tv-site #header .tv-nav-combo {
  position: relative;
  flex: 0 0 auto;
  z-index: 80;
}

body.retro-tv-site #header .tv-nav-combo__trigger {
  border: none;
  width: auto;
  max-width: 10.4rem;
  padding-right: 0.5rem;
}

body.retro-tv-site #header .tv-nav-combo__chevron {
  display: block;
  width: 0.85rem !important;
  min-width: 0.85rem !important;
  max-width: 0.85rem !important;
  height: 0.85rem !important;
  min-height: 0.85rem !important;
  max-height: 0.85rem !important;
  flex: 0 0 0.85rem;
  color: currentColor;
  transition: transform 0.2s ease;
}

body.retro-tv-site #header .tv-nav-combo:hover .tv-nav-combo__chevron,
body.retro-tv-site #header .tv-nav-combo:focus-within .tv-nav-combo__chevron {
  transform: rotate(180deg);
}

body.retro-tv-site #header .tv-nav-combo__menu {
  position: absolute;
  top: calc(100% - 0.15rem);
  left: 0;
  z-index: 90;
  min-width: 14.5rem;
  display: none;
  padding: 0.7rem 0.45rem 0.45rem;
  border: 1px solid rgb(253 186 216 / 0.35);
  border-radius: 0.7rem;
  background: rgb(5 10 18 / 0.96);
  box-shadow:
    0 18px 32px rgb(0 0 0 / 0.48),
    inset 0 1px 0 rgb(255 255 255 / 0.08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  pointer-events: auto;
}

/* Invisible hover bridge so the cursor can reach menu items without a click */
body.retro-tv-site #header .tv-nav-combo__menu::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 100%;
  height: 0.85rem;
}

body.retro-tv-site #header .tv-nav-combo:hover .tv-nav-combo__menu,
body.retro-tv-site #header .tv-nav-combo:focus-within .tv-nav-combo__menu {
  display: grid;
  gap: 0.25rem;
}

body.retro-tv-site #header .tv-nav-combo__link {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.62rem 0.7rem;
  border-radius: 0.5rem;
  font-family: "Titan One", sans-serif;
  font-size: 0.86rem;
  line-height: 1.15;
  color: rgb(255 255 255 / 0.9);
  text-shadow: 0 2px 0 rgb(0 0 0 / 0.55);
  white-space: nowrap;
}

body.retro-tv-site #header .tv-nav-combo__link:hover,
body.retro-tv-site #header .tv-nav-combo__link:focus-visible {
  color: #fdbad8;
  background: transparent;
  box-shadow: none;
  text-shadow:
    0 0 10px rgb(249 145 191 / 0.7),
    0 2px 0 rgb(0 0 0 / 0.55);
  outline: none;
}

@media (max-width: 1380px) {
  body.retro-tv-site #header .tuselcraft-nav .nav-item {
    font-size: 0.88rem !important;
    gap: 0.34rem;
  }

  body.retro-tv-site #header .tv-nav-combo__trigger {
    width: 9.4rem;
    max-width: 9.4rem;
    font-size: 0.78rem !important;
  }

  body.retro-tv-site #header .tuselcraft-nav .nav-item--support {
    width: 2.3rem;
    min-width: 2.3rem;
    max-width: 2.3rem;
    padding-left: 0;
    padding-right: 0;
    overflow: hidden;
  }

  body.retro-tv-site #header .tuselcraft-nav .nav-item--support .nav-item__label {
    display: none;
  }

  body.retro-tv-site #header .nav-item__icon {
    font-size: 0.95rem;
  }

  body.retro-tv-site #header .tv-discord-btn {
    width: 2.25rem;
    min-width: 2.25rem;
  }

  body.retro-tv-site #header .tv-discord-btn {
    height: 2.35rem;
    min-height: 2.35rem;
    max-height: 2.35rem;
  }

  body.retro-tv-site #header .tuselcraft-login-btn__label {
    font-size: 0.9rem !important;
  }
}

@media (max-width: 1180px) {
  body.retro-tv-site #header .tuselcraft-nav .nav-item {
    font-size: 0.78rem !important;
    padding-left: 0.34rem;
    padding-right: 0.34rem;
  }

  body.retro-tv-site #header .tuselcraft-login-btn,
  body.retro-tv-site #header .tuselcraft-login-btn--icon {
    padding-left: 0.34rem !important;
    padding-right: 0.34rem !important;
  }

  body.retro-tv-site #header .tuselcraft-login-btn__label {
    font-size: 0.78rem !important;
  }
}

