/* ============ RAH ENHANCE v2 — cursor + reveal + FULL visual enchant ============ */

/* ---------- custom gold cursor (shared, JS-gated) ---------- */
html.rah-fx-on, html.rah-fx-on * { cursor: none !important; }
#rah-cursor{
  position:fixed; top:0; left:0; width:26px; height:26px; margin:-13px 0 0 -13px;
  border:2px solid rgba(243,195,95,.9); border-radius:50%;
  box-shadow:0 0 16px rgba(243,195,95,.55), inset 0 0 9px rgba(243,195,95,.30);
  pointer-events:none; z-index:99999; mix-blend-mode:screen; will-change:transform;
  transition:width .18s ease, height .18s ease, margin .18s ease, background .18s ease, border-color .18s ease;
}
#rah-cursor::after{ content:''; position:absolute; top:50%; left:50%; width:5px; height:5px; margin:-2.5px 0 0 -2.5px; border-radius:50%; background:#ffe9a8; box-shadow:0 0 10px #f3c35f; }
#rah-cursor.big{ width:48px; height:48px; margin:-24px 0 0 -24px; border-color:#ffe9a8; background:rgba(243,195,95,.08); }
#rah-cursor.click{ animation:rahPulse .22s ease; }
@keyframes rahPulse{ 0%{ box-shadow:0 0 0 rgba(243,195,95,.8);} 100%{ box-shadow:0 0 0 18px rgba(243,195,95,0);} }
@media (pointer:coarse){ #rah-cursor,#rah-fx-canvas{ display:none !important; } html.rah-fx-on, html.rah-fx-on *{ cursor:auto !important; } }
@media (prefers-reduced-motion: reduce){ #rah-fx-canvas{ display:none !important; } *{ animation-duration:.001s !important; } }

/* ---------- scroll reveal (gated) ---------- */
html.rah-fx-on .rah-reveal{ opacity:0; transform:translateY(24px); }
html.rah-fx-on .rah-reveal.rah-in{ opacity:1; transform:none; transition:opacity .75s ease, transform .75s cubic-bezier(.2,.8,.2,1); }

/* ---------- shared hover polish ---------- */
a, button, .btn, .stat, .card, .feature, .hnav-link, .hnav-top, .spec-card, .timebox {
  transition: transform .16s ease, box-shadow .22s ease, filter .2s ease, color .2s ease, background .2s ease, border-color .2s ease;
}
.btn:hover, button:hover { transform: translateY(-2px); filter: brightness(1.08); }

/* selection + premium scrollbar */
::selection{ background:rgba(243,195,95,.3); color:#fff; }
::-webkit-scrollbar{ width:11px; height:11px; }
::-webkit-scrollbar-track{ background:rgba(0,0,0,.25); }
::-webkit-scrollbar-thumb{ background:linear-gradient(#caa04a,#7a5520); border-radius:9px; border:2px solid rgba(0,0,0,.2); }
::-webkit-scrollbar-thumb:hover{ background:linear-gradient(#f3c35f,#9f6a24); }

/* ================================================================
   LANDING — FULL ENCHANT (scoped html.rah-landing)
   ================================================================ */

/* animated aurora + drifting light behind everything */
html.rah-landing body{ position:relative; }
html.rah-landing body::before{
  content:''; position:fixed; inset:-25%; z-index:0; pointer-events:none;
  background:
    radial-gradient(38% 48% at 18% 22%, rgba(243,195,95,.14), transparent 62%),
    radial-gradient(42% 52% at 84% 28%, rgba(43,214,163,.10), transparent 62%),
    radial-gradient(48% 58% at 50% 92%, rgba(84,185,255,.09), transparent 62%);
  animation:rahAurora 20s ease-in-out infinite alternate; filter:blur(26px);
}
@keyframes rahAurora{ 0%{transform:translate(0,0) scale(1)} 50%{transform:translate(2.5%,-2.5%) scale(1.08)} 100%{transform:translate(-2.5%,2.5%) scale(1.05)} }
html.rah-landing header, html.rah-landing .hero, html.rah-landing section, html.rah-landing footer, html.rah-landing .countdown-wrap{ position:relative; z-index:1; }

/* RAGNAROK gold title — living shimmer */
html.rah-landing .gold{
  background:linear-gradient(100deg,#9f6a24 0%,#f3c35f 28%,#fff6d8 47%,#f3c35f 66%,#9f6a24 100%);
  background-size:230% auto; -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
  animation:rahShimmer 6.5s linear infinite; filter:drop-shadow(0 6px 34px rgba(243,195,95,.32));
}
@keyframes rahShimmer{ to{ background-position:230% center; } }

/* eyebrow "COMING SOON" badge — breathing glow */
html.rah-landing .eyebrow{ animation:rahBadge 3.2s ease-in-out infinite; }
@keyframes rahBadge{ 0%,100%{ box-shadow:0 0 0 rgba(243,195,95,0);} 50%{ box-shadow:0 0 24px rgba(243,195,95,.4);} }

/* countdown timeboxes — staggered glow pulse + glowing numbers */
html.rah-landing .timebox{ animation:rahBoxGlow 4.2s ease-in-out infinite; }
html.rah-landing .timebox:nth-child(2){ animation-delay:.4s; }
html.rah-landing .timebox:nth-child(3){ animation-delay:.8s; }
html.rah-landing .timebox:nth-child(4){ animation-delay:1.2s; }
@keyframes rahBoxGlow{
  0%,100%{ box-shadow:0 16px 42px rgba(0,0,0,.5), inset 0 0 0 1px rgba(243,195,95,.14); }
  50%{ box-shadow:0 16px 46px rgba(0,0,0,.5), inset 0 0 0 1px rgba(243,195,95,.55), 0 0 30px rgba(243,195,95,.2); }
}
html.rah-landing .timebox:hover{ transform:translateY(-5px); }
html.rah-landing .timebox strong, html.rah-landing .timebox b, html.rah-landing .timebox span:first-child{ text-shadow:0 0 20px rgba(243,195,95,.45); }

/* stat & feature cards — glow border on hover */
html.rah-landing .stat:hover, html.rah-landing .card:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 54px rgba(0,0,0,.5), 0 0 0 1px rgba(243,195,95,.5), 0 0 32px rgba(243,195,95,.18);
}

/* primary button — pulse + shine sweep */
html.rah-landing .btn-primary{ position:relative; overflow:hidden; animation:rahBtnPulse 2.8s ease-in-out infinite; }
@keyframes rahBtnPulse{ 0%,100%{ box-shadow:0 8px 24px rgba(243,195,95,.3);} 50%{ box-shadow:0 12px 38px rgba(243,195,95,.6);} }
html.rah-landing .btn-primary::after{
  content:''; position:absolute; top:0; left:-130%; width:60%; height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent); transform:skewX(-20deg);
  animation:rahShine 3.4s ease-in-out infinite;
}
@keyframes rahShine{ 0%{ left:-130%; } 58%,100%{ left:150%; } }
html.rah-landing .btn-secondary:hover{ box-shadow:0 8px 22px rgba(243,195,95,.25); border-color:rgba(243,195,95,.6); }

/* art card float + logo glow */
html.rah-landing .art-frame{ animation:rahFloat 6.5s ease-in-out infinite; }
@keyframes rahFloat{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-12px);} }
html.rah-landing .brand-mark, html.rah-landing .art-frame img{ filter:drop-shadow(0 0 12px rgba(243,195,95,.4)); }

/* section titles underline shimmer */
html.rah-landing .section-title{ text-shadow:0 0 24px rgba(243,195,95,.2); }

/* nav links glow */
html.rah-landing .nav-links a:hover{ color:#ffe9a8; text-shadow:0 0 12px rgba(243,195,95,.5); }

/* ================================================================
   CONTROL PANEL — moderate enchant (FluxCP default theme)
   ================================================================ */
.hnav-link:hover, .hnav-top:hover { color:#ffe9a8 !important; text-shadow:0 0 12px rgba(243,195,95,.5); }
.hnav-drop a:hover { background:rgba(243,195,95,.12) !important; color:#ffe9a8 !important; padding-left:16px; }
.btn.gold:hover, .btn.green:hover { box-shadow:0 8px 24px rgba(243,195,95,.35); }
table tr:hover td { background:rgba(243,195,95,.07); }
.cp-content a:not(.btn):hover { text-shadow:0 0 8px rgba(243,195,95,.4); }
.topbar{ position:relative; }
.topbar::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:1px; background:linear-gradient(90deg,transparent,rgba(243,195,95,.55),transparent); }
.topbar .brand img{ transition:transform .3s ease, filter .3s ease; }
.topbar .brand:hover img{ transform:rotate(-6deg) scale(1.06); filter:drop-shadow(0 0 10px rgba(243,195,95,.6)); }
.spec-card{ transition:transform .2s ease, box-shadow .3s ease, border-color .3s ease; }
.spec-card:hover{ transform:translateY(-4px); box-shadow:0 16px 40px rgba(0,0,0,.4), 0 0 0 1px rgba(243,195,95,.4), 0 0 24px rgba(243,195,95,.15); }
.spec-card.spec-on{ animation:rahBoxGlow 4s ease-in-out infinite; }
h1, h2, .section-title{ text-shadow:0 0 22px rgba(243,195,95,.12); }
.legal-doc h1{ background:linear-gradient(100deg,#caa04a,#f3c35f,#fff3cf,#f3c35f,#caa04a); background-size:220% auto; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; animation:rahShimmer 7s linear infinite; }
