/* ============================================================
   Polish layer — hero life, accents, micro-interactions
   (additive; respects prefers-reduced-motion throughout)
   ============================================================ */

/* Paint dots drifting over the hero */
.rst-welcome::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:
    radial-gradient(circle 5px at 8% 22%, var(--rst-gold) 98%, transparent),
    radial-gradient(circle 4px at 18% 78%, var(--rst-electric) 98%, transparent),
    radial-gradient(circle 6px at 32% 12%, var(--rst-yellow) 98%, transparent),
    radial-gradient(circle 4px at 62% 88%, var(--rst-blue) 98%, transparent),
    radial-gradient(circle 5px at 78% 18%, var(--rst-violet) 98%, transparent),
    radial-gradient(circle 4px at 92% 62%, var(--rst-orange) 98%, transparent);
  opacity:.55;animation:rst-drift 14s ease-in-out infinite alternate}
@keyframes rst-drift{from{transform:translateY(-8px)}to{transform:translateY(10px)}}
.rst-welcome h1{font-size:clamp(34px,4.6vw,58px);line-height:1.04;letter-spacing:-.01em}

/* Paint-splash underline for section titles */
.head h2{position:relative;display:inline-block;padding-bottom:8px}
.head h2::after{content:"";position:absolute;left:0;bottom:0;height:6px;width:64%;border-radius:99px;
  background:linear-gradient(90deg,var(--rst-electric),var(--rst-gold),var(--rst-blue))}

/* Button shine sweep */
.btn{position:relative;overflow:hidden}
.btn.gold::before{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;pointer-events:none;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg)}
.btn.gold:hover::before{animation:rst-shine .7s ease}
@keyframes rst-shine{to{left:130%}}

/* Card hover lift (unified) */
.rst-pack-card,.rst-crew-card,.community-post,.panel{transition:transform var(--rst-speed) var(--rst-ease),box-shadow var(--rst-speed) var(--rst-ease)}
.community-post:hover{transform:translateY(-2px);box-shadow:var(--rst-shadow)}

/* Marketplace card image: gentle zoom on hover (wrapper only — art itself untouched) */
.rst-card-imgwrap{overflow:hidden;border-radius:10px}
.rst-card-imgwrap img{transition:transform .45s var(--rst-ease)}

/* Stat tiles: gradient numbers */
.rst-stat b,.stat b{background:var(--rst-rainbow);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:1.5em}

/* Nicer scrollbars + selection */
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:#1e1e27}
::-webkit-scrollbar-thumb{background:linear-gradient(var(--rst-pink),var(--rst-electric));border-radius:99px;border:2px solid #1e1e27}
::selection{background:var(--rst-yellow);color:#ffd23f}

/* Smooth scrolling (motion-safe) */
html{scroll-behavior:smooth}

/* Back-to-top button */
#rstToTop{position:fixed;right:18px;bottom:84px;z-index:60;width:46px;height:46px;border-radius:50%;
  background:#1a1a22;color:#fff;border:none;font-size:20px;cursor:pointer;box-shadow:var(--rst-shadow-lg);
  opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .25s,transform .25s}
#rstToTop.show{opacity:1;pointer-events:auto;transform:none}
#rstToTop:hover{background:var(--rst-electric)}
@media (min-width:861px){#rstToTop{bottom:24px}}

@media (prefers-reduced-motion:reduce){
  .rst-welcome::after,.btn.gold:hover::before{animation:none!important}
  html{scroll-behavior:auto}
  .rst-card:hover .rst-card-imgwrap img{transform:none}
  .community-post:hover{transform:none}
}

/* --- Oct 20 2026 finish pass: seal glow, footer, button depth --- */
.rst-welcome{border-color:var(--rst-edge-strong);
  box-shadow:var(--rst-shadow-lg), inset 0 0 0 1px rgba(210,31,44,.22),
  inset 0 -70px 100px -60px rgba(210,31,44,.30), inset 0 40px 80px -60px rgba(47,95,232,.16)}
.btn.gold,.rst-cta-main{background:linear-gradient(180deg,#e83845,var(--rst-seal-red) 55%,#a3121f)}
.rst-footer{background:var(--rst-bg-soft);color:var(--rst-ink-soft)}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid rgba(210,31,44,.6);outline-offset:1px}
