:root{
  --bg:#0a0c12; --card:#10131b; --line:#1e2735; --muted:#b7c0d1; --text:#e9eef6;
  --neon:#00ffd5; --mag:#ff2bd6; --accent:#7cff00; --bs-code-color:#d63384;
  code, .schedule-table .vs code, code{
  color: var(--bs-code-color) !important;
}
body{
  background:
    radial-gradient(1200px 800px at 15% -10%, rgba(255,43,214,.08), transparent 60%),
    radial-gradient(1000px 700px at 110% 10%, rgba(0,255,213,.10), transparent 60%),
    linear-gradient(180deg, #080a0f, #0a0c12);
    color:var(--text);
    background-color: #000 !important; 
}
a, .link-light{color:var(--text);}
.wrap{max-width:1200px}
.section-title{font-weight:700; letter-spacing:.4px}
.text-dim{color:var(--muted)!important}


.card-neon{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:16px;
  padding:16px;
  box-shadow: 0 10px 26px rgba(0,0,0,.35);
  margin: auto;
  margin-top: auto;
}

/* Tables */
.table-dark{
  --bs-table-bg:transparent;
  --bs-table-striped-bg:rgba(255,255,255,.04);
  --bs-table-hover-bg:rgba(0,255,213,.08);
  color:var(--text);
}
.table thead th{color:#ced6e4;}
.progress{height:8px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.1)}
.progress-bar{background: linear-gradient(90deg, var(--neon), var(--mag)); box-shadow:0 0 10px rgba(0,255,213,.5)}

/* Crown animation for #1 */
.crown{display:inline-flex; align-items:center; margin-left:6px; filter: drop-shadow(0 0 6px rgba(255,215,0,.6));}
.crown i{display:inline-block; animation:crownPulse 1.8s ease-in-out infinite;}
@keyframes crownPulse{
  0%,100%{ transform:translateY(0) scale(1); text-shadow:0 0 6px rgba(255,215,0,.8); }
  50%    { transform:translateY(-1px) scale(1.06); text-shadow:0 0 12px rgba(255,215,0,1); }
}

/* Sticky search bar */
.search-wrap{
  position:sticky; top:0; z-index:30;
  background:linear-gradient(180deg, rgba(10,12,18,.97), rgba(10,12,18,.7), transparent);
  backdrop-filter: blur(6px);
  border-bottom:1px solid var(--line);
}

/* Neon controls */
.btn-neon{border:1px solid rgba(0,255,213,.35); color:#e7fff8; background:rgba(0,255,213,.08); font-weight:600}
.btn-neon:hover{border-color:rgba(255,43,214,.45); background:rgba(255,43,214,.12); color:#fff}

/* Neon input/select */
.form-control, .form-select, .form-control:focus, .form-select:focus{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.18);
  color:var(--text);
  box-shadow:none;
}

/* Dark SELECT + options */
.select-neon{position:relative; display:inline-block; width:100%;}
.select-neon select{
  appearance:none; -webkit-appearance:none; -moz-appearance:none;
  width:100%; padding:.5rem 2.2rem .5rem .75rem;
  background-color:var(--bg) !important;
  background-image: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border:1px solid rgba(0,255,213,.35);
  border-radius:12px; color:var(--text); font-weight:600;
  outline:none; transition:border .2s, box-shadow .2s;
}
.select-neon select:focus{border-color:rgba(255,43,214,.6); box-shadow:0 0 0 3px rgba(255,43,214,.18)}
.select-neon::after{
  content:"\25BE"; position:absolute; right:.6rem; top:50%; transform:translateY(-50%);
  pointer-events:none; color:var(--neon); text-shadow:0 0 8px rgba(0,255,213,.8);
}
.select-neon select option{
  background-color:#0a0c12 !important; color:var(--text) !important;
}

/* Loader */
.loader{display:none; position:fixed; inset:0; background:rgba(8,10,16,.6); backdrop-filter: blur(4px); z-index:2000; align-items:center; justify-content:center;}
.loader .spin{width:56px; height:56px; border-radius:50%; border:3px solid rgba(255,255,255,.12); border-top-color:var(--neon); animation:spin 1s linear infinite;}
@keyframes spin{to{transform:rotate(360deg)}}

/* Member/user card */
.member-card{background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); color:var(--text);}
.member-card a{color:var(--text)!important;}

/* Schedule tables */
.schedule-wrap{background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); border-radius:12px; padding:12px;}
.schedule-table{width:100%; table-layout:fixed; border-collapse:separate; border-spacing:0 6px;}
.schedule-table .td{font-size:.95rem;}
.schedule-table .time{width:64px; color:var(--muted); font-family:ui-monospace, Menlo, Consolas, "Courier New", monospace;}
.schedule-table .teamA{text-align:right; padding-right:.5rem;}
.schedule-table .vs{width:64px; text-align:center; color:var(--muted);}
.schedule-table .teamB{text-align:left; padding-left:.5rem;}
.schedule-table .icon{width:28px; text-align:center}

/* Emoji dot */
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;background:#ffe14a; box-shadow:0 0 8px rgba(255,225,74,.6)}

footer{border-top:1px solid var(--line); color:var(--muted)}
.footer-link{color:var(--text); text-decoration:none;}
.footer-link:hover{color:var(--neon)}
footer .text-dim code,
footer code,
#liveTime,
.schedule-table .vs code {
 color: var(--bs-code-color) !important;
}

/* Link speciale neon cyberpunk */
.footer-link-special {
  color: #ff2bd6; /* fucsia neon */
  text-shadow: 0 0 6px rgba(255,43,214,.7), 0 0 12px rgba(255,43,214,.5);
  font-weight: 600;
  transition: all .3s ease;
}

.footer-link-special:hover {
  color: #00ffd5; /* virata al verde acqua */
  text-shadow: 0 0 10px rgba(0,255,213,.9), 0 0 20px rgba(255,43,214,.6);
  transform: scale(1.05);
}



/* layout titolo + logo */
.brand-title{
  display:flex;
  align-items:center;
  gap:.8rem;
}

/* logo piccolo con glow */
.brand-logo{
  width:58px;height:58px;border-radius:6px;object-fit:cover;
/*  box-shadow:0 0 8px rgba(0,255,213,.35); */
  flex:0 0 auto;
}

/* titolo â€œHools Hubâ€ con font e animazioni */
.hools-title{
  font-family:'Audiowide', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-weight:400;
  font-size:clamp(1.15rem, 2.4vw, 1.6rem);
  letter-spacing:.5px;
  text-transform:uppercase;
  line-height:1.1;
  background:linear-gradient(90deg, var(--neon), var(--mag), var(--accent), var(--neon));
  background-size:220% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow:0 0 10px rgba(0,255,213,.35);
  animation:hh-shine 6s linear infinite, hh-flicker 5s ease-in-out infinite;
  position:relative;
}

/* underline animata sottile */
.hools-title::after{
  content:"";
  position:absolute; left:calc(28px + .6rem); right:0; bottom:-6px;
  height:2px; border-radius:2px;
  background:linear-gradient(90deg, var(--neon), var(--mag));
  opacity:.7;
  animation:hh-underline 3.8s ease-in-out infinite;
}

/* ===== Weekly Winner banner ===== */
.winner-banner{
  display:flex; justify-content:center; align-items:center;
  margin: 6px 0 12px;
  position: relative;
}

.winner-pill{
  display:inline-flex; align-items:center; gap:.6rem;
  padding:.55rem 1rem;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  box-shadow:
    0 0 22px rgba(0,255,213,.20),
    inset 0 0 12px rgba(255,255,255,.05);
  animation: ww-pop .6s ease-out both, ww-glow 3s ease-in-out infinite;
  backdrop-filter: blur(3px);
}

/* Weekly Champion: gold + glow + sheen */
.winner-pill .label-week{
  background: linear-gradient(90deg, #8a6b00, #ffd54a, #fff1a8, #ffd54a, #8a6b00);
  background-size: 200% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;                     /* testo prende il gradiente */
  text-shadow: 0 0 8px rgba(255,215,0,.55),
               0 0 18px rgba(255,215,0,.35);
  position: relative;
  padding: 0 .25rem;
  animation: goldShift 6s linear infinite,
             goldPulse 2.4s ease-in-out infinite; /* effetto “corona” */
  font-weight: 600;
}

.winner-pill .name{
  font-weight:800;
  letter-spacing:.4px;
  background: linear-gradient(90deg, var(--neon), var(--mag), var(--accent), var(--neon));
  background-size: 220% 100%;
  -webkit-background-clip: text; background-clip: text; color: transparent;
  text-shadow: 0 0 10px rgba(0,255,213,.35);
  animation: ww-shine 6s linear infinite;
  white-space: nowrap;
}

/* riflesso che attraversa la scritta */
.winner-pill .label::after{
  content:"";
  position:absolute;
  top:-10%; bottom:-10%;
  left:-15%;
  width:30%;
  transform: skewX(-20deg) translateX(-100%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.65), transparent);
  filter: blur(4px);
  animation: goldSheen 2.8s ease-in-out infinite;
  pointer-events:none;
}

.winner-pill .trophy{
  font-size:1.15rem;
  filter: drop-shadow(0 0 6px rgba(255,215,0,.7));
  animation: ww-bounce 1.8s ease-in-out infinite;
}
.winner-banner{ filter: drop-shadow(0 0 10px rgba(255,215,0,.35)); }

.winner-banner::after{
  content:"";
  position:absolute; inset:-8px;
  pointer-events:none;
  background:
    radial-gradient(circle at 20% 30%, rgba(255,215,0,.22), transparent 40%),
    radial-gradient(circle at 80% 25%, rgba(0,255,213,.18), transparent 45%),
    radial-gradient(circle at 60% 80%, rgba(255,43,214,.18), transparent 40%);
  animation: ww-sparkle 4.5s ease-in-out infinite;
  border-radius: 16px;
  mask-image: radial-gradient(circle at 50% 50%, rgba(255,255,255,.7), transparent 65%);
}

.winner-pill a.name{
  display:inline-block;
  text-decoration:none;
  cursor:pointer;
}
.winner-pill a.name:hover{
  text-shadow:0 0 14px rgba(0,255,213,.45);
}
.winner-pill a.name:focus-visible{
  outline:2px solid var(--neon);
  outline-offset:2px;
  border-radius:6px;
}
/* animazioni gold */
@keyframes goldShift{
  0%{ background-position: 0% 50% }
  100%{ background-position: 200% 50% }
}
@keyframes goldPulse{
  0%,100%{
    text-shadow: 0 0 6px rgba(255,215,0,.50),
                 0 0 16px rgba(255,215,0,.25);
  }
  50%{
    text-shadow: 0 0 10px rgba(255,235,59,.90),
                 0 0 22px rgba(255,215,0,.55);
  }
}
@keyframes goldSheen{
  0%{   transform: skewX(-20deg) translateX(-120%); }
  100%{ transform: skewX(-20deg) translateX(320%);  }
}

/* accessibilità: riduci motion se richiesto dall’utente */
@media (prefers-reduced-motion: reduce){
  .winner-pill .label{ animation: none; }
  .winner-pill .label::after{ display:none; }
}
/* keyframes */
@keyframes ww-pop{ from{transform:scale(.92); opacity:0} to{transform:scale(1); opacity:1} }
@keyframes ww-glow{
  0%,100%{ box-shadow: 0 0 22px rgba(0,255,213,.20), inset 0 0 12px rgba(255,255,255,.05); }
  50%    { box-shadow: 0 0 28px rgba(255,43,214,.28), inset 0 0 14px rgba(255,255,255,.07); }
}
@keyframes ww-shine{ 0%{background-position:0% 50%} 100%{background-position:200% 50%} }
@keyframes ww-bounce{
  0%,100%{ transform: translateY(0) }
  50%    { transform: translateY(-2px) }
}
@keyframes ww-sparkle{
  0%,100%{ opacity:.6; transform: translateY(0) }
  50%    { opacity:1;  transform: translateY(-3px) }
}


/* animazioni */
@keyframes hh-shine{
  0%{background-position:0% 50%}
  100%{background-position:200% 50%}
}
@keyframes hh-flicker{
  0%,100%{filter:drop-shadow(0 0 10px rgba(0,255,213,.35))}
  92%{filter:drop-shadow(0 0 7px rgba(0,255,213,.25))}
  95%{filter:drop-shadow(0 0 14px rgba(255,43,214,.45))}
  97%{filter:drop-shadow(0 0 9px rgba(124,255,0,.40))}
}
@keyframes hh-underline{
  0%,100%{transform:translateX(0); opacity:.75}
  50%{transform:translateX(6px); opacity:1}
}

/* Cookie consent — neon style */
.cookie-consent{
  position: fixed;
  left: 50%;
  bottom: 16px;
  transform: translateX(-50%);
  width: min(960px, calc(100% - 24px));
  z-index: 5000;

  background: rgba(12,16,26,.92);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0,0,0,.45);
  padding: 14px 14px;
}
.cookie-consent::before{
  content: "";
  position: absolute; inset: -2px;
  border-radius: 18px;
  background: conic-gradient(from 120deg at 50% 50%, var(--neon), var(--mag), var(--accent), var(--neon));
  filter: blur(12px) saturate(140%);
  opacity: .22; z-index: -1;
}

.cookie-row{ display:flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.cookie-ico{ font-size: 26px; filter: drop-shadow(0 0 6px rgba(255,215,0,.6)); }
.cookie-title{ font-weight: 700; margin: 0; }
.cookie-text{ color: var(--muted); font-size: .95rem; }

.cookie-actions{ margin-left: auto; display:flex; gap: 8px; }
.cookie-actions .btn-ghost{
  border:1px solid rgba(255,255,255,.25);
  background: rgba(255,255,255,.06);
  color: var(--text);
  font-weight: 600;
}
.cookie-actions .btn-ghost:hover{
  border-color: rgba(255,255,255,.45);
  background: rgba(255,255,255,.10);
}

/* Mobile */
@media (max-width: 576px){
  .cookie-row{ align-items: flex-start; }
  .cookie-actions{ width: 100%; justify-content: flex-end; }
}

/* animazioni gold */
@keyframes goldShift{
  0%{ background-position: 0% 50% }
  100%{ background-position: 200% 50% }
}
@keyframes goldPulse{
  0%,100%{
    text-shadow: 0 0 6px rgba(255,215,0,.50),
                 0 0 16px rgba(255,215,0,.25);
  }
  50%{
    text-shadow: 0 0 10px rgba(255,235,59,.90),
                 0 0 22px rgba(255,215,0,.55);
  }
}
@keyframes goldSheen{
  0%{   transform: skewX(-20deg) translateX(-120%); }
  100%{ transform: skewX(-20deg) translateX(320%);  }
}

/* accessibilità: riduci motion se richiesto dall’utente */
@media (prefers-reduced-motion: reduce){
  .winner-pill .label{ animation: none; }
  .winner-pill .label::after{ display:none; }
}
/* keyframes */
@keyframes ww-pop{ from{transform:scale(.92); opacity:0} to{transform:scale(1); opacity:1} }
@keyframes ww-glow{
  0%,100%{ box-shadow: 0 0 22px rgba(0,255,213,.20), inset 0 0 12px rgba(255,255,255,.05); }
  50%    { box-shadow: 0 0 28px rgba(255,43,214,.28), inset 0 0 14px rgba(255,255,255,.07); }
}
@keyframes ww-shine{ 0%{background-position:0% 50%} 100%{background-position:200% 50%} }
@keyframes ww-bounce{
  0%,100%{ transform: translateY(0) }
  50%    { transform: translateY(-2px) }
}
@keyframes ww-sparkle{
  0%,100%{ opacity:.6; transform: translateY(0) }
  50%    { opacity:1;  transform: translateY(-3px) }
}


/* animazioni */
@keyframes hh-shine{
  0%{background-position:0% 50%}
  100%{background-position:200% 50%}
}
@keyframes hh-flicker{
  0%,100%{filter:drop-shadow(0 0 10px rgba(0,255,213,.35))}
  92%{filter:drop-shadow(0 0 7px rgba(0,255,213,.25))}
  95%{filter:drop-shadow(0 0 14px rgba(255,43,214,.45))}
  97%{filter:drop-shadow(0 0 9px rgba(124,255,0,.40))}
}
@keyframes hh-underline{
  0%,100%{transform:translateX(0); opacity:.75}
  50%{transform:translateX(6px); opacity:1}
}

/* un filo piÃ¹ grande su desktop */
@media (min-width: 992px){
  .brand-logo{width:120px;height:120px}
  .hools-title{font-size:clamp(1.5rem, 2vw, 1.9rem)}
}


/* ========== MOBILE: forza una sola riga + dimensioni adattive ========== */

/* Base per tutti i telefoni (fino a 480px) */
@media (max-width: 480px) {
  .schedule-wrap{
    padding: 12px 12px;
    border-radius: 12px;
  }
  .schedule-table .td{
    white-space: nowrap;      /* niente a capo */
    overflow: hidden;
    text-overflow: clip;      /* evita ellissi: rimane una riga */
    padding: 8px 6px;
    font-size: 13px;
    line-height: 1.2;
  }
  .schedule-table .time{ width: 56px !important; }  /* orario visibile su schermi medi */
  .schedule-table .vs{   width: 60px !important; }
  .schedule-table .icon{ width: 28px !important; }
  .dot{ width:7px; height:7px; margin-right:6px; }
  .schedule-table .teamA{ text-align:right; padding-right:8px; }
  .schedule-table .teamB{ text-align:left;  padding-left:8px; }
}

/* iPhone 12/13/14 (390px), Pixel 7/8 (412â€“411px), iPhone 15 (393px) */
@media (max-width: 430px) {
  .schedule-table .td{ font-size: 12.5px; padding: 7px 5px; }
  .schedule-table .vs{   width: 54px !important; }
  .schedule-table .icon{ width: 24px !important; }
  .dot{ width:6.5px; height:6.5px; margin-right:5px; }
}

/* 390px e giÃ¹ (iPhone 12/13/14/15) â†’ nascondo lâ€™ora per far entrare i nomi lunghi */
@media (max-width: 390px) {
  .schedule-table .td{ font-size: 12px; padding: 6px 4px; }
  .schedule-table .time{ display:none; }              /* spazio in piÃ¹ ai nomi */
  .schedule-table .vs{   width: 50px !important; }
  .schedule-table .icon{ width: 22px !important; }
  .dot{ width:6px; height:6px; margin-right:4px; }
}

/* 360â€“375px (Android compatti, iPhone X/11 Pro/SE 2nd gen) */
@media (max-width: 375px) {
  .schedule-table .td{ font-size: 11.5px; padding: 6px 4px; }
  .schedule-table .vs{   width: 48px !important; }
  .schedule-table .icon{ width: 20px !important; }
}

/* â‰¤340px (device molto piccoli/vecchi) */
@media (max-width: 340px) {
  .schedule-table .td{ font-size: 11px; padding: 5px 3px; }
  .schedule-table .vs{   width: 46px !important; }
  .schedule-table .icon{ width: 18px !important; }
}


@media (max-width: 380px) {
  .schedule-wrap{ padding: 10px; border-radius: 10px; }

  .schedule-table .td{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: clip;
    padding: 5px 3px;
    font-size: 11.5px;  /* un filo piÃ¹ piccolo per far entrare tutto */
    line-height: 1.2;
  }

  .schedule-table .time{ width: 48px !important; }
  .schedule-table .vs{ width: 48px !important; }
  .schedule-table .icon{ width: 20px !important; }

  .dot{ width:6px; height:6px; margin-right:4px; }
  .schedule-table .teamA{ text-align:right; padding-right:6px; }
  .schedule-table .teamB{ text-align:left;  padding-left:6px; }
}



/* Footer centrato su mobile */
@media (max-width: 576px) {
  footer .container.wrap {
    text-align: center;
  }
  /* Stack verticale e centrato */
  footer .container.wrap > .d-flex {
    width: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;                /* spazio tra righe */
  }
  /* Ogni blocco del footer centrato */
  footer .container.wrap > .d-flex > div {
    text-align: center;
  }
  /* Evita spezzature brutte dei link */
  footer a {
    white-space: nowrap;
  }
  /* Clock + orario ben allineati */
  footer .text-dim.small {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
  }
}

@media (max-width: 375px) {
  footer .container.wrap { padding-left: 12px; padding-right: 12px; }
  footer .text-dim.small { font-size: 12px; }
}


/* === Mobile fix: audio dentro il box e a capo === */
@media (max-width: 576px){
  /* blocco destro (sprays + audio) nella card dell'alleanza */
  .card-neon .d-flex.flex-wrap.align-items-center.gap-3
  > .ms-auto.d-flex.align-items-center.gap-2{
    margin-left: 0 !important;   /* override di ms-auto */
    flex: 1 1 100%;              /* prendi tutta la riga */
    flex-wrap: wrap;             /* permetti il ritorno a capo */
    gap: .5rem;
  }

  /* il player va su una riga propria e non sfora */
  .card-neon .d-flex.flex-wrap.align-items-center.gap-3
  > .ms-auto.d-flex.align-items-center.gap-2 audio{
    display: block;
    width: 100%;
    max-width: 100%;
  }

  /* (opzionale) spray piÃ¹ compatti su due colonne */
  .card-neon .d-flex.flex-wrap.align-items-center.gap-3
  > .ms-auto.d-flex.align-items-center.gap-2 img{
    max-width: 48%;
    height: auto;
  }
}

.footer-link{ color:var(--text); text-decoration:none; }
.footer-link:hover{ color:var(--neon); }

.social-link{
  display:inline-flex; align-items:center; gap:.35rem;
  padding:.25rem .6rem;
  border:1px solid rgba(0,255,213,.25);
  border-radius:999px;
  background:rgba(255,255,255,.04);
  transition:border .2s, background .2s, transform .15s;
}
.social-link:hover{
  border-color:rgba(255,43,214,.45);
  background:rgba(255,255,255,.08);
  transform:translateY(-1px);
}
/* Forza colore del testo in tutto il sito */
body, html {
  color: var(--text) !important;
  font-family: 'Roboto', sans-serif, monospace;
}

/* Forza i titoli e i testi Bootstrap */
h1, h2, h3, h4, h5, h6,
p, strong, small, div {
  color: var(--text) !important;
}

/* Campi input e select */
.form-control,
.form-select {
  color: var(--text) !important;
  background-color: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
}

/* Opzioni del select */
.form-select option {
  background-color: #0a0c12 !important;
  color: var(--text) !important;
}

/* Bottoni */
.btn, .btn:focus, .btn:hover {
  color: var(--text) !important;
}
/* Larghezza logo come variabile per allineare l'underline */
.brand-title{ --logoW: 38px; }
@media (min-width: 992px){ .brand-title{ --logoW: 50px; } }

/* Testo "Hools Hub" animato */
.hools-title{
  display:inline-block;
  background:linear-gradient(90deg, var(--neon), var(--mag), var(--accent), var(--neon));
  background-size:220% 100%;
  -webkit-background-clip:text; background-clip:text;
  color:transparent; -webkit-text-fill-color:transparent; /* compat Safari */
  text-shadow:0 0 10px rgba(0,255,213,.35);
  animation:hh-shine 6s linear infinite, hh-flicker 5s ease-in-out infinite;
  will-change:background-position, filter;
  position:relative;
}
.hools-title{
  font-family:'Audiowide', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-weight:400;
  font-size:clamp(1.15rem, 2.4vw, 1.6rem);
  letter-spacing:.5px;
  text-transform:uppercase;
  line-height:1.1;
  background:linear-gradient(90deg, var(--neon), var(--mag), var(--accent), var(--neon));
  background-size:220% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent; /* aggiunta per Safari/WebKit */
  text-shadow:0 0 10px rgba(0,255,213,.35);
  animation:hh-shine 6s linear infinite, hh-flicker 5s ease-in-out infinite;
  position:relative;
}

.hools-title::after{
  content:"";
  position:absolute; left:calc(28px + .6rem); right:0; bottom:-6px;
  height:2px; border-radius:2px;
  background:linear-gradient(90deg, var(--neon), var(--mag));
  opacity:.7;
  animation:hh-underline 3.8s ease-in-out infinite;
}

/* le tue keyframes originali */
@keyframes hh-shine{
  0%{background-position:0% 50%}
  100%{background-position:200% 50%}
}
@keyframes hh-flicker{
  0%,100%{filter:drop-shadow(0 0 10px rgba(0,255,213,.35))}
  92%{filter:drop-shadow(0 0 7px rgba(0,255,213,.25))}
  95%{filter:drop-shadow(0 0 14px rgba(255,43,214,.45))}
  97%{filter:drop-shadow(0 0 9px rgba(124,255,0,.40))}
}
@keyframes hh-underline{
  0%,100%{transform:translateX(0); opacity:.75}
  50%{transform:translateX(6px); opacity:1}
}
/* wrapper per centraggio */
.online-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 1rem 0;
  width: 100%;
}

/* === Online Users Box (compact) === */
.online-box {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .35rem .8rem;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(0, 255, 213, .3);
  box-shadow: 0 0 10px rgba(0, 255, 213, .25),
              inset 0 0 6px rgba(255, 43, 214, .2);
  backdrop-filter: blur(3px);
  animation: online-glow 4s ease-in-out infinite;
  font-family: 'Audiowide', sans-serif;
  text-align: center;
}

.online-icon {
  font-size: 1rem;
  animation: bounceIcon 2s ease-in-out infinite;
}

.online-text {
  font-size: .7rem;
  letter-spacing: .5px;
  font-weight: 600;
  color: #aaa;
  text-transform: uppercase;
  text-shadow: 0 0 4px rgba(0,255,213,.35);
}

.online-number {
  font-size: 1rem;
  font-weight: 800;
  background: linear-gradient(90deg, #00ffd5, #ff2bd6, #00ffd5);
  background-size: 200% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 0 8px rgba(0,255,213,.5);
  animation: shineText 3s linear infinite, pulseText 2s ease-in-out infinite;
}

/* === Animazioni === */
@keyframes online-glow {
  0%,100% {
    box-shadow: 0 0 14px rgba(0,255,213,.25),
                inset 0 0 6px rgba(255,43,214,.25);
  }
  50% {
    box-shadow: 0 0 22px rgba(255,43,214,.35),
                inset 0 0 10px rgba(0,255,213,.35);
  }
}

@keyframes bounceIcon {
  0%,100% { transform: translateY(0); }
  50%     { transform: translateY(-4px); }
}

@keyframes shineText {
  0%   { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}

@keyframes pulseText {
  0%,100% { text-shadow: 0 0 10px rgba(0,255,213,.6); }
  50%     { text-shadow: 0 0 18px rgba(255,43,214,.8); }
}
/* Hall of Fame */
.hof-table th {
  background: rgba(0,255,213,.1);
  color: #00ffd5;
  text-shadow: 0 0 6px rgba(0,255,213,.5);
}

.hof-table td {
  transition: background .2s ease;
}
.hof-table tr:hover td {
  background: rgba(255,43,214,.15);
}
.back-to-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 2000;
  display: none;
  border-radius: 50%;
  padding: 10px 12px;
  font-size: 1.6rem;
  line-height: 1;
  opacity: 0.85;
  box-shadow: 0 0 15px rgba(0,255,213,.4);
  margin-bottom: 40px;
}
.back-to-top:hover {
  opacity: 1;
  box-shadow: 0 0 18px rgba(255,215,0,.7);
}
.brand-title a {
  color: inherit !important;
}
.brand-title a:hover {
  text-decoration: none;
}
.img-link-neon img {
  max-width: 1200px;
  transition: transform 0.3s ease, filter 0.3s ease;
  filter: drop-shadow(0 0 10px rgba(0,255,213,0.3));
  border-radius: 10px;
}

.img-link-neon:hover img {
  transform: scale(1.05);
  filter: drop-shadow(0 0 18px rgba(0,255,213,0.6));
}
