
:root{
  --pink:#ff0a68;
  --pink2:#ff5a9f;
  --silver:#e5e7ec;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;min-width:320px;background:#030407!important;color:#f6f7f9}
html body header.top,html body>footer{display:none!important}
html body main.wrap{width:100vw!important;max-width:none!important;margin:0!important;padding:0!important}
body{font-family:Inter,Arial,sans-serif}

.v25-page{
  min-height:100vh;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% -10%,#3c0019 0,#0c0711 34%,#030407 76%);
}

.v25-topbar{
  position:relative;
  z-index:20;
  width:min(calc(100% - 40px),1700px);
  margin:0 auto;
  padding:20px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.v25-brand img{
  width:150px;
  filter:drop-shadow(0 0 18px #ff0a6860);
}
.v25-topbar nav{
  display:flex;
  gap:7px;
  padding:6px;
  border:1px solid #ffffff12;
  border-radius:12px;
  background:#07080cc2;
  backdrop-filter:blur(12px);
}
.v25-topbar nav a{
  padding:10px 15px;
  border-radius:8px;
  color:#aeb4bf;
  text-decoration:none;
  font-weight:800;
  font-size:13px;
}
.v25-topbar nav a:hover,.v25-topbar nav a.active{
  color:#fff;
  background:#ff0a681e;
  box-shadow:inset 0 0 0 1px #ff0a6840;
}

.v25-hero{
  width:min(calc(100% - 40px),1500px);
  margin:0 auto;
  padding:70px 0 55px;
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:50px;
  align-items:end;
}
.v25-hero-copy>span{
  color:#ff72aa;
  font-size:12px;
  letter-spacing:3px;
  font-weight:900;
}
.v25-hero-copy h1{
  margin:12px 0 0;
  font-size:clamp(68px,8vw,128px);
  line-height:.86;
  font-style:italic;
  color:#e2e4e9;
  text-shadow:0 0 34px #ff0a6845;
}
.v25-hero-copy h1 em{
  display:block;
  color:#ff276f;
}
.v25-hero-copy p{
  max-width:720px;
  margin:22px 0 0;
  color:#aeb4bf;
  font-size:19px;
  line-height:1.6;
}
.v25-world-stats{
  display:grid;
  grid-template-columns:1fr 1fr;
  border:1px solid #ffffff14;
  border-radius:15px;
  overflow:hidden;
  background:#080a0fcb;
  backdrop-filter:blur(15px);
  box-shadow:0 22px 55px #0009;
}
.v25-world-stats div{
  padding:20px;
  text-align:center;
  border-right:1px solid #ffffff0f;
  border-bottom:1px solid #ffffff0f;
}
.v25-world-stats div:nth-child(2n){border-right:0}
.v25-world-stats div:nth-child(n+3){border-bottom:0}
.v25-world-stats strong{
  display:block;
  color:#ff5a9f;
  font-size:31px;
  text-shadow:0 0 16px #ff0a6840;
}
.v25-world-stats span{
  display:block;
  margin-top:4px;
  color:#868d99;
  font-size:11px;
  letter-spacing:1px;
  text-transform:uppercase;
}

.v25-main{
  width:min(calc(100% - 40px),1650px);
  margin:0 auto;
}
.v25-section-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:30px;
  margin-bottom:24px;
}
.v25-section-head span{
  color:#ff5a9f;
  font-size:11px;
  letter-spacing:2px;
  font-weight:900;
}
.v25-section-head h2{
  margin:7px 0 0;
  font-size:clamp(35px,4vw,56px);
}
.v25-section-head p{
  max-width:500px;
  margin:0;
  color:#8d949f;
}

.v25-world-map{
  --tilt-x:0px;
  --tilt-y:0px;
  position:relative;
  min-height:720px;
  overflow:hidden;
  border:1px solid #ff0a6845;
  border-radius:22px;
  background:
    radial-gradient(circle at 50% 50%,#29111d 0,#0e0c13 40%,#050609 78%);
  box-shadow:
    0 30px 80px #000b,
    inset 0 0 0 1px #ffffff05,
    0 0 50px #ff0a6810;
  transform:translate(var(--tilt-x),var(--tilt-y));
  transition:transform .18s ease-out;
}
.v25-world-map::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 22%,#ff0a6818,transparent 22%),
    radial-gradient(circle at 75% 28%,#4f7dff12,transparent 24%),
    radial-gradient(circle at 68% 72%,#3dff8f10,transparent 22%),
    radial-gradient(circle at 32% 75%,#ffc24c0c,transparent 21%);
}
.v25-map-grid{
  position:absolute;
  inset:0;
  opacity:.16;
  background-image:
    linear-gradient(#ffffff08 1px,transparent 1px),
    linear-gradient(90deg,#ffffff08 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(circle,#000,transparent 80%);
}
.v25-map-fog{
  position:absolute;
  width:46%;
  height:34%;
  border-radius:50%;
  background:radial-gradient(circle,#ff0a6810,transparent 70%);
  filter:blur(35px);
  animation:v25Fog 8s ease-in-out infinite;
}
.v25-map-fog.one{left:10%;top:15%}
.v25-map-fog.two{right:8%;bottom:10%;animation-delay:-4s}
@keyframes v25Fog{
  0%,100%{transform:scale(.92);opacity:.4}
  50%{transform:scale(1.12);opacity:.95}
}
.v25-map-runes{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#ff5a9f;
  opacity:.035;
  font-size:min(20vw,310px);
  letter-spacing:5vw;
  transform:rotate(-8deg);
  pointer-events:none;
}

.v25-world-node{
  --theme:#ff0a68;
  --glow:#ff0a6840;
  position:absolute;
  left:var(--x);
  top:var(--y);
  transform:translate(-50%,-50%);
  z-index:4;
  width:74px;
  height:74px;
  display:grid;
  place-items:center;
  color:#fff;
  text-decoration:none;
}
.v25-node-ring{
  position:absolute;
  inset:0;
  border:1px solid var(--theme);
  border-radius:50%;
  background:radial-gradient(circle,var(--glow),#090a0f 72%);
  box-shadow:0 0 25px var(--glow),inset 0 0 18px #000a;
  animation:v25NodeFloat 4.5s ease-in-out infinite;
}
.v25-node-icon{
  position:relative;
  z-index:2;
  font-size:32px;
  filter:drop-shadow(0 0 10px var(--theme));
}
.v25-node-pulse{
  position:absolute;
  inset:-10px;
  border:1px solid var(--theme);
  border-radius:50%;
  opacity:.3;
  animation:v25Pulse 2.3s ease-out infinite;
}
.v25-node-card{
  position:absolute;
  left:50%;
  top:88px;
  min-width:190px;
  padding:12px 14px;
  border:1px solid var(--theme);
  border-radius:10px;
  background:#07090de8;
  backdrop-filter:blur(12px);
  box-shadow:0 16px 36px #000b,0 0 20px var(--glow);
  transform:translate(-50%,8px);
  opacity:0;
  pointer-events:none;
  transition:.22s;
}
.v25-node-card small,.v25-node-card strong,.v25-node-card em{display:block}
.v25-node-card small{color:var(--theme);font-size:9px;letter-spacing:1.3px}
.v25-node-card strong{margin-top:4px;font-size:18px}
.v25-node-card em{margin-top:5px;color:#8e95a0;font-size:11px;font-style:normal}
.v25-world-node:hover{z-index:10}
.v25-world-node:hover .v25-node-ring{
  transform:scale(1.12);
  box-shadow:0 0 38px var(--theme),inset 0 0 22px #000a;
}
.v25-world-node:hover .v25-node-card{
  opacity:1;
  transform:translate(-50%,0);
}
@keyframes v25NodeFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-7px)}
}
@keyframes v25Pulse{
  0%{transform:scale(.75);opacity:.45}
  100%{transform:scale(1.45);opacity:0}
}

.theme-tower{--theme:#c53cff;--glow:#7c1bc94d}
.theme-hydra{--theme:#1bdcff;--glow:#0aaad850}
.theme-fire{--theme:#ff6736;--glow:#df3a1650}
.theme-ice{--theme:#7cc4ff;--glow:#448bd74d}
.theme-forest{--theme:#61dc80;--glow:#278f4650}
.theme-shadow{--theme:#a67fff;--glow:#6443bc50}
.theme-war{--theme:#ff3562;--glow:#c01d4150}
.theme-arcane{--theme:#e55fff;--glow:#9f35b84d}

.v25-builds-section,.v25-class-section{
  padding:95px 0 10px;
}
.v25-build-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(330px,1fr));
  gap:15px;
}
.v25-build-card{
  min-height:150px;
  display:grid;
  grid-template-columns:66px minmax(0,1fr) 24px;
  gap:15px;
  align-items:center;
  padding:20px;
  border:1px solid #ffffff14;
  border-radius:14px;
  background:linear-gradient(145deg,#11131a,#07080c);
  color:#fff;
  text-decoration:none;
  box-shadow:0 18px 42px #0008;
  transition:.22s;
}
.v25-build-card:hover{
  transform:translateY(-4px);
  border-color:#ff0a6880;
  box-shadow:0 0 28px #ff0a6828,0 24px 50px #000a;
}
.v25-build-icon{
  width:66px;
  height:66px;
  display:grid;
  place-items:center;
  border:1px solid #ff0a6850;
  border-radius:12px;
  background:radial-gradient(circle,#420b23,#090a0f);
  color:#ff5a9f;
  font-size:27px;
  font-weight:900;
  box-shadow:0 0 18px #ff0a6822;
}
.v25-build-copy>span{color:#ff5a9f;font-size:10px;letter-spacing:1.3px}
.v25-build-copy h3{margin:5px 0;font-size:22px}
.v25-build-copy p{margin:8px 0 0;color:#858c97;font-size:11px}
.v25-build-tags{display:flex;flex-wrap:wrap;gap:6px}
.v25-build-tags small{
  padding:5px 7px;
  border:1px solid #ffffff14;
  border-radius:999px;
  color:#c4c8d0;
  background:#080a0f;
}
.v25-build-card>strong{color:#ff6fa8;font-size:31px}

.v25-class-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:12px;
}
.v25-class-grid a{
  min-height:125px;
  display:grid;
  place-items:center;
  padding:18px;
  border:1px solid #ffffff13;
  border-radius:13px;
  background:linear-gradient(145deg,#0f1118,#07080c);
  color:#fff;
  text-decoration:none;
  transition:.2s;
}
.v25-class-grid a:hover{
  transform:translateY(-3px);
  border-color:#ff0a6870;
  box-shadow:0 0 24px #ff0a6823;
}
.v25-class-grid span{
  width:48px;height:48px;
  display:grid;place-items:center;
  border:1px solid #ff0a6850;
  border-radius:10px;
  color:#ff5a9f;
  background:#210811;
  font-weight:900;
}
.v25-class-grid strong{margin-top:10px}
.v25-class-grid small{margin-top:4px;color:#858c97}

.v25-footer{
  width:min(calc(100% - 40px),1650px);
  margin:85px auto 0;
  padding:24px 0;
  display:flex;
  justify-content:space-between;
  border-top:1px solid #ffffff10;
  color:#7f8691;
  font-size:12px;
}
.v25-footer strong{color:#fff}

.v25-reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .55s ease var(--delay,0ms),transform .55s ease var(--delay,0ms);
}
.v25-reveal.visible{
  opacity:1;
  transform:translateY(0);
}

@media(max-width:950px){
  .v25-hero{grid-template-columns:1fr}
  .v25-world-map{min-height:650px}
  .v25-world-node{transform:translate(-50%,-50%) scale(.9)}
}
@media(max-width:700px){
  .v25-section-head{align-items:flex-start;flex-direction:column}
  .v25-world-map{min-height:760px}
  .v25-world-node{
    position:relative;
    left:auto!important;
    top:auto!important;
    transform:none;
    width:100%;
    height:auto;
    display:grid;
    grid-template-columns:60px 1fr;
    justify-items:start;
    gap:12px;
    margin:12px;
    padding:12px;
    border:1px solid #ffffff13;
    border-radius:12px;
    background:#080a0fcc;
  }
  .v25-node-ring,.v25-node-pulse{display:none}
  .v25-node-icon{
    width:56px;height:56px;
    display:grid;place-items:center;
    border:1px solid var(--theme);
    border-radius:10px;
    background:radial-gradient(circle,var(--glow),#090a0f);
  }
  .v25-node-card{
    position:static;
    min-width:0;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
    transform:none;
    opacity:1;
  }
  .v25-map-grid,.v25-map-runes,.v25-map-fog{display:none}
}
@media(max-width:560px){
  .v25-topbar,.v25-hero,.v25-main,.v25-footer{width:calc(100% - 22px)}
  .v25-topbar nav a{padding:8px 9px;font-size:11px}
  .v25-brand img{width:110px}
  .v25-hero-copy h1{font-size:58px}
  .v25-build-grid{grid-template-columns:1fr}
  .v25-footer{flex-direction:column;gap:7px;text-align:center}
}


/* ===== V26 FANTASY WORLD ===== */

.v26-world-map{
  isolation:isolate;
  background:
    linear-gradient(180deg,#0b0810d9,#050609f2),
    radial-gradient(circle at 52% 46%,#3a1425 0,#100d14 48%,#050609 78%);
}

.v26-map-sky{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    radial-gradient(circle at 17% 18%,#ff3f8f12 0,transparent 18%),
    radial-gradient(circle at 79% 24%,#3679ff10 0,transparent 22%),
    radial-gradient(circle at 63% 75%,#24cf7b0b 0,transparent 20%);
}

.v26-map-sky::after{
  content:"";
  position:absolute;
  inset:0;
  opacity:.22;
  background-image:
    radial-gradient(circle,#fff 0 1px,transparent 1.4px),
    radial-gradient(circle,#ff4f98 0 1px,transparent 1.5px);
  background-size:110px 110px,160px 160px;
  background-position:0 0,35px 25px;
  animation:v26Stars 30s linear infinite;
}

@keyframes v26Stars{
  to{background-position:110px 220px,195px 185px}
}

.v26-terrain{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  opacity:.78;
}

.v26-terrain .mountains{
  position:absolute;
  width:28%;
  height:24%;
  background:
    linear-gradient(135deg,transparent 0 46%,#321523 47% 57%,transparent 58%),
    linear-gradient(45deg,transparent 0 46%,#1d1420 47% 57%,transparent 58%);
  background-size:78px 78px;
  filter:drop-shadow(0 18px 18px #0008);
  opacity:.75;
}
.v26-terrain .mountains.one{left:6%;bottom:5%;transform:rotate(-3deg)}
.v26-terrain .mountains.two{right:7%;top:8%;transform:rotate(4deg) scale(.9)}

.v26-terrain .forest{
  position:absolute;
  width:24%;
  height:20%;
  opacity:.34;
  background-image:
    radial-gradient(ellipse at bottom,#315b3f 0 42%,transparent 44%),
    radial-gradient(ellipse at bottom,#254933 0 42%,transparent 44%);
  background-size:34px 42px,42px 50px;
  background-position:0 0,18px 10px;
}
.v26-terrain .forest.one{left:57%;bottom:8%;transform:rotate(-5deg)}
.v26-terrain .forest.two{left:18%;top:38%;transform:rotate(7deg) scale(.7)}

.v26-terrain .river{
  position:absolute;
  left:45%;
  top:8%;
  width:10%;
  height:78%;
  border-radius:50%;
  border-left:5px solid #3a8fc21f;
  border-right:2px solid #69bdea12;
  transform:rotate(18deg);
  filter:blur(.4px) drop-shadow(0 0 12px #4fb4ff20);
}

.v26-terrain .island{
  position:absolute;
  left:41%;
  top:35%;
  width:18%;
  height:26%;
  border-radius:46% 54% 52% 48% / 57% 45% 55% 43%;
  background:
    radial-gradient(circle at 50% 40%,#24131c 0,#120d13 68%,transparent 70%);
  box-shadow:
    inset 0 0 30px #ff0a680b,
    0 0 30px #0008;
  transform:rotate(-12deg);
}

.v26-routes{
  position:absolute;
  inset:0;
  z-index:2;
  width:100%;
  height:100%;
  overflow:visible;
  pointer-events:none;
}

.v26-routes path{
  fill:none;
  stroke:#ff4f9830;
  stroke-width:.35;
  stroke-dasharray:2 2.5;
  vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 0 5px #ff0a6840);
  animation:v26Dash 12s linear infinite;
  transition:stroke .25s ease,opacity .25s ease;
}

.v26-routes.is-active path{
  stroke:#ff6cab75;
  opacity:.95;
}

@keyframes v26Dash{
  to{stroke-dashoffset:-18}
}

.v26-map-caption{
  position:absolute;
  left:50%;
  top:50%;
  z-index:1;
  transform:translate(-50%,-50%) rotate(-8deg);
  color:#ffffff;
  opacity:.025;
  font-size:min(9vw,140px);
  font-weight:900;
  letter-spacing:1.8vw;
  white-space:nowrap;
  pointer-events:none;
}

.v26-map-fog.three{
  position:absolute;
  left:37%;
  top:34%;
  width:28%;
  height:24%;
  border-radius:50%;
  background:radial-gradient(circle,#ffffff08,transparent 70%);
  filter:blur(34px);
  animation:v26FogThree 10s ease-in-out infinite;
  pointer-events:none;
  z-index:3;
}

@keyframes v26FogThree{
  0%,100%{transform:translate(-10px,4px) scale(.9);opacity:.3}
  50%{transform:translate(15px,-10px) scale(1.12);opacity:.7}
}

.v25-world-node{
  z-index:5;
}

.v25-node-ring{
  box-shadow:
    0 0 28px var(--glow),
    inset 0 0 20px #000a,
    0 12px 24px #0008;
}

.v25-world-node::after{
  content:"";
  position:absolute;
  bottom:-16px;
  width:34px;
  height:10px;
  border-radius:50%;
  background:radial-gradient(ellipse,#0009,transparent 70%);
  filter:blur(3px);
  opacity:.7;
}

.v25-world-node:hover .v25-node-icon{
  animation:v26IconPop .45s ease;
}

@keyframes v26IconPop{
  0%{transform:scale(1)}
  45%{transform:scale(1.25) rotate(-6deg)}
  100%{transform:scale(1)}
}

.v25-world-node:hover .v25-node-card{
  border-color:var(--theme);
  box-shadow:
    0 20px 45px #000d,
    0 0 28px var(--glow),
    inset 0 0 0 1px #ffffff08;
}

.v25-node-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(110deg,transparent 0 38%,#ffffff10 49%,transparent 60%);
  transform:translateX(-130%);
  transition:transform .55s ease;
  pointer-events:none;
}

.v25-world-node:hover .v25-node-card::before{
  transform:translateX(130%);
}

@media(max-width:700px){
  .v26-terrain,.v26-routes,.v26-map-sky,.v26-map-caption,.v26-map-fog.three{
    display:none;
  }
}
