/* ---------- PERFORMANCE ---------- */
.performanceSection{
  background:
    radial-gradient(520px 200px at 50% 0%,rgba(65,180,255,.09),transparent 72%),
    linear-gradient(180deg,rgba(6,20,40,.83),rgba(3,10,23,.90)) !important;
  border-color:rgba(97,205,255,.15) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 24px 62px rgba(0,0,0,.26) !important;
}

.perfBox{
  background:linear-gradient(180deg,rgba(8,25,47,.92),rgba(4,12,26,.96)) !important;
  border-color:rgba(100,195,255,.105) !important;
}

/* ---------- FOOTER ---------- */
.footer{
  background:rgba(2,8,19,.56) !important;
  border-color:rgba(91,184,255,.08) !important;
  backdrop-filter:blur(14px);
}

/* ---------- LOGIN ---------- */
#authGate{
  background:
    radial-gradient(920px 640px at 50% -5%,rgba(47,174,255,.26),transparent 67%),
    radial-gradient(600px 500px at 8% 85%,rgba(73,88,255,.14),transparent 70%),
    linear-gradient(180deg,#051a42,#020817) !important;
}

.authShell{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(390px 180px at 50% -15%,rgba(79,225,255,.12),transparent 70%),
    linear-gradient(180deg,rgba(7,21,42,.96),rgba(3,9,20,.98)) !important;
  border-color:rgba(93,219,255,.22) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 36px 100px rgba(0,0,0,.52),
    0 0 76px rgba(49,183,255,.10) !important;
}

.authShell:before{
  content:"";
  position:absolute;
  inset:10px;
  pointer-events:none;
  border-radius:20px;
  background:
    linear-gradient(var(--neo-cyan),var(--neo-cyan)) left top/35px 1px no-repeat,
    linear-gradient(var(--neo-cyan),var(--neo-cyan)) left top/1px 35px no-repeat,
    linear-gradient(var(--neo-blue),var(--neo-blue)) right bottom/35px 1px no-repeat,
    linear-gradient(var(--neo-blue),var(--neo-blue)) right bottom/1px 35px no-repeat;
  opacity:.17;
}

/* ---------- MOBILE ---------- */
@media(max-width:560px){
  body:before{
    background-size:22px 22px,44px 44px,44px 44px !important;
    opacity:.44 !important;
  }
  .match{
    padding:21px 17px !important;
    border-radius:28px !important;
  }
  .match .spotlightLayer:before{
    inset:9px;
    opacity:.15;
  }
  .matchMeta .matchHint{
    padding:6px 11px;
    gap:6px;
  }
  .teamLogo,.fallback{
    border-radius:18px !important;
  }
  .score:before{
    width:120px;height:90px;
  }
  .topPickCard .matchMeta:before{
    font-size:7px;
    padding:5px 9px;
  }
}

/* ---------- ACCESSIBILIT\0000C0  / PERFORMANCE ---------- */
@media(prefers-reduced-motion:reduce){
  body:before,body:after,header:before,.hero:after,
  .match .spotlightLayer:after,.matchMeta .matchHint:before,
  .brand b,.topPickAction:after{
    animation:none !important;
  }
}

/* ---------- ANIMAZIONI ---------- */
@keyframes neoGridFlow{
  from{background-position:0 0,0 0,0 0}
  to{background-position:26px 26px,0 52px,52px 0}
}
@keyframes neoAurora{
  0%{transform:translateX(-52%) scale(.94);opacity:.76}
  100%{transform:translateX(-48%) scale(1.06);opacity:1}
}
@keyframes neoHeaderSweep{
  0%,72%{background-position:-220% 0}
  100%{background-position:420% 0}
}
@keyframes neoTextShine{
  to{background-position:200% center}
}
@keyframes neoOrb{
  from{transform:translate3d(-18px,-6px,0) scale(.95)}
  to{transform:translate3d(16px,12px,0) scale(1.08)}
}
@keyframes neoScan{
  0%{top:-4%;opacity:0}
  8%{opacity:.16}
  48%{opacity:.16}
  58%,100%{top:104%;opacity:0}
}
@keyframes neoDot{
  0%,100%{opacity:.58;transform:scale(.82)}
  50%{opacity:1;transform:scale(1.16)}
}
@keyframes neoButtonSweep{
  0%,68%{left:-90px}
  100%{left:calc(100% + 90px)}
}
:root{
  --hud-cyan:#73f7ff;
  --hud-ice:#dffeff;
  --hud-blue:#328cff;
  --hud-violet:#8b70ff;
  --hud-line:rgba(110,239,255,.28);
}

/* ===== BOOT SEQUENCE ===== */
.neoBoot{
  position:fixed;inset:0;z-index:99999;display:grid;place-items:center;overflow:hidden;
  background:
    radial-gradient(520px 520px at 50% 48%,rgba(48,175,255,.22),transparent 62%),
    radial-gradient(850px 600px at 50% -10%,rgba(96,236,255,.12),transparent 62%),
    linear-gradient(180deg,#020815 0%,#020611 100%);
  transition:opacity .6s ease,visibility .6s ease,filter .6s ease;
  font-family:inherit;
}
.neoBoot.neoBootOff{opacity:0;visibility:hidden;filter:blur(10px);pointer-events:none}
.neoBoot:before,.neoBoot:after{content:"";position:absolute;pointer-events:none;inset:-20%}
.neoBoot:before{
  background:
    linear-gradient(rgba(111,236,255,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(111,236,255,.07) 1px,transparent 1px);
  background-size:52px 52px;
  transform:perspective(600px) rotateX(68deg) translateY(38%);
  transform-origin:50% 100%;
  opacity:.45;
  animation:bootFloor 5s linear infinite;
}
.neoBoot:after{
  background:linear-gradient(180deg,transparent 0%,rgba(96,242,255,.08) 49%,rgba(110,247,255,.5) 50%,rgba(96,242,255,.07) 51%,transparent 100%);
  height:23%;top:-25%;
  animation:bootScan 2.9s linear infinite;
}
.neoBootGrid{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 16% 23%,rgba(113,247,255,.7) 0 1px,transparent 1.6px),
    radial-gradient(circle at 83% 67%,rgba(75,145,255,.55) 0 1px,transparent 1.6px),
    radial-gradient(circle at 71% 18%,rgba(139,112,255,.45) 0 1px,transparent 1.6px);
  background-size:170px 170px,210px 210px,260px 260px;
  opacity:.22;
  animation:bootStars 12s linear infinite;
}
.neoBootCore{
  position:relative;width:224px;height:224px;display:grid;place-items:center;margin-top:-88px
}
.neoBootCore:before{
  content:"";position:absolute;width:68%;height:68%;border-radius:50%;
  background:radial-gradient(circle,rgba(78,231,255,.22),rgba(53,121,255,.05) 48%,transparent 70%);
  filter:blur(7px);animation:coreBreath 1.8s ease-in-out infinite;
}
.neoBootRings,.neoBootRings i{position:absolute;inset:0;border-radius:50%}
.neoBootRings i:nth-child(1){
  inset:7%;border:1px solid rgba(112,246,255,.58);border-left-color:transparent;
  border-bottom-color:rgba(70,133,255,.15);box-shadow:0 0 26px rgba(90,232,255,.13);
  animation:ringSpin 4s linear infinite;
}
.neoBootRings i:nth-child(2){
  inset:18%;border:1px dashed rgba(101,215,255,.40);border-right-color:transparent;
  animation:ringSpinReverse 6s linear infinite;
}
.neoBootRings i:nth-child(3){
  inset:31%;border:1px solid rgba(132,116,255,.38);border-top-color:transparent;
  animation:ringSpin 3.2s linear infinite;
}
.neoBootRings i:nth-child(4){
  inset:42%;border:1px solid rgba(144,251,255,.46);
  box-shadow:inset 0 0 20px rgba(80,219,255,.12),0 0 20px rgba(80,219,255,.12);
  animation:coreBreath 1.45s ease-in-out infinite;
}
.neoBootLogo{
  position:relative;z-index:2;width:62px;height:62px;display:grid;place-items:center;border-radius:50%;
  font-size:18px;font-weight:1000;letter-spacing:1px;color:#eaffff;
  background:radial-gradient(circle at 32% 25%,#bafcff,#55dfff 36%,#286dff 74%,#6a4cff 100%);
  border:1px solid rgba(218,254,255,.7);
  box-shadow:inset 0 0 18px rgba(255,255,255,.28),0 0 25px rgba(92,231,255,.36),0 0 70px rgba(54,127,255,.24);
}
.neoBootText{
  position:absolute;top:59%;left:50%;width:min(88vw,460px);transform:translateX(-50%);
  text-align:center;color:#fff;
}
.neoBootText b{
  display:block;font-size:24px;letter-spacing:5px;font-weight:1000;text-transform:uppercase;
  background:linear-gradient(90deg,#fff,#aaf8ff,#83baff,#fff);
  background-size:250% auto;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  animation:neoTextShine 3.4s linear infinite;
}
.neoBootText span{
  display:block;margin-top:11px;color:#8feefa;font-size:9px;font-weight:900;
  letter-spacing:2.3px;text-transform:uppercase;text-shadow:0 0 14px rgba(92,231,255,.35);
}
.neoBootProgress{
  width:min(320px,72vw);height:3px;margin:17px auto 11px;background:rgba(107,226,255,.10);
  border-radius:99px;overflow:hidden;box-shadow:0 0 0 1px rgba(116,234,255,.08);
}
.neoBootProgress i{
  display:block;height:100%;width:0;
  background:linear-gradient(90deg,var(--hud-cyan),var(--hud-blue),var(--hud-violet));
  box-shadow:0 0 16px var(--hud-cyan);
  animation:bootProgress 2.35s cubic-bezier(.2,.8,.2,1) forwards;
}
.neoBootText small{color:#5f7898;font-size:7px;font-weight:900;letter-spacing:1.6px}
#neoBootSkip{
  position:absolute;right:22px;bottom:22px;border:1px solid rgba(104,234,255,.14);
  background:rgba(5,16,31,.52);color:#7190aa;border-radius:999px;padding:8px 12px;
  font:900 7px/1 inherit;letter-spacing:1.4px;cursor:pointer;
}

/* ===== SYSTEM RAIL ===== */
.neoSystemRail{
  display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;
  margin:-2px 2px 14px;padding:7px 10px;border-radius:12px;color:#7c9bb8;
  background:linear-gradient(90deg,rgba(6,19,37,.40),rgba(10,31,55,.62),rgba(6,19,37,.40));
  border:1px solid rgba(93,211,255,.075);
  font-size:7px;font-weight:950;letter-spacing:1.2px;text-transform:uppercase;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.neoSystemRail span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.neoSystemRail span:not(:last-child):after{
  content:"";width:1px;height:9px;margin-left:4px;background:rgba(110,224,255,.13)
}
.neoSystemRail i{
  width:5px;height:5px;border-radius:50%;background:#79faff;
  box-shadow:0 0 0 3px rgba(121,250,255,.07),0 0 10px rgba(121,250,255,.65);
  animation:railPulse 1.6s ease-in-out infinite;
}
.neoRailClock{
  color:#9cefff!important;font-variant-numeric:tabular-nums;
  text-shadow:0 0 10px rgba(88,231,255,.25)
}

/* ===== HERO COMMAND PANEL ===== */
.hero{overflow:hidden}
.hero .kicker:before{content:"\0025C9   AI BRIEFING // ";color:#71f3ff;opacity:.92}
.hero:before{
  background:
    linear-gradient(90deg,rgba(101,241,255,.045) 1px,transparent 1px),
    linear-gradient(rgba(101,241,255,.035) 1px,transparent 1px),
    linear-gradient(135deg,rgba(115,242,255,.07),transparent 27%,transparent 67%,rgba(112,91,255,.07)) !important;
  background-size:34px 34px,34px 34px,100% 100%!important;
  opacity:.82;
}
.hero h1:after{
  content:"_";display:inline-block;margin-left:3px;color:#78f5ff;
  -webkit-text-fill-color:#78f5ff;animation:cursorBlink .85s steps(1) infinite
}

/* ===== MATCH NODE TELEMETRY ===== */
.match{counter-increment:matchNode;overflow:hidden}
#matches{counter-reset:matchNode}
.neoCardTelemetry{
  position:absolute;z-index:3;left:23px;right:23px;top:13px;height:12px;
  display:flex;align-items:center;gap:7px;pointer-events:none;color:#46647e;
  font-size:6px;font-weight:950;letter-spacing:1.25px;text-transform:uppercase;opacity:.82;
}
.neoCardTelemetry b{
  height:1px;flex:1;
  background:linear-gradient(90deg,rgba(103,239,255,.18),rgba(58,128,255,.045),transparent);
  position:relative;
}
.neoCardTelemetry b:after{
  content:"";position:absolute;top:-1px;left:0;width:38px;height:3px;
  background:linear-gradient(90deg,transparent,#73f7ff,transparent);
  filter:blur(.5px);animation:telemetrySweep 3.7s linear infinite;
}
.neoCardTelemetry span:last-child{color:#5bb6bd}
.matchMeta{padding-top:14px}

/* ===== HOLOGRAPHIC SCORE CORE ===== */
.score{
  isolation:isolate;min-height:132px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;overflow:visible
}
