/* ===== AVALOC Fire Theme — Video Background + Custom Font ===== */

/* 1) Register RockoFLF as 'Rocko' */
@font-face{
  font-family: 'Rocko';
  src: url('fonts/RockoFLF.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* 2) Global design tokens */
:root{
  --font-main: 'Rocko', 'Open Sans', system-ui, Segoe UI, Arial, sans-serif;
  --gold:#ffca2a; --orange:#ff7a00; --red:#c12b00;
  --light:#fff; --coal:#090605;
}
*{box-sizing:border-box}
html,body{width:100%;min-height:100%;margin:0}

/* 3) Apply Rocko site-wide */
body{
  font-family: var(--font-main);
  color:var(--light); background:#000;
  display:flex; align-items:center; justify-content:center;
  text-align:center; overflow:hidden;
  cursor: url("../img/cursor.png") 0 0, auto;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* ——— Background video and overlays ——— */
.bg-video{
  position:fixed; inset:0; z-index:0; width:100%; height:100%;
  object-fit:cover; pointer-events:none; filter:saturate(1.1) brightness(1.05);
}
.bg-vignette{
  position:fixed; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(1200px 800px at 50% 50%, rgba(0,0,0,.0), rgba(0,0,0,.25) 70%),
    linear-gradient(to bottom, rgba(0,0,0,.35), rgba(0,0,0,.15) 20%, rgba(0,0,0,.35));
}
#embers{position:fixed; inset:0; z-index:2; pointer-events:none}
.noise{
  position:fixed; inset:0; z-index:3; pointer-events:none;
  background-image:repeating-conic-gradient(from 45deg, rgba(255,255,255,.02) 0 10deg, rgba(0,0,0,.02) 10deg 20deg);
  mix-blend-mode:overlay
}

@media (prefers-reduced-motion: reduce){
  .bg-video{display:none}
}

/* ——— Layout ——— */
.container{width:min(1300px,96vw);margin:auto;padding:60px 20px 80px;position:relative;z-index:4}

/* Logo */
.logo-wrap{position:relative;display:inline-block}
.logo{
  /* ↓ reduced from clamp(420px,55vw,880px) */
  width:clamp(300px, 40vw, 700px);
  filter:drop-shadow(0 10px 22px rgba(0,0,0,.7)) drop-shadow(0 0 26px rgba(255,160,60,.35));
}

/* ICON ROW */
.items{display:flex;flex-wrap:wrap;gap:clamp(40px,8vw,80px);justify-content:center;margin:48px 0 18px}
.item{display:flex;flex-direction:column;align-items:center;text-decoration:none}
.item .img{
  width:160px;
  border-radius:50%;
  padding:16px;
  transition:transform .25s ease, filter .25s ease, box-shadow .25s ease;
}
.item .title{
  margin-top:10px;
  font-weight:800; font-size:24px; letter-spacing:.03em;
  color:#fff; text-shadow:0 3px 8px rgba(0,0,0,.6)
}
/* Glow ONLY on hover for icons */
.item:hover .img{
  transform:scale(1.1);
  filter:brightness(1.1) saturate(1.08)
    drop-shadow(0 0 8px rgba(255,120,40,.8))
    drop-shadow(0 0 14px rgba(255,160,60,.6))
    drop-shadow(0 0 22px rgba(255,200,80,.35));
}

/* ===== Vote Section (no outer glow box) ===== */
.vote{
  margin-top:20px;
  padding:0;
  background:transparent;
  backdrop-filter:none;
  box-shadow:none;
  position:relative;
}
.vote h2{
  margin:6px 0 6px; font-size:22px; font-weight:800; letter-spacing:.04em;
  text-shadow:0 0 10px rgba(255,160,60,.35);
}
.vote-sub{margin:0 0 14px;font-size:14px;opacity:.95}

/* ===== Individual glowing vote LINKS ===== */
.vote-links{
  list-style:none;
  display:flex; flex-wrap:wrap; justify-content:center;
  gap:28px; padding:0; margin:12px 0 0;
}
.vote-links a{
  position:relative;
  display:inline-block;
  font-weight:800; font-size:18px; letter-spacing:.06em;
  text-decoration:none; color:#fff;
  padding:6px 8px;
  border-radius:10px;
  transition:filter .2s ease, transform .18s ease;
}
.vote-links a::after{
  content:"";
  position:absolute; left:10px; right:10px; bottom:2px; height:2px;
  background:linear-gradient(90deg, rgba(255,120,40,0), rgba(255,160,60,1), rgba(255,120,40,0));
  transform:scaleX(0); transform-origin:50% 100%;
  transition:transform .25s ease;
  box-shadow:0 0 10px rgba(255,160,60,.45);
}
.vote-links a::before{
  content:"";
  position:absolute; inset:-6px -10px;
  border-radius:14px;
  background:
    radial-gradient(60% 80% at 50% 50%, rgba(255,160,60,.18), rgba(255,120,40,.12) 45%, rgba(255,160,60,0) 70%);
  opacity:0; filter:blur(6px);
  transform:scale(.95);
  transition:opacity .18s ease, transform .18s ease;
  z-index:-1;
}
.vote-links a:hover,
.vote-links a:focus-visible{
  filter:brightness(1.12);
  transform:translateY(-1px);
  text-shadow:0 2px 10px rgba(255,160,60,.35), 0 0 18px rgba(255,130,40,.25);
}
.vote-links a:hover::after,
.vote-links a:focus-visible::after{ transform:scaleX(1) }
.vote-links a:hover::before,
.vote-links a:focus-visible::before{
  opacity:1; transform:scale(1);
  animation: voteGlowPulse 1.8s ease-in-out infinite;
}
@keyframes voteGlowPulse{
  0%,100%{ filter:blur(6px); opacity:.9 }
  50%{ filter:blur(8px); opacity:1 }
}

/* ===== Spiced Footer Line ===== */
.playerline{
  margin-top:34px;
  display:inline-flex; align-items:center; gap:12px;
  font-size:23px; letter-spacing:.08em;
  color:#fff; padding:10px 14px; border-radius:999px;
  background:rgba(15,10,8,.35); backdrop-filter: blur(6px);
  box-shadow:0 1px 0 rgba(255,255,255,.06) inset, 0 0 20px rgba(255,120,40,.12);
  position:relative;
}
.playerline .pl-chunk.muted{opacity:.9}
.playerline .dot{opacity:.5}

/* Animated lava-gradient count + states */
.count{
  font-weight:900;
  letter-spacing:.02em;
  background:linear-gradient(90deg,#ffd37a,#ff9a2e,#ff4d17,#ffd37a);
  background-size:300% 100%;
  -webkit-background-clip:text; background-clip:text; color:transparent;
  animation:lavaShift 6s linear infinite, pulse 2.2s ease-in-out infinite;
}
.count.loading{
  background:linear-gradient(90deg,#bbb,#ddd,#bbb);
  background-size:200% 100%;
  animation:lavaShift 2.5s linear infinite;
}
.count.stale{opacity:.85; filter:saturate(.9)}
.count.offline{background:unset; color:#ffd9d9; text-shadow:0 0 8px rgba(255,80,80,.35); animation:none}
@keyframes lavaShift{to{background-position:300% 0}}
@keyframes pulse{0%,100%{text-shadow:0 0 6px rgba(255,160,60,.35)}50%{text-shadow:0 0 16px rgba(255,190,90,.65)}}

/* Copyable IP pill with fiery underline + tooltip */
.ip-copy{
  appearance:none; border:none; background:transparent; color:#fff;
  font:inherit; letter-spacing:.1em;
  padding:0 2px; cursor: url("../img/cursor-hover.png") 0 0, pointer;
  position:relative; transition:filter .2s ease, transform .15s ease;
}
.ip-copy::after{
  content:"Click to copy";
  position:absolute; left:50%; top:-160%;
  transform:translateX(-50%) translateY(6px);
  padding:4px 8px; font-size:11px; letter-spacing:.04em;
  background:rgba(0,0,0,.55); color:#fff; border-radius:6px;
  opacity:0; pointer-events:none; white-space:nowrap;
  transition:opacity .18s ease, transform .18s ease;
  box-shadow:0 2px 8px rgba(0,0,0,.3);
}
.ip-copy:hover::after{opacity:1; transform:translateX(-50%) translateY(0)}
.ip-copy:before{
  content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px;
  background:linear-gradient(90deg, rgba(255,120,40,0), rgba(255,160,60,1), rgba(255,120,40,0));
  transform:scaleX(0); transform-origin:50% 100%;
  transition:transform .25s ease; box-shadow:0 0 10px rgba(255,160,60,.6);
}
.ip-copy:hover:before{transform:scaleX(1)}
.ip-copy.copied{filter:brightness(1.15); transform:translateY(-1px) scale(1.03)}
.copy-toast{
  position:absolute; right:-2px; top:-34px;
  font-weight:800; font-size:11px; letter-spacing:.15em;
  padding:4px 10px; border-radius:999px;
  color:#1a0c05; background:linear-gradient(90deg,#ffd37a,#ff9a2e);
  box-shadow:0 4px 16px rgba(0,0,0,.35), 0 0 14px rgba(255,160,60,.5);
  opacity:0; transform:translateY(6px); transition:opacity .2s ease, transform .2s ease;
}
.ip-copy.copied + .copy-toast{opacity:1; transform:translateY(0)}

/* Hover cursor (fiery) on key targets */
a:hover, button:hover, .item:hover, .ip-copy:hover {
  cursor: url("../img/cursor-hover.png") 0 0, pointer;
}
/* ===== Legal Disclaimer (fixed overlay, bottom center) ===== */
.disclaimer {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 8px;
  z-index: 9999; /* make sure it shows above video/canvas/noise */
  text-align: center;
  font-size: 12px;
  line-height: 1.2;
  color: rgba(255, 255, 255, 0.8);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  pointer-events: none; /* don’t block clicks behind */
}
.disclaimer > span {
  display: inline-block;
  background: rgba(0, 0, 0, 0.55);
  padding: 6px 10px;
  border-radius: 9999px;
  pointer-events: auto; /* allow text selection */
}
@media (max-width: 480px) {
  .disclaimer { font-size: 11px; bottom: 6px; }
  .disclaimer > span { padding: 5px 8px; }
}