/* RevengeOps Dark Ops — global theme overlay (black · yellow · white) */
:root{
  --background:225 9% 8%;
  --foreground:40 10% 96%;
  --card:225 8% 12%;
  --card-foreground:40 10% 96%;
  --popover:225 8% 10%;
  --popover-foreground:40 10% 96%;
  --primary:45 95% 53%;
  --primary-foreground:45 30% 8%;
  --secondary:220 6% 16%;
  --secondary-foreground:40 10% 92%;
  --muted:220 6% 16%;
  --muted-foreground:40 4% 62%;
  --accent:220 6% 16%;
  --accent-foreground:40 10% 92%;
  --destructive:0 74% 58%;
  --destructive-foreground:0 0% 100%;
  --border:220 6% 19%;
  --input:220 6% 19%;
  --ring:45 95% 53%;
  --chart-1:45 95% 53%;
  --neu-dark:rgba(0,0,0,.5);
  --neu-light:rgba(255,255,255,.04);
}

/* ambient always-on background drift */
body{
  background-image:
    radial-gradient(700px 460px at 12% 8%, rgba(245,197,24,.05), transparent 62%),
    radial-gradient(800px 520px at 88% 92%, rgba(245,197,24,.04), transparent 62%);
  background-attachment:fixed;
  animation:frostDrift 22s ease-in-out infinite alternate;
}
@keyframes frostDrift{from{background-position:0% 0%,100% 100%}to{background-position:4% 3%,96% 97%}}

/* soft raised cards with breathing shadow */
.bg-card{
  box-shadow:9px 9px 18px var(--neu-dark),-9px -9px 18px var(--neu-light);
  animation:frostBreathe 8s ease-in-out infinite;
}
@keyframes frostBreathe{
  0%,100%{box-shadow:9px 9px 18px var(--neu-dark),-9px -9px 18px var(--neu-light)}
  50%{box-shadow:11px 11px 26px rgba(0,0,0,.62),-11px -11px 24px rgba(255,255,255,.06)}
}

/* raised buttons */
button,[role="button"]{transition:transform .15s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease}
.bg-primary{box-shadow:0 0 0 rgba(245,197,24,0),5px 5px 12px var(--neu-dark);animation:frostBtnGlow 3.2s ease-in-out infinite}
.bg-primary:hover{transform:translateY(-1px)}
@keyframes frostBtnGlow{0%,100%{box-shadow:0 0 6px rgba(245,197,24,.12),5px 5px 12px var(--neu-dark)}50%{box-shadow:0 0 16px rgba(245,197,24,.32),5px 5px 12px var(--neu-dark)}}

/* nav micro-motion */
nav a{transition:background-color .2s ease,color .2s ease,transform .18s ease}
nav a:hover{transform:translateX(3px)}

/* status dots pulse (always on) */
@keyframes frostDot{0%,100%{box-shadow:0 0 0 0 rgba(74,222,128,.5)}70%{box-shadow:0 0 0 7px rgba(74,222,128,0)}}
.bg-emerald-400,.bg-emerald-500,.bg-green-500{animation:frostDot 2.4s ease-in-out infinite}

/* logo glow */
img.frost-logo{animation:frostLogoGlow 6s ease-in-out infinite}
@keyframes frostLogoGlow{0%,100%{filter:drop-shadow(0 0 0 rgba(245,197,24,0))}50%{filter:drop-shadow(0 0 12px rgba(245,197,24,.4))}}

/* water ripple */
.frost-ripple-host{position:relative!important;overflow:hidden!important}
.frost-ripple{position:absolute;border-radius:9999px;pointer-events:none;z-index:5;opacity:.9;
  transform:translate(-50%,-50%) scale(0);
  background:radial-gradient(circle,rgba(255,255,255,.5) 0%,rgba(245,197,24,.35) 45%,rgba(245,197,24,0) 70%);
  animation:frostRipple .7s cubic-bezier(.2,.6,.3,1) forwards}
.frost-ripple-ring{position:absolute;border-radius:9999px;pointer-events:none;z-index:5;
  transform:translate(-50%,-50%) scale(0);
  border:2px solid rgba(245,197,24,.5);
  animation:frostRipple .95s cubic-bezier(.2,.6,.3,1) forwards}
@keyframes frostRipple{70%{opacity:.8}to{transform:translate(-50%,-50%) scale(1);opacity:0}}

/* scrollbars */
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:#3a3d44;border-radius:8px;border:2px solid #131417}
::-webkit-scrollbar-track{background:transparent}

/* telegram preview bubble override */
.bg-\[\#182533\]{background-color:#22242a !important;color:#f5f5f4}

/* sound toggle */
#frost-sound-toggle{position:fixed;right:16px;bottom:16px;z-index:2147482999;width:42px;height:42px;border-radius:50%;
  border:1px solid #2a2c31;background:#1b1d21;color:#a3a3a3;display:flex;align-items:center;justify-content:center;
  cursor:pointer;box-shadow:5px 5px 12px var(--neu-dark)}
#frost-sound-toggle:hover{color:#f5c518}
