*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}

:root{
  --blue:#0057B7;
  --blue-light:#1a7de8;
  --blue-bright:#4da6ff;
  --blue-glow:rgba(0,87,183,0.5);
  --yellow:#FFD700;
  --yellow-warm:#FFC107;
  --yellow-glow:rgba(255,215,0,0.4);
  --dark:#05080f;
  --dark2:#090d18;
  --dark3:#0d1426;
  --card:#0a0f1e;
  --card2:#0e1528;
  --white:#f0f8ff;
  --muted:#6b87b0;
  --border-b:rgba(0,87,183,0.25);
  --border-y:rgba(255,215,0,0.2);
}

body{
  font-family:'Mulish',sans-serif;
  background:var(--dark);
  color:var(--white);
  overflow-x:hidden;
  cursor:none;
}

/* CUSTOM CURSOR */
.cursor{
  position:fixed;width:12px;height:12px;
  background:var(--yellow);
  border-radius:0; /* pixel cursor */
  pointer-events:none;z-index:9999;
  transform:translate(-50%,-50%);
  transition:transform .1s;
  image-rendering:pixelated;
  box-shadow:0 0 8px var(--yellow-glow);
}
.cursor-trail{
  position:fixed;width:6px;height:6px;
  background:var(--blue-bright);
  border-radius:0;
  pointer-events:none;z-index:9998;
  transform:translate(-50%,-50%);
  opacity:0.5;
  transition:all .15s ease;
}

/* CANVAS particles */
#particles{
  position:fixed;inset:0;z-index:0;
  pointer-events:none;
}

/* ── BACKGROUND ── */
body::before{
  content:'';position:fixed;inset:0;z-index:0;
  background:
    radial-gradient(ellipse 70% 50% at 20% 20%,rgba(0,87,183,0.12) 0%,transparent 55%),
    radial-gradient(ellipse 60% 40% at 80% 70%,rgba(255,215,0,0.07) 0%,transparent 50%),
    radial-gradient(ellipse 50% 60% at 50% 100%,rgba(0,57,120,0.15) 0%,transparent 60%),
    linear-gradient(170deg,#05080f 0%,#090d18 50%,#060b14 100%);
  pointer-events:none;
}

/* diagonal accent stripe */
body::after{
  content:'';position:fixed;inset:0;z-index:0;
  background:repeating-linear-gradient(
    -55deg,
    transparent,transparent 60px,
    rgba(255,215,0,0.015) 60px,
    rgba(255,215,0,0.015) 61px
  );
  pointer-events:none;
}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 2.5rem;height:68px;
  background:rgba(5,8,15,0.8);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border-b);
}
nav::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--yellow),transparent);
  opacity:0.3;
}
.nav-logo{
  font-family:'Press Start 2P',monospace;
  font-size:1rem;
  letter-spacing:0.05em;
  text-decoration:none;
  display:flex;align-items:center;gap:0.6rem;
  background:linear-gradient(135deg,var(--yellow) 40%,var(--blue-bright));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 8px rgba(255,215,0,0.4));
}
.nav-links{display:flex;gap:0.2rem;list-style:none}
.nav-links a{
  color:var(--muted);text-decoration:none;
  font-weight:700;font-size:0.8rem;letter-spacing:0.05em;text-transform:uppercase;
  padding:0.4rem 0.9rem;border-radius:6px;
  transition:color .2s,background .2s;
}
.nav-links a:hover{color:var(--yellow);background:rgba(255,215,0,0.07)}
.nav-cta{
  font-family:'Press Start 2P',monospace !important;
  font-size:0.6rem !important;
  background:var(--yellow) !important;
  color:#000 !important;
  border-radius:4px !important;
  padding:0.55rem 1rem !important;
  box-shadow:4px 4px 0 #b8860b,0 0 20px var(--yellow-glow) !important;
  transition:transform .15s,box-shadow .15s !important;
}
.nav-cta:hover{transform:translate(-2px,-2px) !important;box-shadow:6px 6px 0 #b8860b,0 0 30px var(--yellow-glow) !important;background:var(--yellow) !important;color:#000 !important}

/* ── HERO ── */
.hero{
  position:relative;z-index:1;
  min-height:100vh;
  display:grid;grid-template-columns:1fr 1fr;
  align-items:center;
  padding:5rem 4rem 3rem;
  gap:3rem;
  overflow:hidden;
}
.hero::before{
  content:'';position:absolute;
  right:-100px;top:50%;transform:translateY(-50%);
  width:600px;height:600px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(0,87,183,0.15),transparent 70%);
  pointer-events:none;
}

.hero-left{display:flex;flex-direction:column;gap:1.8rem}

.hero-flag{
  display:inline-flex;align-items:center;gap:0.6rem;
  font-family:'Press Start 2P',monospace;
  font-size:0.55rem;letter-spacing:0.08em;
  color:#000;
  background:linear-gradient(180deg,var(--yellow) 50%,var(--blue) 50%);
  padding:0.5rem 1rem;
  border-radius:3px;
  width:fit-content;
  box-shadow:3px 3px 0 rgba(0,0,0,0.4);
  animation:slideRight .6s ease both;
}

.hero-title{
  font-family:'Unbounded',sans-serif;
  font-weight:900;
  font-size:clamp(3rem,6vw,5.5rem);
  line-height:0.95;
  letter-spacing:-0.03em;
  animation:slideRight .6s ease both .1s;
}
.hero-title .ua{
  display:block;
  background:linear-gradient(135deg,var(--yellow),var(--yellow-warm));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 20px var(--yellow-glow));
}
.hero-title .craft{
  display:block;
  background:linear-gradient(135deg,var(--blue-bright),var(--blue-light));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 20px var(--blue-glow));
}

.hero-desc{
  font-size:1.05rem;color:#8eafd4;font-weight:600;
  line-height:1.7;max-width:460px;
  animation:slideRight .6s ease both .2s;
}

.hero-ip-wrap{
  display:flex;flex-direction:column;gap:0.5rem;
  animation:slideRight .6s ease both .3s;
}
.hero-ip-label{
  font-family:'Press Start 2P',monospace;
  font-size:0.5rem;color:var(--muted);letter-spacing:0.12em;text-transform:uppercase;
}
.hero-ip-box{
  display:flex;align-items:stretch;
  border:1px solid rgba(255,215,0,0.35);
  border-radius:6px;overflow:hidden;
  box-shadow:0 0 20px rgba(255,215,0,0.08);
  width:fit-content;
}
.hero-ip-text{
  font-family:'Press Start 2P',monospace;
  font-size:0.75rem;
  padding:0.9rem 1.4rem;
  color:var(--yellow);
  background:rgba(255,215,0,0.05);
  letter-spacing:0.05em;
}
.copy-btn{
  padding:0.9rem 1.2rem;
  background:var(--yellow);
  border:none;cursor:none;
  font-family:'Press Start 2P',monospace;
  font-size:0.5rem;color:#000;font-weight:700;
  letter-spacing:0.05em;
  transition:background .2s;
  white-space:nowrap;
}
.copy-btn:hover{background:var(--yellow-warm)}
.copy-btn.ok{background:var(--blue);color:#fff}

.hero-btns{
  display:flex;gap:1rem;flex-wrap:wrap;
  animation:slideRight .6s ease both .4s;
}
.btn{
  display:inline-flex;align-items:center;gap:0.5rem;
  padding:0.75rem 1.6rem;border-radius:5px;
  font-weight:800;font-size:0.9rem;
  text-decoration:none;cursor:none;border:none;
  transition:transform .15s,box-shadow .15s;
  font-family:'Mulish',sans-serif;
}
.btn:hover{transform:translateY(-3px)}
.btn-blue{
  background:linear-gradient(135deg,var(--blue),var(--blue-light));
  color:#fff;
  box-shadow:0 4px 18px rgba(0,87,183,0.4),3px 3px 0 #003a7a;
}
.btn-blue:hover{box-shadow:0 8px 28px rgba(0,87,183,0.5),4px 4px 0 #003a7a}
.btn-outline{
  background:transparent;color:var(--yellow);
  border:1.5px solid rgba(255,215,0,0.4);
}
.btn-outline:hover{background:rgba(255,215,0,0.06);border-color:var(--yellow)}

/* HERO RIGHT — server monitor */
.hero-right{
  position:relative;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  animation:floatIn .8s ease both .2s;
  gap:1rem;
}

/* floating pixel items */
.pixel-item{
  position:absolute;
  font-size:2rem;
  animation:floatPixel linear infinite;
  opacity:0.85;
  filter:drop-shadow(0 0 8px rgba(255,215,0,0.5));
}

/* MONITOR CIRCLE */
.monitor-wrap{
  display:flex;flex-direction:column;align-items:center;gap:0.75rem;
}
.monitor-ring{
  position:relative;
  width:260px;height:260px;
}
.ring-svg{
  position:absolute;inset:0;width:100%;height:100%;
  transform:rotate(-90deg);
}
.ring-bg{
  fill:none;
  stroke:rgba(0,87,183,0.15);
  stroke-width:8;
}
.ring-fill{
  fill:none;
  stroke:url(#ringGrad);
  stroke-width:8;
  stroke-linecap:round;
  transition:stroke-dashoffset 1.2s cubic-bezier(.4,0,.2,1);
}
.monitor-inner{
  position:absolute;inset:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:0.25rem;
  padding:1.5rem;
  background:radial-gradient(circle at 50% 50%,rgba(0,87,183,0.12),transparent 70%);
  border-radius:50%;
  border:1.5px solid rgba(255,215,0,0.15);
  box-shadow:
    0 0 40px rgba(0,87,183,0.2),
    0 0 80px rgba(0,87,183,0.08),
    inset 0 0 30px rgba(255,215,0,0.04);
}
.monitor-status{
  display:flex;align-items:center;gap:0.4rem;
  font-family:'Press Start 2P',monospace;
  font-size:0.45rem;letter-spacing:0.08em;
  text-transform:uppercase;
}
.mon-dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--muted);flex-shrink:0;
}
.mon-dot.online{background:#22c55e;box-shadow:0 0 8px rgba(34,197,94,0.8);animation:pulse 2s infinite}
.mon-dot.offline{background:#ef4444;box-shadow:0 0 8px rgba(239,68,68,0.6)}
.monitor-players{
  font-family:'Unbounded',sans-serif;
  font-weight:900;
  font-size:2.2rem;
  color:var(--yellow);
  line-height:1;
  filter:drop-shadow(0 0 12px var(--yellow-glow));
  margin-top:0.1rem;
}
.monitor-label{
  font-size:0.7rem;font-weight:700;color:var(--muted);
  letter-spacing:0.05em;
}
.monitor-ip{
  font-family:'Press Start 2P',monospace;
  font-size:0.42rem;
  color:var(--blue-bright);
  letter-spacing:0.06em;
  margin-top:0.3rem;
}
.monitor-version{
  font-size:0.7rem;font-weight:700;color:var(--muted);
  margin-top:0.1rem;
}
.monitor-caption{
  font-family:'Press Start 2P',monospace;
  font-size:0.45rem;
  color:var(--muted);
  letter-spacing:0.1em;
  text-transform:uppercase;
  display:flex;align-items:center;gap:0.4rem;
}
.monitor-caption::before{
  content:'';width:5px;height:5px;border-radius:50%;
  background:var(--yellow);
  animation:pulse 2s infinite;
}
.dot{width:7px;height:7px;border-radius:50%;background:#22c55e;animation:pulse 2s infinite}

/* ── SECTIONS ── */
section{position:relative;z-index:1;padding:5rem 4rem}
.container{max-width:1100px;margin:0 auto}

.sec-header{margin-bottom:3rem}
.sec-eyebrow{
  font-family:'Press Start 2P',monospace;
  font-size:0.55rem;
  letter-spacing:0.15em;
  text-transform:uppercase;
  color:var(--yellow);
  margin-bottom:0.75rem;
  display:block;
}
.sec-title{
  font-family:'Unbounded',sans-serif;
  font-weight:900;
  font-size:clamp(1.6rem,3.5vw,2.5rem);
  line-height:1.1;
  color:#fff;
}
.sec-title span{
  background:linear-gradient(135deg,var(--blue-bright),var(--yellow));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}

/* ── FEATURES ── */
#about{background:linear-gradient(180deg,transparent,rgba(0,87,183,0.04),transparent)}

.features-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.25rem;
}
.feat{
  background:var(--card);
  border:1px solid var(--border-b);
  border-radius:12px;
  padding:1.75rem;
  position:relative;
  overflow:hidden;
  transition:transform .25s,border-color .25s,box-shadow .25s;
}
.feat::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(0,87,183,0.06),transparent);
  opacity:0;transition:opacity .3s;
}
.feat:hover{transform:translateY(-5px);border-color:rgba(0,87,183,0.5);box-shadow:0 12px 35px rgba(0,87,183,0.15)}
.feat:hover::before{opacity:1}
.feat-icon{font-size:2.2rem;margin-bottom:1rem;display:block}
.feat-title{font-family:'Unbounded',sans-serif;font-weight:700;font-size:0.9rem;color:#fff;margin-bottom:0.5rem}
.feat-desc{font-size:0.85rem;color:var(--muted);line-height:1.65}

/* highlighted feat */
.feat.gold{
  border-color:rgba(255,215,0,0.3);
  background:linear-gradient(135deg,rgba(255,215,0,0.06),var(--card));
}
.feat.gold:hover{border-color:rgba(255,215,0,0.6);box-shadow:0 12px 35px rgba(255,215,0,0.1)}

/* ── SERVER SPECS ── */
.specs-strip{
  display:flex;flex-wrap:wrap;gap:0;
  border:1px solid var(--border-b);
  border-radius:12px;overflow:hidden;
  margin-top:2rem;
}
.spec{
  flex:1;min-width:130px;
  padding:1.25rem 1rem;
  text-align:center;
  border-right:1px solid var(--border-b);
  background:var(--card2);
  transition:background .2s;
}
.spec:last-child{border-right:none}
.spec:hover{background:rgba(0,87,183,0.1)}
.spec-icon{font-size:1.4rem;margin-bottom:0.3rem;display:block}
.spec-label{font-size:0.65rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--muted);font-weight:700;margin-bottom:0.3rem}
.spec-val{font-family:'Unbounded',sans-serif;font-weight:700;font-size:0.8rem;color:var(--yellow)}

/* ── JOIN SECTION ── */
#join{
  background:
    linear-gradient(90deg,rgba(255,215,0,0.03),transparent 50%),
    linear-gradient(270deg,rgba(0,87,183,0.05),transparent 50%);
}
.steps{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:0;position:relative;
}
.steps::before{
  content:'';position:absolute;
  top:40px;left:10%;right:10%;height:2px;
  background:linear-gradient(90deg,var(--yellow),var(--blue-bright));
  opacity:0.3;z-index:0;
}
.step{
  display:flex;flex-direction:column;align-items:center;
  text-align:center;gap:1rem;
  padding:1.5rem 1rem;
  position:relative;z-index:1;
}
.step-num{
  width:56px;height:56px;
  background:linear-gradient(135deg,var(--blue),var(--blue-light));
  border:2px solid var(--yellow);
  border-radius:6px;
  display:flex;align-items:center;justify-content:center;
  font-family:'Press Start 2P',monospace;
  font-size:1rem;color:var(--yellow);
  box-shadow:3px 3px 0 #003a7a,0 0 20px rgba(0,87,183,0.3);
  flex-shrink:0;
}
.step-title{font-family:'Unbounded',sans-serif;font-weight:700;font-size:0.8rem;color:#fff}
.step-desc{font-size:0.8rem;color:var(--muted);line-height:1.6}
.step-code{
  background:rgba(255,215,0,0.08);
  border:1px solid rgba(255,215,0,0.3);
  border-radius:5px;padding:0.35rem 0.8rem;
  font-family:'Press Start 2P',monospace;
  font-size:0.55rem;color:var(--yellow);
  word-break:break-all;line-height:1.8;
}

/* ── COMMANDS ── */
#commands{background:linear-gradient(180deg,transparent,rgba(0,87,183,0.04),transparent)}
.cmd-cats{display:flex;gap:0.6rem;flex-wrap:wrap;margin-bottom:2rem}
.cmd-cat-btn{
  font-family:'Press Start 2P',monospace;font-size:0.5rem;
  padding:0.45rem 0.9rem;border-radius:5px;border:1px solid var(--border-b);
  background:transparent;color:var(--muted);cursor:none;
  transition:all .2s;
}
.cmd-cat-btn.active,.cmd-cat-btn:hover{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:0 0 14px rgba(0,87,183,0.3)}
.cmds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:0.65rem}
.cmd-row{
  display:flex;align-items:flex-start;gap:0.75rem;
  background:var(--card2);
  border:1px solid var(--border-b);
  border-left:3px solid var(--blue);
  border-radius:0 8px 8px 0;
  padding:0.8rem 1rem;
  transition:border-color .2s,background .2s;
}
.cmd-row:hover{background:rgba(0,87,183,0.1);border-left-color:var(--yellow)}
.cmd-k{
  font-family:'Press Start 2P',monospace;
  font-size:0.55rem;color:var(--blue-bright);
  white-space:nowrap;flex-shrink:0;
  margin-top:1px;line-height:1.8;
}
.cmd-v{font-size:0.85rem;color:#8eafd4;font-weight:600}

/* ── RULES ── */
#rules{background:rgba(0,0,0,0.2)}
.rules-wrap{
  display:grid;grid-template-columns:1fr 1fr;
  gap:0.75rem;max-width:900px;margin:0 auto;
}
.rule{
  display:flex;align-items:flex-start;gap:0.9rem;
  background:var(--card2);
  border:1px solid var(--border-b);
  border-radius:10px;
  padding:1rem 1.15rem;
  transition:transform .2s,border-color .2s;
}
.rule:hover{transform:translateX(4px);border-color:rgba(255,215,0,0.3)}
.rule-n{
  font-family:'Press Start 2P',monospace;
  font-size:0.6rem;color:var(--yellow);
  min-width:24px;margin-top:2px;
}
.rule-t{font-size:0.85rem;color:#8eafd4;line-height:1.55}
.rule-t strong{color:#fff}

/* ── FOOTER ── */
footer{
  position:relative;z-index:1;
  background:var(--dark2);
  border-top:1px solid var(--border-b);
  padding:3rem 4rem;
}
footer::before{
  content:'';display:block;height:3px;
  background:linear-gradient(90deg,var(--yellow),var(--blue),var(--yellow));
  margin-bottom:2.5rem;
  border-radius:2px;
}
.footer-inner{
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:1.5rem;
}
.footer-logo{
  font-family:'Press Start 2P',monospace;font-size:0.9rem;
  background:linear-gradient(135deg,var(--yellow),var(--blue-bright));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
.footer-links{display:flex;gap:1rem;flex-wrap:wrap}
.footer-links a{
  color:var(--muted);text-decoration:none;font-weight:700;font-size:0.8rem;
  transition:color .2s;
}
.footer-links a:hover{color:var(--yellow)}
.footer-copy{color:var(--muted);font-size:0.75rem;font-weight:600}

/* ── KEYFRAMES ── */
@keyframes slideRight{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:translateX(0)}}
@keyframes floatIn{from{opacity:0;transform:translateY(30px) scale(0.9)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes floatPixel{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-15px) rotate(5deg)}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,0.6)}50%{box-shadow:0 0 0 6px rgba(34,197,94,0)}}
@keyframes revealUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}

/* ── REVEAL ── */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .hero{grid-template-columns:1fr;text-align:center;padding:5rem 1.5rem 3rem}
  .hero-left{align-items:center}
  .hero-right{display:none}
  .features-grid{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
  .steps::before{display:none}
  .rules-wrap{grid-template-columns:1fr}
  section{padding:4rem 1.5rem}
  footer{padding:2rem 1.5rem}
  .footer-inner{flex-direction:column;text-align:center}
}
@media(max-width:600px){
  nav{padding:0 1rem}
  .nav-links{display:none}
  .features-grid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .cmds-grid{grid-template-columns:1fr}
}
/* ── DUAL IP CARDS ── */
.ip-dual-wrap{
  display:flex;gap:0.9rem;flex-wrap:wrap;
  animation:slideRight .6s ease both .3s;
}
.ip-card{
  flex:1;min-width:210px;
  background:rgba(10,15,30,0.9);
  border:1.5px solid rgba(255,215,0,0.25);
  border-radius:12px;
  padding:0.9rem 1rem;
  transition:border-color .25s,box-shadow .25s;
}
.ip-card:hover{border-color:rgba(255,215,0,0.55);box-shadow:0 0 20px rgba(255,215,0,0.1)}
.bedrock-card{border-color:rgba(0,87,183,0.35)}
.bedrock-card:hover{border-color:rgba(77,166,255,0.6);box-shadow:0 0 20px rgba(0,87,183,0.15)}

.ip-card-header{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:0.55rem;
}
.ip-edition-badge{
  font-family:'Press Start 2P',monospace;
  font-size:0.45rem;letter-spacing:0.06em;
  padding:0.25rem 0.6rem;border-radius:4px;
}
.ip-edition-badge.java{background:rgba(255,215,0,0.15);color:var(--yellow);border:1px solid rgba(255,215,0,0.3)}
.ip-edition-badge.bedrock{background:rgba(0,87,183,0.2);color:var(--blue-bright);border:1px solid rgba(77,166,255,0.3)}
.ip-version{font-size:0.7rem;font-weight:700;color:var(--muted)}

.ip-card-body{
  display:flex;align-items:center;justify-content:space-between;gap:0.5rem;
}
.ip-card-addr-wrap{display:flex;align-items:center;gap:0.3rem;min-width:0}
.ip-card-addr{
  font-family:'Press Start 2P',monospace;
  font-size:0.6rem;color:#fff;
  letter-spacing:0.03em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.ip-port-tag{
  font-family:'Press Start 2P',monospace;
  font-size:0.45rem;
  color:var(--blue-bright);
  background:rgba(0,87,183,0.2);
  border:1px solid rgba(77,166,255,0.25);
  border-radius:4px;padding:0.2rem 0.4rem;
  white-space:nowrap;flex-shrink:0;
}
.ip-copy-btn{
  background:transparent;
  border:1px solid rgba(255,255,255,0.15);
  border-radius:6px;
  color:#fff;font-size:1rem;
  padding:0.3rem 0.55rem;
  cursor:none;flex-shrink:0;
  transition:background .2s,border-color .2s;
}
.ip-copy-btn:hover{background:rgba(255,215,0,0.12);border-color:rgba(255,215,0,0.4)}
.ip-copy-btn.ok{background:rgba(34,197,94,0.15);border-color:#22c55e;color:#22c55e}

/* nav donate link */
.nav-donate{
  color:var(--yellow) !important;
  border:1px solid rgba(255,215,0,0.3);
  border-radius:6px;
  padding:0.35rem 0.75rem !important;
  transition:background .2s,border-color .2s !important;
}
.nav-donate:hover{background:rgba(255,215,0,0.1) !important;border-color:var(--yellow) !important}

/* ════════════════════════════════════════════
   LOGO CUBE + NEW FONT
════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');

.nav-logo{
  font-family:'Righteous',sans-serif !important;
  font-size:1.35rem !important;
  letter-spacing:0.08em !important;
  text-decoration:none;
  display:flex;align-items:center;gap:0.55rem;
  background:linear-gradient(135deg,var(--yellow) 30%,#fff 60%,var(--blue-bright) 100%) !important;
  -webkit-background-clip:text !important;-webkit-text-fill-color:transparent !important;
  filter:drop-shadow(0 0 10px rgba(255,215,0,0.35)) !important;
}

/* 3-D spinning cube */
.nav-cube-wrap{
  width:26px;height:26px;
  perspective:80px;
  flex-shrink:0;
}
.nav-cube{
  width:100%;height:100%;
  position:relative;
  transform-style:preserve-3d;
  animation:spinCube 4s linear infinite;
}
.nav-cube-face{
  position:absolute;inset:0;
  border:1.5px solid rgba(255,215,0,0.6);
  display:flex;align-items:center;justify-content:center;
  font-size:0.7rem;
  backface-visibility:visible;
}
.nav-cube-face.front {background:rgba(0,87,183,0.85);transform:translateZ(13px)}
.nav-cube-face.back  {background:rgba(0,57,140,0.85);transform:rotateY(180deg) translateZ(13px)}
.nav-cube-face.left  {background:rgba(0,70,160,0.85);transform:rotateY(-90deg) translateZ(13px)}
.nav-cube-face.right {background:rgba(0,100,200,0.85);transform:rotateY(90deg) translateZ(13px)}
.nav-cube-face.top   {background:rgba(255,215,0,0.85);transform:rotateX(90deg) translateZ(13px)}
.nav-cube-face.bottom{background:rgba(180,140,0,0.85);transform:rotateX(-90deg) translateZ(13px)}

@keyframes spinCube{
  0%  {transform:rotateX(0deg)   rotateY(0deg)}
  100%{transform:rotateX(360deg) rotateY(360deg)}
}

/* ════════════════════════════════════════════
   HAMBURGER MENU
════════════════════════════════════════════ */
.hamburger{
  display:none;
  flex-direction:column;justify-content:center;gap:5px;
  width:38px;height:38px;
  background:transparent;border:1px solid var(--border-b);
  border-radius:8px;cursor:pointer;padding:7px 8px;
  transition:border-color .2s;z-index:200;
}
.hamburger:hover{border-color:rgba(255,215,0,0.4)}
.hamburger span{
  display:block;height:2px;border-radius:2px;
  background:var(--yellow);
  transition:transform .3s ease,opacity .3s ease,width .3s ease;
}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* mobile nav drawer */
.mobile-nav{
  display:none;
  position:fixed;top:68px;left:0;right:0;z-index:99;
  background:rgba(5,8,15,0.97);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border-b);
  flex-direction:column;
  padding:1rem 1.5rem 1.5rem;
  gap:0.35rem;
  transform:translateY(-10px);
  opacity:0;
  transition:transform .3s ease,opacity .3s ease;
  pointer-events:none;
}
.mobile-nav.open{
  transform:translateY(0);
  opacity:1;
  pointer-events:all;
}
.mobile-nav a{
  display:block;
  color:var(--muted);text-decoration:none;
  font-weight:700;font-size:0.9rem;
  padding:0.7rem 0.9rem;border-radius:8px;
  transition:color .2s,background .2s;
  border-bottom:1px solid rgba(255,255,255,0.04);
}
.mobile-nav a:last-child{border-bottom:none}
.mobile-nav a:hover{color:var(--yellow);background:rgba(255,215,0,0.06)}
.mobile-nav .mob-cta{
  margin-top:0.5rem;
  background:var(--yellow) !important;
  color:#000 !important;
  text-align:center;
  font-family:'Righteous',sans-serif;
  font-size:0.95rem;
  box-shadow:3px 3px 0 #b8860b;
  border-bottom:none !important;
}

/* ════════════════════════════════════════════
   MOBILE RESPONSIVE — full pass
════════════════════════════════════════════ */

/* hide cursor on touch */
@media(hover:none){
  body{cursor:auto}
  .cursor,.cursor-trail{display:none}
}

@media(max-width:900px){
  .hero{
    grid-template-columns:1fr;
    text-align:center;
    padding:5.5rem 2rem 3rem;
    gap:2rem;
  }
  .hero-left{align-items:center}
  .hero-right{display:none}
  .features-grid{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
  .steps::before{display:none}
  .rules-wrap{grid-template-columns:1fr}
  section{padding:4rem 2rem}
  footer{padding:2rem 2rem}
  .footer-inner{flex-direction:column;text-align:center;gap:1rem}
  .footer-links{justify-content:center}
}

@media(max-width:768px){
  /* Show hamburger, hide desktop nav */
  .hamburger{display:flex}
  .mobile-nav{display:flex}
  .nav-links{display:none !important}

  nav{padding:0 1.25rem}

  /* hero */
  .hero{padding:5rem 1.25rem 2.5rem}
  .hero-title{font-size:clamp(2.5rem,12vw,4rem)}
  .hero-desc{font-size:0.9rem}

  /* ip dual */
  .ip-dual-wrap{flex-direction:column}
  .ip-card{min-width:unset;width:100%}
  .ip-card-addr{font-size:0.52rem}

  /* features */
  .features-grid{grid-template-columns:1fr}
  .specs-strip{flex-wrap:wrap}
  .spec{min-width:calc(50% - 0px);border-right:none;border-bottom:1px solid var(--border-b)}
  .spec:nth-child(odd){border-right:1px solid var(--border-b)}

  /* steps */
  .steps{grid-template-columns:1fr}

  /* commands */
  .cmds-grid{grid-template-columns:1fr}
  .cmd-cats{gap:0.4rem}
  .cmd-cat-btn{font-size:0.42rem;padding:0.4rem 0.7rem}

  /* sections padding */
  section{padding:3.5rem 1.25rem}

  /* sec title */
  .sec-title{font-size:clamp(1.3rem,5vw,1.8rem)}

  /* donate table scroll */
  .perks-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}

  /* footer */
  footer{padding:2rem 1.25rem}
  .footer-links{flex-wrap:wrap;justify-content:center;gap:0.75rem}

  /* rules accordion */
  .acc-header{padding:0.85rem 1rem}
  .acc-inner{padding:0 1rem 1rem}
  .acc-title{font-size:0.78rem}
  .acc-count{display:none}

  /* contacts */
  .socials-grid{grid-template-columns:1fr 1fr}
  .media-grid{grid-template-columns:1fr}
  .ip-cards-row{grid-template-columns:1fr}
  .ip-section{padding:1.25rem}

  /* donate */
  .ranks-grid{grid-template-columns:1fr}
  .how-buy{grid-template-columns:1fr 1fr}
  .bp-card{grid-template-columns:1fr;text-align:center}
  .bp-perks{justify-content:center}
  .bp-right{align-items:center}
}

@media(max-width:480px){
  .socials-grid{grid-template-columns:1fr}
  .how-buy{grid-template-columns:1fr}
  .hero-btns{flex-direction:column;align-items:stretch}
  .hero-btns .btn{justify-content:center}
  .ip-section-title{font-size:0.42rem}
  .ip-big-addr{font-size:0.62rem}
  .rank-card{padding:1.25rem 1rem}
  .coins-grid{grid-template-columns:1fr 1fr}
  .shop-tabs{gap:0.4rem}
  .shop-tab{font-size:0.42rem;padding:0.5rem 0.75rem}
  .rules-page,.donate-page,.contacts-page{padding-left:1rem;padding-right:1rem}
  .sec-eyebrow{font-size:0.45rem}
  .nav-logo{font-size:1.1rem !important}
  .nav-cube-wrap{width:22px;height:22px}
}

/* ════════════════════════════════════════════
   VOTE SECTION
════════════════════════════════════════════ */
.vote-section{
  background:linear-gradient(180deg,transparent,rgba(255,215,0,0.03),transparent);
}

.vote-wrap{
  position:relative;
  display:grid;grid-template-columns:1fr 1fr;
  gap:3rem;align-items:center;
  background:var(--card);
  border:1.5px solid rgba(255,215,0,0.25);
  border-radius:24px;
  padding:3rem;
  overflow:hidden;
}
.vote-glow{
  position:absolute;
  top:50%;left:50%;transform:translate(-50%,-50%);
  width:500px;height:300px;
  background:radial-gradient(ellipse,rgba(255,215,0,0.07),transparent 70%);
  pointer-events:none;
}
.vote-wrap::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--yellow),var(--blue),var(--yellow));
  background-size:200%;animation:shimmer 4s linear infinite;
}

/* left */
.vote-title{
  font-family:'Unbounded',sans-serif;
  font-weight:900;
  font-size:clamp(1.6rem,3vw,2.4rem);
  line-height:1.1;color:#fff;
  margin:0.5rem 0 0.9rem;
}
.vote-title span{
  background:linear-gradient(135deg,var(--yellow),var(--yellow-warm));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 12px rgba(255,215,0,0.4));
}
.vote-desc{
  font-size:0.9rem;color:#8eafd4;font-weight:600;
  line-height:1.7;margin-bottom:1.75rem;
}

.vote-rewards{
  display:flex;flex-direction:column;gap:0.75rem;
  margin-bottom:1.5rem;
}
.vote-reward{
  display:flex;align-items:center;gap:0.9rem;
  background:rgba(255,215,0,0.05);
  border:1px solid rgba(255,215,0,0.15);
  border-radius:10px;
  padding:0.7rem 1rem;
  transition:border-color .2s,background .2s;
}
.vote-reward:hover{
  border-color:rgba(255,215,0,0.35);
  background:rgba(255,215,0,0.08);
}
.vote-reward-icon{font-size:1.6rem;flex-shrink:0}
.vote-reward-name{
  font-size:0.82rem;font-weight:700;color:#fff;margin-bottom:0.1rem;
}
.vote-reward-val{
  font-family:'Press Start 2P',monospace;
  font-size:0.48rem;color:var(--yellow);
}

.vote-howto{
  display:flex;align-items:flex-start;gap:0.6rem;
  background:rgba(0,87,183,0.1);
  border:1px solid rgba(0,87,183,0.25);
  border-radius:8px;
  padding:0.7rem 0.9rem;
  font-size:0.8rem;color:#8eafd4;font-weight:600;line-height:1.5;
}
.vote-howto-icon{flex-shrink:0;font-size:1rem;margin-top:1px}
.vote-howto code{
  font-family:'Press Start 2P',monospace;font-size:0.5rem;
  color:var(--yellow);
  background:rgba(255,215,0,0.1);
  border:1px solid rgba(255,215,0,0.2);
  border-radius:4px;padding:0.1rem 0.4rem;
}

/* right */
.vote-right{
  display:flex;flex-direction:column;align-items:center;
  gap:1.25rem;
}

/* timer */
.vote-timer-wrap{
  text-align:center;
  background:rgba(0,0,0,0.3);
  border:1px solid var(--border-b);
  border-radius:14px;
  padding:1.25rem 1.5rem;
  width:100%;
}
.vote-timer-label{
  font-family:'Press Start 2P',monospace;font-size:0.45rem;
  color:var(--muted);letter-spacing:0.1em;margin-bottom:0.9rem;
}
.vote-timer{
  display:flex;align-items:center;justify-content:center;gap:0.5rem;
  margin-bottom:0.6rem;
}
.vote-time-block{
  display:flex;flex-direction:column;align-items:center;gap:0.15rem;
}
.vote-time-block span{
  font-family:'Unbounded',sans-serif;font-weight:900;
  font-size:2rem;color:var(--yellow);line-height:1;
  filter:drop-shadow(0 0 8px rgba(255,215,0,0.5));
  min-width:2.5ch;text-align:center;
}
.vote-time-block small{
  font-family:'Press Start 2P',monospace;font-size:0.38rem;
  color:var(--muted);letter-spacing:0.08em;
}
.vote-time-sep{
  font-family:'Unbounded',sans-serif;font-weight:900;
  font-size:1.8rem;color:rgba(255,215,0,0.4);
  margin-bottom:0.8rem;
}
.vote-timer-note{
  font-size:0.75rem;font-weight:700;color:var(--muted);
}
.vote-timer-note.ready{color:#22c55e}

/* MAIN VOTE BUTTON */
.vote-btn{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:0.2rem;
  width:100%;
  padding:1.25rem;
  border-radius:14px;
  text-decoration:none;
  background:linear-gradient(135deg,var(--yellow),var(--yellow-warm));
  color:#000;
  box-shadow:
    0 6px 0 #7a5800,
    0 8px 20px rgba(255,215,0,0.3);
  transition:transform .15s,box-shadow .15s;
  position:relative;overflow:hidden;
}
.vote-btn::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,0.2),transparent);
  opacity:0;transition:opacity .2s;
}
.vote-btn:hover{
  transform:translateY(-3px);
  box-shadow:0 9px 0 #7a5800,0 14px 30px rgba(255,215,0,0.4);
}
.vote-btn:hover::before{opacity:1}
.vote-btn:active{transform:translateY(3px);box-shadow:0 3px 0 #7a5800}
.vote-btn-icon{font-size:2rem;line-height:1}
.vote-btn-text{
  font-family:'Press Start 2P',monospace;
  font-size:0.85rem;letter-spacing:0.1em;
  color:#000;font-weight:700;
}
.vote-btn-sub{
  font-size:0.7rem;font-weight:700;color:rgba(0,0,0,0.55);
}

/* voted state */
.vote-done{
  width:100%;text-align:center;
  background:rgba(34,197,94,0.08);
  border:1.5px solid rgba(34,197,94,0.3);
  border-radius:14px;
  padding:1.5rem 1.25rem;
  display:flex;flex-direction:column;align-items:center;gap:0.5rem;
}
.vote-done-icon{font-size:2.5rem}
.vote-done-text{
  font-family:'Unbounded',sans-serif;font-weight:700;
  font-size:0.85rem;color:#22c55e;
}
.vote-done-sub{font-size:0.8rem;color:var(--muted);font-weight:600}
.vote-done-sub strong{color:#fff}
.vote-again-btn{
  margin-top:0.25rem;
  font-family:'Press Start 2P',monospace;font-size:0.45rem;
  padding:0.45rem 0.9rem;border-radius:6px;
  text-decoration:none;
  background:transparent;color:var(--muted);
  border:1px solid var(--border-b);
  transition:color .2s,border-color .2s;
}
.vote-again-btn:hover{color:var(--yellow);border-color:rgba(255,215,0,0.3)}

/* streak */
.vote-streak{
  display:flex;align-items:center;gap:0.5rem;
  background:rgba(255,100,0,0.08);
  border:1px solid rgba(255,100,0,0.2);
  border-radius:100px;
  padding:0.4rem 1rem;
  font-size:0.82rem;font-weight:700;color:#fb923c;
}
.vote-streak-fire{font-size:1.1rem}
.vote-streak strong{color:#fff}

/* mobile */
@media(max-width:768px){
  .vote-wrap{grid-template-columns:1fr;padding:1.75rem 1.25rem;gap:2rem}
  .vote-title{font-size:1.5rem}
}

/* ════════════════════════════════════════════
   SUPPORT PROJECT BLOCK
════════════════════════════════════════════ */
.support-wrap{
  position:relative;
  display:grid;grid-template-columns:1fr auto;
  align-items:center;gap:2.5rem;
  background:var(--card);
  border:1.5px solid rgba(255,215,0,0.3);
  border-radius:20px;
  padding:2.5rem 2.5rem 2.5rem 2.5rem;
  overflow:hidden;
  margin-bottom:3rem;
}
.support-wrap::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--yellow),#fff,var(--yellow));
  background-size:200%;animation:shimmer 3s linear infinite;
}
.support-glow{
  position:absolute;right:-80px;top:50%;transform:translateY(-50%);
  width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,215,0,0.08),transparent 70%);
  pointer-events:none;
}

.support-eyebrow{
  font-family:'Press Start 2P',monospace;font-size:0.45rem;
  color:var(--yellow);letter-spacing:0.1em;
  display:block;margin-bottom:0.75rem;
}
.support-title{
  font-family:'Unbounded',sans-serif;font-weight:900;
  font-size:clamp(1.3rem,2.5vw,1.9rem);
  color:#fff;line-height:1.1;margin-bottom:0.75rem;
}
.support-title span{
  background:linear-gradient(135deg,var(--yellow),var(--yellow-warm));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
.support-desc{
  font-size:0.87rem;color:#8eafd4;font-weight:600;
  line-height:1.7;margin-bottom:1.1rem;max-width:480px;
}
.support-list{
  list-style:none;display:flex;flex-direction:column;gap:0.4rem;
}
.support-list li{
  font-size:0.83rem;color:#8eafd4;font-weight:600;
  display:flex;align-items:center;gap:0.5rem;
}

.support-right{
  display:flex;flex-direction:column;align-items:center;
  gap:0.85rem;flex-shrink:0;
}
.support-heart{
  font-size:3.5rem;
  animation:heartbeat 1.5s ease-in-out infinite;
  filter:drop-shadow(0 0 16px rgba(255,215,0,0.5));
}
@keyframes heartbeat{
  0%,100%{transform:scale(1)}
  14%{transform:scale(1.15)}
  28%{transform:scale(1)}
  42%{transform:scale(1.1)}
  56%{transform:scale(1)}
}

.support-btn{
  display:flex;flex-direction:column;align-items:center;
  gap:0.25rem;
  padding:1rem 1.75rem;
  border-radius:12px;
  text-decoration:none;
  background:linear-gradient(135deg,var(--yellow),var(--yellow-warm));
  color:#000;
  box-shadow:0 5px 0 #7a5800,0 8px 20px rgba(255,215,0,0.3);
  transition:transform .15s,box-shadow .15s;
  white-space:nowrap;
}
.support-btn:hover{
  transform:translateY(-3px);
  box-shadow:0 8px 0 #7a5800,0 14px 28px rgba(255,215,0,0.4);
}
.support-btn:active{transform:translateY(2px);box-shadow:0 3px 0 #7a5800}
.support-btn-icon{font-size:1.6rem}
.support-btn-text{
  font-family:'Press Start 2P',monospace;font-size:0.6rem;
  color:#000;letter-spacing:0.06em;font-weight:700;
}
.support-btn-sub{font-size:0.68rem;font-weight:700;color:rgba(0,0,0,0.5)}
.support-note{
  font-size:0.75rem;font-weight:700;color:var(--muted);
}

@media(max-width:768px){
  .support-wrap{grid-template-columns:1fr;text-align:center;padding:1.75rem 1.25rem}
  .support-desc{margin:0 auto 1rem}
  .support-list{align-items:center}
}
