/* ark2.com — asaservers shared visual FX */
#embers{position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.55}

/* radar-ping on online status dots */
.dot.on{position:relative}
.dot.on::after{content:"";position:absolute;inset:0;border-radius:50%;animation:radar 2.4s ease-out infinite}
@keyframes radar{0%{box-shadow:0 0 0 0 rgba(63,185,80,.5)}70%{box-shadow:0 0 0 9px rgba(63,185,80,0)}100%{box-shadow:0 0 0 0 rgba(63,185,80,0)}}

/* sparkline draw-on */
.spark{overflow:visible}
.spark polyline{stroke-dasharray:260;stroke-dashoffset:260;animation:sparkDraw 1.1s ease-out forwards}
@keyframes sparkDraw{to{stroke-dashoffset:0}}

/* scroll reveal — only hidden once JS confirms via body.fx-ready (fail-safe: visible if JS never loads) */
.reveal{transition:opacity .5s ease,transform .5s ease}
.fx-ready .reveal:not(.in){opacity:0;transform:translateY(9px)}

/* featured (EliteArk) rows: animated gradient border sweep */
.row.rf{position:relative}
.row.rf::after{content:"";position:absolute;inset:0;border-radius:12px;padding:1.5px;pointer-events:none;
  background:linear-gradient(110deg,transparent 20%,rgba(255,122,24,.75),transparent 80%);background-size:220% 100%;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  animation:featSweep 3.5s linear infinite}
@keyframes featSweep{0%{background-position:120% 0}100%{background-position:-120% 0}}

/* shimmering title */
.shimmer{background:linear-gradient(110deg,var(--text) 25%,var(--text) 43%,var(--accent) 50%,var(--text) 57%,var(--text) 75%);
  background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  animation:shine 6s linear infinite}
.shimmer:hover{filter:brightness(1.12) drop-shadow(0 0 16px rgba(255,122,24,.5))}
@keyframes shine{to{background-position:-220% 0}}

/* vote burst particle */
.burst{position:fixed;width:7px;height:7px;border-radius:50%;pointer-events:none;z-index:9999}
.themebtn{background:var(--chip);border:1px solid var(--line);color:var(--text);border-radius:9px;padding:7px 11px;font-size:15px;cursor:pointer;line-height:1}

/* light theme base (page-specific overrides live in each page) */
:root[data-theme=light]{--bg:#eef1f7;--panel:#ffffff;--panel2:#f6f8fc;--line:#dbe1ec;--text:#18202c;--muted:#5f6b7c;--chip:#eef2f8}
:root[data-theme=light] body{background:radial-gradient(1100px 500px at 50% -200px,#e4ebf7 0,var(--bg) 60%) no-repeat,var(--bg)}

@media (prefers-reduced-motion: reduce){
  #embers{display:none}
  .dot.on::after,.row.rf::after,.shimmer{animation:none}
  .spark polyline{animation:none;stroke-dashoffset:0}
  .shimmer{-webkit-text-fill-color:currentColor;color:inherit}
  .reveal{opacity:1;transform:none}
}
