/* ── RESET ────────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --black:#04040a;
  --dark:#080810;
  --card:#0d0d18;
  --border:#1a1a30;
  --red:#ff1f3d;
  --red2:#8a0f1f;
  --gold:#ffd700;
  --gold2:#6b5200;
  --cyan:#00ffe0;
  --cyan2:#003d36;
  --purple:#a855f7;
  --purple2:#3b0764;
  --green:#25d366;
  --txt:#bbbbd8;
  --dim:#484868;
  --ff-title:'Bebas Neue',sans-serif;
  --ff-body:'Rajdhani',sans-serif;
  --ff-mono:'Share Tech Mono',monospace;
}

html{scroll-behavior:smooth}
body{
  background:var(--black);
  color:var(--txt);
  font-family:var(--ff-body);
  font-size:16px;
  min-height:100vh;
  overflow-x:hidden;
  cursor:crosshair;
}

/* ── SCANLINES ──────────────────────────────────────────────────── */
.scanlines{
  position:fixed;inset:0;
  background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.06) 2px,rgba(0,0,0,.06) 4px);
  pointer-events:none;z-index:9999;
}
#particles{position:fixed;inset:0;pointer-events:none;z-index:0}

/* ── GATE ───────────────────────────────────────────────────────── */
.gate-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.97);
  display:flex;align-items:center;justify-content:center;
  z-index:1000;backdrop-filter:blur(10px);
}
.gate-box{
  background:var(--card);border:1px solid var(--red);
  box-shadow:0 0 60px rgba(255,31,61,.25),0 0 120px rgba(255,31,61,.08);
  padding:48px 40px;max-width:480px;width:92%;
  text-align:center;position:relative;overflow:hidden;
  animation:boxIn .5s cubic-bezier(.22,1,.36,1);
}
.gate-box::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--red),var(--gold),var(--red),transparent);
  animation:shimmer 2.5s linear infinite;background-size:200%;
}
@keyframes shimmer{0%{background-position:200%}100%{background-position:-200%}}
@keyframes boxIn{from{transform:scale(.86) translateY(28px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

.gate-ninja{font-size:60px;display:block;margin-bottom:10px;animation:floaty 3s ease-in-out infinite}
.gate-badge{display:inline-block;background:var(--red);color:#fff;font-family:var(--ff-mono);font-size:11px;letter-spacing:3px;padding:4px 14px;margin-bottom:16px}
.gate-title{font-family:var(--ff-title);font-size:46px;line-height:1;color:#fff;letter-spacing:4px;margin-bottom:10px}
.gate-title span{color:var(--gold)}
.gate-desc{color:var(--dim);font-size:15px;line-height:1.65;margin-bottom:28px}
.gate-desc strong{color:var(--cyan)}
.btn-whatsapp{display:block;background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;text-decoration:none;font-family:var(--ff-title);font-size:22px;letter-spacing:2px;padding:16px 20px;margin-bottom:12px;transition:all .2s}
.btn-whatsapp:hover{transform:scale(1.03);box-shadow:0 0 30px rgba(37,211,102,.4)}
.btn-unlock{width:100%;background:transparent;border:1px solid var(--gold);color:var(--gold);font-family:var(--ff-body);font-weight:700;font-size:14px;letter-spacing:1px;padding:12px 20px;cursor:pointer;transition:all .2s}
.btn-unlock:hover{background:rgba(255,215,0,.08);box-shadow:0 0 20px rgba(255,215,0,.15)}
.gate-hint{color:var(--dim);font-size:11px;margin-top:10px;font-family:var(--ff-mono)}

/* ── APP ────────────────────────────────────────────────────────── */
#app{position:relative;z-index:1;min-height:100vh}
#app.hidden{display:none}

/* ── HEADER ─────────────────────────────────────────────────────── */
header{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 28px;border-bottom:1px solid var(--border);
  background:rgba(4,4,10,.92);backdrop-filter:blur(14px);
  position:sticky;top:0;z-index:100;gap:12px;flex-wrap:wrap;
}
.header-left{display:flex;align-items:center;gap:12px}
.logo-ninja{font-size:30px;animation:floaty 4s ease-in-out infinite}
.logo-king{font-family:var(--ff-title);font-size:24px;letter-spacing:4px;color:var(--red);text-shadow:0 0 18px var(--red)}
.logo-sub{font-family:var(--ff-mono);font-size:11px;color:var(--dim);letter-spacing:2px}
.logo-sub em{color:var(--cyan);font-style:normal}
.header-right{display:flex;align-items:center;gap:14px}
.visitor-pill{display:flex;align-items:center;gap:8px;background:rgba(0,255,224,.06);border:1px solid var(--cyan2);padding:6px 14px;font-family:var(--ff-mono);font-size:12px;color:var(--cyan);letter-spacing:2px;white-space:nowrap}
.vpulse{width:7px;height:7px;background:var(--cyan);border-radius:50%;animation:pulse 1.4s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;box-shadow:0 0 6px var(--cyan)}50%{opacity:.3;box-shadow:none}}
.wa-pill{background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;text-decoration:none;font-family:var(--ff-body);font-weight:700;font-size:12px;letter-spacing:1px;padding:7px 14px;white-space:nowrap;transition:all .2s}
.wa-pill:hover{transform:scale(1.05);box-shadow:0 0 18px rgba(37,211,102,.35)}

/* ── PAGE SWITCHER ───────────────────────────────────────────────── */
.page-nav{
  display:flex;gap:0;border-bottom:1px solid var(--border);
  background:rgba(4,4,10,.85);position:sticky;top:66px;z-index:99;
}
.page-tab{
  flex:1;padding:13px 10px;text-align:center;cursor:pointer;
  font-family:var(--ff-title);font-size:17px;letter-spacing:2px;
  color:var(--dim);border-bottom:2px solid transparent;
  transition:all .2s;border-right:1px solid var(--border);
  background:none;border-top:none;border-left:none;
}
.page-tab:last-child{border-right:none}
.page-tab.active{color:#fff;border-bottom-color:var(--red)}
.page-tab.active.tm{border-bottom-color:var(--purple)}
.page-tab:hover:not(.active){color:var(--txt)}

/* ── HERO ───────────────────────────────────────────────────────── */
.hero{text-align:center;padding:52px 20px 40px;max-width:860px;margin:0 auto}
.powered-strip{display:inline-block;font-family:var(--ff-mono);font-size:11px;letter-spacing:3px;color:var(--gold);background:rgba(255,215,0,.06);border:1px solid var(--gold2);padding:5px 18px;margin-bottom:22px}
.powered-strip.tm-strip{color:var(--purple);background:rgba(168,85,247,.06);border-color:var(--purple2)}
.hero-title{font-family:var(--ff-title);font-size:clamp(64px,12vw,130px);line-height:.88;letter-spacing:6px;display:flex;flex-direction:column;align-items:center;margin-bottom:14px}
.hero-red{color:var(--red);text-shadow:0 0 40px var(--red),0 0 80px rgba(255,31,61,.25)}
.hero-purple{color:var(--purple);text-shadow:0 0 40px var(--purple),0 0 80px rgba(168,85,247,.25)}
.glitch{position:relative;color:#fff;text-shadow:0 0 18px rgba(255,255,255,.2)}
.glitch::before,.glitch::after{content:attr(data-text);position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.glitch::before{color:var(--cyan);clip-path:polygon(0 18%,100% 18%,100% 42%,0 42%);animation:g1 4s infinite}
.glitch::after{color:var(--red);clip-path:polygon(0 58%,100% 58%,100% 76%,0 76%);animation:g2 4s infinite}
@keyframes g1{0%,88%,100%{transform:translateX(0);opacity:0}91%{transform:translateX(-5px);opacity:.8}94%{transform:translateX(4px);opacity:.8}}
@keyframes g2{0%,86%,100%{transform:translateX(0);opacity:0}89%{transform:translateX(5px);opacity:.8}93%{transform:translateX(-4px);opacity:.8}}
.hero-sub{color:var(--dim);font-size:17px;line-height:1.55;margin-bottom:32px;letter-spacing:.5px}

/* ── CONTROLS ROW ────────────────────────────────────────────────── */
.controls-row{
  display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;
  max-width:860px;margin:0 auto 0;padding:0 20px;
}
.ctrl-group{display:flex;flex-direction:column;gap:5px;flex:1;min-width:140px}
.ctrl-label{font-family:var(--ff-mono);font-size:10px;letter-spacing:2px;color:var(--dim)}
.ctrl-select,.ctrl-input{
  background:var(--card);border:1px solid var(--border);color:var(--txt);
  font-family:var(--ff-mono);font-size:13px;padding:10px 12px;
  outline:none;transition:border-color .2s;width:100%;cursor:pointer;
}
.ctrl-select:hover,.ctrl-input:hover,.ctrl-select:focus,.ctrl-input:focus{border-color:var(--cyan)}
.ctrl-select option{background:var(--card)}

/* ── EMAIL CARD ──────────────────────────────────────────────────── */
.email-card{
  background:var(--card);border:1px solid var(--border);
  padding:28px 26px;position:relative;overflow:hidden;
  max-width:860px;margin:16px auto 0;padding-left:26px;padding-right:26px;
}
.card-top-bar{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--red),transparent)}
.card-top-bar.tm-bar{background:linear-gradient(90deg,transparent,var(--purple),transparent)}
.email-card::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at top center,rgba(255,31,61,.04),transparent 65%);pointer-events:none}
.card-label{font-family:var(--ff-mono);font-size:10px;letter-spacing:3px;color:var(--dim);margin-bottom:10px}
.email-row{display:flex;align-items:center;gap:10px;background:rgba(0,0,0,.5);border:1px solid var(--border);padding:13px 15px;margin-bottom:18px}
.email-addr{flex:1;font-family:var(--ff-mono);font-size:17px;color:var(--cyan);letter-spacing:.8px;word-break:break-all;text-shadow:0 0 12px rgba(0,255,224,.4)}
.addr-placeholder{color:var(--dim);font-size:13px}
.copy-btn{background:none;border:1px solid var(--border);color:var(--dim);cursor:pointer;font-family:var(--ff-mono);font-size:11px;letter-spacing:1px;padding:7px 14px;white-space:nowrap;transition:all .2s}
.copy-btn:hover{border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 12px rgba(0,255,224,.15)}
.copy-btn.copied{border-color:var(--green);color:var(--green)}
.card-actions{display:flex;gap:10px;flex-wrap:wrap}
.btn-gen,.btn-inbox{
  flex:1;min-width:150px;font-family:var(--ff-title);font-size:19px;letter-spacing:2px;
  padding:13px 16px;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:8px;
  transition:all .2s;position:relative;overflow:hidden;
}
.btn-gen{background:var(--red);color:#fff;box-shadow:0 0 24px rgba(255,31,61,.25)}
.btn-gen:hover{transform:translateY(-2px);box-shadow:0 4px 36px rgba(255,31,61,.45)}
.btn-gen:disabled{opacity:.5;cursor:not-allowed;transform:none}
.btn-gen.tm-gen{background:var(--purple);box-shadow:0 0 24px rgba(168,85,247,.25)}
.btn-gen.tm-gen:hover{box-shadow:0 4px 36px rgba(168,85,247,.45)}
.btn-inbox{background:transparent;color:var(--cyan);border:1px solid var(--cyan)}
.btn-inbox:not(:disabled):hover{background:rgba(0,255,224,.08);transform:translateY(-2px);box-shadow:0 4px 28px rgba(0,255,224,.15)}
.btn-inbox:disabled{opacity:.3;cursor:not-allowed}
.card-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}
.timer-wrap{display:flex;align-items:center;gap:8px;font-family:var(--ff-mono);font-size:13px;color:var(--gold)}
.timer-dot{width:7px;height:7px;background:var(--gold);border-radius:50%;animation:pulse 1s ease-in-out infinite}
.poll-status{display:flex;align-items:center;gap:8px;font-family:var(--ff-mono);font-size:12px;color:var(--dim)}
.poll-dot{width:7px;height:7px;border-radius:50%;background:var(--dim);transition:background .3s}
.poll-dot.active{background:var(--green);box-shadow:0 0 8px var(--green);animation:pulse 1s ease-in-out infinite}
.credit-tag{margin-top:12px;font-family:var(--ff-mono);font-size:12px;color:var(--dim);text-align:center}
.credit-tag a{color:var(--dim);text-decoration:none}
.credit-tag a:hover{color:var(--cyan)}

/* ── DOMAIN BADGE ROW ────────────────────────────────────────────── */
.domain-chips{
  max-width:860px;margin:10px auto 0;padding:0 20px;
  display:flex;flex-wrap:wrap;gap:6px;
}
.domain-chip{
  font-family:var(--ff-mono);font-size:10px;letter-spacing:1px;
  padding:3px 10px;border:1px solid var(--border);color:var(--dim);
  background:rgba(255,255,255,.02);cursor:pointer;transition:all .2s;
}
.domain-chip:hover{border-color:var(--cyan);color:var(--cyan)}
.domain-chip.active-chip{border-color:var(--gold);color:var(--gold)}

/* ── INBOX ───────────────────────────────────────────────────────── */
.inbox-section{max-width:860px;margin:32px auto 60px;padding:0 20px;animation:fadeUp .4s ease}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.inbox-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.inbox-head h2{font-family:var(--ff-title);font-size:24px;letter-spacing:3px;color:#fff;flex:1}
.inbox-addr-tag{font-family:var(--ff-mono);font-size:11px;color:var(--cyan);background:rgba(0,255,224,.05);border:1px solid var(--cyan2);padding:4px 12px}
.btn-refresh{background:none;border:1px solid var(--border);color:var(--dim);cursor:pointer;font-family:var(--ff-body);font-weight:700;font-size:13px;letter-spacing:1px;padding:6px 14px;transition:all .2s}
.btn-refresh:hover{border-color:var(--gold);color:var(--gold)}
.new-mail-banner{background:rgba(255,215,0,.12);border:1px solid var(--gold);color:var(--gold);font-family:var(--ff-title);font-size:18px;letter-spacing:2px;padding:12px 20px;text-align:center;margin-bottom:12px;animation:bannerPop .4s cubic-bezier(.22,1,.36,1)}
@keyframes bannerPop{from{transform:scaleY(.5);opacity:0}to{transform:scaleY(1);opacity:1}}
.inbox-list{display:flex;flex-direction:column;gap:8px}
.inbox-empty{text-align:center;padding:55px 20px;color:var(--dim);font-size:15px;line-height:1.9}
.empty-icon{font-size:48px;margin-bottom:14px;opacity:.45}
.inbox-empty span{font-family:var(--ff-mono);font-size:12px}
.inbox-item{background:var(--card);border:1px solid var(--border);padding:14px 17px;cursor:pointer;display:flex;align-items:center;gap:14px;position:relative;overflow:hidden;transition:all .2s}
.inbox-item::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--red);transform:scaleY(0);transition:transform .2s;transform-origin:bottom}
.inbox-item:hover{border-color:var(--red2);transform:translateX(5px)}
.inbox-item:hover::before{transform:scaleY(1)}
.inbox-item.unread{border-left:3px solid var(--gold)}
.inbox-item.unread .i-from{color:var(--gold)}
.inbox-item-icon{font-size:22px;flex-shrink:0}
.i-info{flex:1;min-width:0}
.i-from{font-weight:700;font-size:15px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.i-subject{font-size:13px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.i-date{font-family:var(--ff-mono);font-size:11px;color:var(--dim);flex-shrink:0}
.i-del{background:none;border:none;color:var(--dim);cursor:pointer;font-size:16px;padding:4px 8px;flex-shrink:0;transition:color .2s}
.i-del:hover{color:var(--red)}

/* ── VIEWER ──────────────────────────────────────────────────────── */
.viewer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:500;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(6px)}
.viewer-box{background:var(--card);border:1px solid var(--border);max-width:720px;width:100%;max-height:88vh;overflow-y:auto;animation:boxIn .3s ease}
.viewer-box::-webkit-scrollbar{width:4px}
.viewer-box::-webkit-scrollbar-thumb{background:var(--border)}
.viewer-topbar{position:sticky;top:0;background:var(--dark);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:12px 20px;font-family:var(--ff-mono);font-size:13px;color:var(--dim);z-index:1}
.viewer-close-btn{background:none;border:1px solid var(--red2);color:var(--red);cursor:pointer;font-family:var(--ff-mono);font-size:12px;padding:5px 12px;transition:all .2s}
.viewer-close-btn:hover{background:var(--red2)}
.viewer-meta{padding:20px 22px;border-bottom:1px solid var(--border);line-height:1.9}
.vm-from{font-family:var(--ff-mono);color:var(--cyan);font-size:13px}
.vm-sub{color:#fff;font-weight:700;font-size:18px;margin:4px 0}
.vm-date{font-family:var(--ff-mono);color:var(--dim);font-size:12px}
.viewer-body{padding:22px;color:var(--txt);font-size:15px;line-height:1.8;word-break:break-word}
.viewer-body *{max-width:100%}
.viewer-body iframe{width:100%;border:none;min-height:280px;background:#fff}
.viewer-footer{padding:14px 22px;border-top:1px solid var(--border);display:flex;gap:10px}
.btn-del-email{background:transparent;border:1px solid var(--red2);color:var(--red);font-family:var(--ff-body);font-weight:700;font-size:13px;padding:8px 16px;cursor:pointer;transition:all .2s}
.btn-del-email:hover{background:var(--red2)}

/* ── SPINNER ─────────────────────────────────────────────────────── */
.spin{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:spinning .6s linear infinite;vertical-align:middle}
@keyframes spinning{to{transform:rotate(360deg)}}

/* ── TOAST ───────────────────────────────────────────────────────── */
.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:var(--card);border:1px solid var(--gold);color:var(--gold);font-family:var(--ff-mono);font-size:13px;letter-spacing:1px;padding:11px 24px;z-index:9000;white-space:nowrap;pointer-events:none;animation:toastIn .3s ease}
@keyframes toastIn{from{opacity:0;transform:translateX(-50%) translateY(16px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}

/* ── FOOTER ──────────────────────────────────────────────────────── */
footer{border-top:1px solid var(--border);padding:18px 28px;display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;font-family:var(--ff-mono);font-size:12px;color:var(--dim)}
footer a{color:var(--dim);text-decoration:none}
footer a:hover{color:var(--cyan)}

/* ── PAGE CONTAINERS ─────────────────────────────────────────────── */
.page{display:none}
.page.active{display:block}

/* ── MAILTM SPECIFIC ─────────────────────────────────────────────── */
.tm-accent{color:var(--purple)}
.tm-pass-note{font-family:var(--ff-mono);font-size:11px;color:var(--dim);margin-top:6px;text-align:left}

/* ── RESPONSIVE ──────────────────────────────────────────────────── */
@media(max-width:600px){
  header{padding:10px 14px}
  .logo-king{font-size:18px}
  .visitor-pill{font-size:10px;padding:5px 10px}
  .hero{padding:30px 14px 28px}
  .email-card{padding:18px 14px}
  .email-addr{font-size:13px}
  .btn-gen,.btn-inbox{font-size:16px;padding:12px}
  .gate-box{padding:30px 18px}
  .gate-title{font-size:36px}
  footer{gap:14px}
  .controls-row{padding:0 14px}
  .domain-chips{padding:0 14px}
  .inbox-section{padding:0 14px}
  .email-card{margin-left:14px;margin-right:14px}
}
