/* === RESET & VARIABLES === */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg-deep:#0a0a0f;--bg-card:#12121a;--bg-card-hover:#1a1a25;
  --red:#c0392b;--red-glow:#e74c3c;--amber:#d4880f;--amber-glow:#f0a500;
  --green:#2ecc40;--green-dim:#1a7a28;--toxic:#39ff14;
  --text:#d4d4d8;--text-dim:#8a8a96;--text-bright:#fafafa;
  --pixel-border:2px solid #2a2a3a;
  --shadow-sm:3px 3px 0 #000;
  --shadow-md:4px 4px 0 #000;
  --shadow-lg:6px 6px 0 #000;
  --font-pixel:'Press Start 2P',monospace;
  --font-body:'Noto Sans SC',sans-serif;
}
html{scroll-behavior:smooth;font-size:16px}
body{
  background:var(--bg-deep);color:var(--text);
  font-family:var(--font-body);overflow-x:hidden;line-height:1.7;
}

/* === PAGE TRANSITION === */
body{animation:pageIn .4s ease both}
@keyframes pageIn{from{opacity:0}to{opacity:1}}

/* === SCANLINE + NOISE === */
body::after{
  content:'';position:fixed;inset:0;z-index:9999;pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.05) 2px,rgba(0,0,0,.05) 4px);
}
body::before{
  content:'';position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:200px 200px;
}

/* === REDUCED MOTION === */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms!important;transition-duration:0.01ms!important}
  .reveal{opacity:1;transform:none}
}

/* === SCROLLBAR === */
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:var(--bg-deep)}
::-webkit-scrollbar-thumb{background:#2a2a3a;border:2px solid var(--bg-deep)}
::-webkit-scrollbar-thumb:hover{background:#3a3a4a}

/* === LAYOUT === */
.container{max-width:1100px;margin:0 auto;padding:0 24px}
.section-tag{
  font-family:var(--font-pixel);font-size:10px;letter-spacing:2px;
  color:var(--amber);text-transform:uppercase;margin-bottom:12px;
  display:flex;align-items:center;gap:10px;
}
.section-tag::before{content:'>';animation:blink 1s step-end infinite}
.section-title{
  font-family:var(--font-body);font-weight:900;font-size:clamp(1.5rem,4vw,2.2rem);
  color:var(--text-bright);margin-bottom:40px;
}

/* === PIXEL BOX === */
.pixel-box{
  background:var(--bg-card);position:relative;
  border:var(--pixel-border);
  box-shadow:var(--shadow-md),inset 1px 1px 0 rgba(255,255,255,.03);
}
.pixel-box::before{
  content:'';position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;
  border:2px solid transparent;pointer-events:none;transition:border-color .3s;
}
.pixel-box:hover::before{border-color:var(--amber)}

/* === REVEAL === */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}

/* === PARTICLES === */
#particles{position:fixed;inset:0;z-index:0;pointer-events:none}
.ash{
  position:absolute;width:3px;height:3px;background:rgba(200,160,100,.3);
  animation:fall linear infinite;will-change:transform;
}
@keyframes fall{
  0%{transform:translateY(-10vh) translateX(0);opacity:0}
  10%{opacity:1}90%{opacity:1}
  100%{transform:translateY(110vh) translateX(40px);opacity:0}
}

/* === NAV === */
#nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(10,10,15,.88);backdrop-filter:blur(12px);
  border-bottom:1px solid #1a1a2a;transition:transform .3s;
}
#nav .nav-inner{
  max-width:1100px;margin:0 auto;padding:12px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
#nav .logo{
  font-family:var(--font-pixel);font-size:11px;color:var(--amber);
  letter-spacing:1px;text-decoration:none;flex-shrink:0;
}
#nav .logo span{color:var(--red)}
#nav .nav-links{display:flex;gap:20px;list-style:none;flex-shrink:0}
#nav .nav-links a{
  font-size:13px;color:var(--text-dim);text-decoration:none;
  transition:color .25s;font-weight:700;white-space:nowrap;
  position:relative;
}
#nav .nav-links a::after{
  content:'';position:absolute;left:0;bottom:-4px;width:0;height:2px;
  background:var(--amber);transition:width .25s;
}
#nav .nav-links a:hover,#nav .nav-links a.active{color:var(--amber)}
#nav .nav-links a:hover::after,#nav .nav-links a.active::after{width:100%}
.nav-right{display:flex;align-items:center;gap:10px;flex-shrink:0}
.nav-btn{
  font-family:var(--font-pixel);font-size:9px;
  padding:9px 16px;border:2px solid #2a2a3a;
  background:transparent;color:var(--text-dim);cursor:pointer;
  transition:all .2s;letter-spacing:1px;text-decoration:none;
  display:inline-flex;align-items:center;
}
.nav-btn:hover{border-color:var(--amber);color:var(--amber)}
.nav-btn-primary{background:var(--red);border-color:var(--red);color:#fff}
.nav-btn-primary:hover{background:var(--red-glow);border-color:var(--red-glow);color:#fff}
.nav-btn-sm{font-size:8px;padding:6px 12px}
.nav-username{font-family:var(--font-pixel);font-size:9px;color:var(--amber)}
.nav-balance{font-family:var(--font-pixel);font-size:9px;color:var(--green);margin-left:4px}

/* === HAMBURGER MENU (MOBILE) === */
.hamburger{
  display:none;width:32px;height:32px;background:none;border:none;
  cursor:pointer;padding:4px;flex-shrink:0;position:relative;z-index:101;
}
.hamburger span{
  display:block;width:100%;height:2px;background:var(--text);
  margin:5px 0;transition:all .3s;
}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

.mobile-menu{
  display:none;position:fixed;inset:0;z-index:99;
  background:rgba(10,10,15,.95);backdrop-filter:blur(12px);
  flex-direction:column;align-items:center;justify-content:center;gap:28px;
  list-style:none;
}
.mobile-menu.open{display:flex}
.mobile-menu a{
  font-family:var(--font-pixel);font-size:12px;color:var(--text);
  text-decoration:none;transition:color .2s;padding:8px;
}
.mobile-menu a:hover{color:var(--amber)}
.mobile-menu .mobile-auth{
  display:flex;gap:12px;margin-top:16px;
  padding-top:24px;border-top:1px solid #2a2a3a;
}

@media(max-width:700px){
  #nav .nav-links{display:none}
  .nav-right .nav-btn,.nav-right .nav-username,.nav-right .nav-balance{display:none}
  .nav-right #navUser .nav-btn-sm{display:inline-flex;font-size:8px}
  .hamburger{display:block}
}
@media(min-width:701px){
  .mobile-menu{display:none!important}
}

/* === IP BOX === */
.ip-box{
  display:inline-flex;align-items:center;gap:12px;
  padding:14px 24px;cursor:pointer;
  background:var(--bg-card);border:2px solid #2a2a3a;
  box-shadow:var(--shadow-md);transition:all .2s;position:relative;
}
.ip-box:hover{border-color:var(--amber);transform:translate(-1px,-1px);box-shadow:5px 5px 0 #000}
.ip-box:active{transform:translate(2px,2px);box-shadow:2px 2px 0 #000}
.ip-box .ip-label{font-family:var(--font-pixel);font-size:9px;color:var(--text-dim)}
.ip-box .ip-addr{font-family:var(--font-pixel);font-size:13px;color:var(--amber);letter-spacing:1px}
.ip-box .copy-icon{width:18px;height:18px;color:var(--text-dim);transition:color .2s}
.ip-box:hover .copy-icon{color:var(--amber)}
.ip-toast{
  position:absolute;top:-36px;left:50%;transform:translateX(-50%);
  font-family:var(--font-pixel);font-size:9px;color:var(--green);
  background:rgba(10,10,15,.9);border:1px solid var(--green-dim);
  padding:5px 12px;opacity:0;transition:opacity .3s;pointer-events:none;
}
.ip-toast.show{opacity:1}

/* === FOOTER === */
#footer{
  padding:40px 24px;text-align:center;
  border-top:1px solid #1a1a2a;position:relative;z-index:1;
}
.footer-inner{max-width:1100px;margin:0 auto}
.footer-links{
  display:flex;justify-content:center;gap:24px;margin-bottom:16px;flex-wrap:wrap;
}
.footer-links a{
  font-family:var(--font-pixel);font-size:9px;color:var(--text-dim);
  text-decoration:none;transition:color .2s;
}
.footer-links a:hover{color:var(--amber)}
.footer-social{display:flex;justify-content:center;gap:16px;margin-bottom:16px}
.footer-social a{
  width:36px;height:36px;display:flex;align-items:center;justify-content:center;
  border:1px solid #2a2a3a;color:var(--text-dim);font-size:16px;
  text-decoration:none;transition:all .2s;
}
.footer-social a:hover{border-color:var(--amber);color:var(--amber)}
.footer-copy{font-family:var(--font-pixel);font-size:8px;color:var(--text-dim);letter-spacing:1px}

/* === FORM SHARED === */
.form-group{margin-bottom:18px}
.form-label{
  display:block;font-family:var(--font-pixel);font-size:9px;
  color:var(--text-dim);margin-bottom:8px;letter-spacing:1px;
}
.form-input{
  width:100%;padding:12px 14px;font-family:var(--font-body);font-size:15px;
  background:var(--bg-card);border:2px solid #2a2a3a;color:var(--text-bright);
  outline:none;transition:border-color .2s,box-shadow .2s;
}
.form-input:focus{border-color:var(--amber);box-shadow:0 0 0 1px var(--amber)}
.form-input::placeholder{color:#555}
.form-btn{
  width:100%;padding:14px;font-family:var(--font-pixel);font-size:10px;
  background:var(--red);border:2px solid var(--red);color:#fff;
  cursor:pointer;transition:all .2s;letter-spacing:1px;
  box-shadow:var(--shadow-md);
}
.form-btn:hover{background:var(--red-glow);border-color:var(--red-glow);transform:translate(-1px,-1px);box-shadow:5px 5px 0 #000}
.form-btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 #000}
.form-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:var(--shadow-md)}
.form-msg{
  font-family:var(--font-pixel);font-size:9px;text-align:center;
  margin-top:12px;min-height:18px;
}
.form-msg.error{color:var(--red)}
.form-msg.success{color:var(--green)}

/* === CONFIRM DIALOG === */
.confirm-overlay{
  position:fixed;inset:0;z-index:300;
  background:rgba(0,0,0,.75);backdrop-filter:blur(4px);
  display:none;align-items:center;justify-content:center;padding:24px;
}
.confirm-overlay.show{display:flex}
.confirm-box{
  background:var(--bg-deep);border:2px solid #2a2a3a;
  box-shadow:var(--shadow-lg);max-width:380px;width:100%;
  padding:32px;text-align:center;animation:modalIn .25s ease;
}
@keyframes modalIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.confirm-title{font-family:var(--font-pixel);font-size:11px;color:var(--text-bright);margin-bottom:16px}
.confirm-body{font-size:14px;color:var(--text-dim);margin-bottom:24px;line-height:1.7}
.confirm-body strong{color:var(--amber)}
.confirm-btns{display:flex;gap:12px;justify-content:center}
.confirm-btns button{
  padding:10px 24px;font-family:var(--font-pixel);font-size:9px;
  border:2px solid #2a2a3a;cursor:pointer;transition:all .2s;
  box-shadow:var(--shadow-sm);
}
.confirm-cancel{background:transparent;color:var(--text-dim)}
.confirm-cancel:hover{border-color:var(--text);color:var(--text)}
.confirm-ok{background:var(--amber);border-color:var(--amber);color:#000}
.confirm-ok:hover{background:var(--amber-glow)}
