/* ═══════════════════════════════════════════════
   MailVault Docs — style.css
   Dark cyberpunk-editorial design system
═══════════════════════════════════════════════ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --night:#06040f;--card:#13102a;--card2:#1a163a;
  --border:rgba(255,255,255,.08);--border2:rgba(255,255,255,.16);
  --text:#f0eeff;--muted:rgba(240,238,255,.55);--faint:rgba(240,238,255,.28);
  --em:#00e5a0;--em2:#00b87c;--vi:#a78bfa;--vi2:#7c3aed;
  --ro:#fb7185;--am:#fbbf24;--bl:#60a5fa;
}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--night);color:var(--text);min-height:100vh;overflow-x:hidden}

/* ── BACKGROUND ORBS ─────────────────────── */
.bg-orbs{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:.25;animation:drift 22s ease-in-out infinite}
.orb1{width:600px;height:600px;background:radial-gradient(circle,#7c3aed,transparent 70%);top:-180px;left:-150px}
.orb2{width:480px;height:480px;background:radial-gradient(circle,#00e5a0,transparent 70%);top:40%;right:-200px;animation-delay:-9s}
.orb3{width:380px;height:380px;background:radial-gradient(circle,#fb7185,transparent 70%);bottom:-80px;left:30%;animation-delay:-16s}
@keyframes drift{0%,100%{transform:translate(0,0)}33%{transform:translate(26px,-32px)}66%{transform:translate(-16px,24px)}}

/* ── LAYOUT ──────────────────────────────── */
.wrap{position:relative;z-index:1;max-width:860px;margin:0 auto;padding:0 28px 100px}

/* ── NAV ─────────────────────────────────── */
nav{
  position:sticky;top:0;z-index:50;
  background:rgba(6,4,15,.88);backdrop-filter:blur(22px);
  border-bottom:1px solid var(--border);
  padding:0 28px;
  display:flex;align-items:center;justify-content:space-between;
  height:56px;
}
.nav-brand{font-family:'Playfair Display',serif;font-weight:700;font-size:1.05rem}
.nav-brand span{color:var(--em)}
.nav-links{display:flex;gap:4px}
.nav-a{
  font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--faint);text-decoration:none;padding:6px 12px;border-radius:7px;
  transition:all .15s;
}
.nav-a:hover{color:var(--text);background:rgba(255,255,255,.07)}

/* ── HERO ────────────────────────────────── */
.hero{padding:80px 0 56px;text-align:center}
.hero-pill{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'DM Mono',monospace;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--em);background:rgba(0,229,160,.1);border:1px solid rgba(0,229,160,.26);
  padding:6px 18px;border-radius:99px;margin-bottom:26px;
}
.hero-pill::before{content:'';width:6px;height:6px;background:var(--em);border-radius:50%;animation:pulse 2s infinite;flex-shrink:0}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.6)}}
.hero h1{font-family:'Playfair Display',serif;font-size:clamp(2.6rem,7vw,5.5rem);font-weight:900;line-height:.92;letter-spacing:-.03em;margin-bottom:18px}
.grd{background:linear-gradient(135deg,var(--em) 0%,var(--vi) 55%,var(--ro) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-sub{font-size:1rem;color:var(--muted);max-width:520px;margin:0 auto 36px;line-height:1.75}
.badges{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.badge{
  display:inline-flex;align-items:center;gap:7px;
  background:rgba(255,255,255,.05);border:1px solid var(--border2);backdrop-filter:blur(10px);
  padding:8px 16px;border-radius:99px;font-family:'DM Mono',monospace;font-size:.66rem;color:var(--muted);
}
.badge span{color:var(--em)}

/* ── SECTIONS ────────────────────────────── */
.section{margin-bottom:60px}
.section-label{font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--em);margin-bottom:10px}
.section-title{font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;margin-bottom:16px;line-height:1.1}
.section-sub{font-size:.96rem;color:var(--muted);line-height:1.75;margin-bottom:28px;max-width:640px}

/* ── GLASS CARDS ─────────────────────────── */
.glass{
  background:rgba(19,16,42,.72);border:1px solid var(--border);border-radius:18px;
  backdrop-filter:blur(20px);padding:28px 32px;margin-bottom:16px;
  position:relative;overflow:hidden;transition:border-color .3s;
}
.glass::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.035) 0%,transparent 55%);pointer-events:none;border-radius:inherit}
.glass:hover{border-color:var(--border2)}
.stripe{position:absolute;top:0;left:0;right:0;height:2px;border-radius:18px 18px 0 0}
.s-em{background:linear-gradient(90deg,var(--em),var(--vi))}
.s-vi{background:linear-gradient(90deg,var(--vi),var(--bl))}
.s-ro{background:linear-gradient(90deg,var(--ro),var(--am))}
.s-am{background:linear-gradient(90deg,var(--am),var(--em))}

/* ── STEP BOXES ──────────────────────────── */
.step-grid{display:grid;gap:14px}
.step-box{display:grid;grid-template-columns:60px 1fr;border:1px solid var(--border2);border-radius:14px;overflow:hidden}
.step-num{background:linear-gradient(180deg,var(--vi2),var(--vi));display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 8px}
.step-num .sn-label{font-family:'DM Mono',monospace;font-size:.52rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:2px}
.step-num .sn-digit{font-family:'Playfair Display',serif;font-size:2rem;font-weight:900;color:#fff;line-height:1}
.step-body{padding:16px 20px;background:rgba(167,139,250,.06)}
.step-title{font-family:'DM Sans',sans-serif;font-weight:600;font-size:.9rem;color:var(--vi);margin-bottom:8px}
.step-body p{font-size:.84rem;color:var(--muted);line-height:1.65;margin-bottom:5px}
.step-body p:last-child{margin-bottom:0}
.step-code{font-family:'DM Mono',monospace;font-size:.75rem;color:var(--em);background:rgba(0,229,160,.08);border:1px solid rgba(0,229,160,.2);padding:4px 10px;border-radius:6px;display:inline-block;margin:4px 0}

/* ── TIP BOXES ───────────────────────────── */
.tip{display:flex;gap:14px;padding:18px 20px;border-radius:12px;margin-bottom:14px;align-items:flex-start}
.tip-em{background:rgba(0,229,160,.07);border:1px solid rgba(0,229,160,.22)}
.tip-vi{background:rgba(167,139,250,.07);border:1px solid rgba(167,139,250,.22)}
.tip-ro{background:rgba(251,113,133,.07);border:1px solid rgba(251,113,133,.22)}
.tip-am{background:rgba(251,191,36,.07);border:1px solid rgba(251,191,36,.22)}
.tip-ico{font-size:1.2rem;flex-shrink:0;margin-top:1px}
.tip-title{font-family:'DM Sans',sans-serif;font-weight:600;font-size:.82rem;margin-bottom:5px}
.tip-em .tip-title{color:var(--em)}.tip-vi .tip-title{color:var(--vi)}.tip-ro .tip-title{color:var(--ro)}.tip-am .tip-title{color:var(--am)}
.tip-text{font-size:.82rem;color:var(--muted);line-height:1.65}

/* ── FEATURE GRID ────────────────────────── */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}
.feat{padding:20px;border:1px solid var(--border2);border-radius:14px;background:rgba(255,255,255,.03);text-align:center;transition:all .2s}
.feat:hover{border-color:rgba(0,229,160,.3);background:rgba(0,229,160,.04);transform:translateY(-2px)}
.feat-ico{font-size:1.8rem;margin-bottom:10px;display:block}
.feat-name{font-family:'DM Sans',sans-serif;font-weight:600;font-size:.82rem;color:var(--text);margin-bottom:4px}
.feat-desc{font-size:.72rem;color:var(--faint);line-height:1.5}

/* ── REMOVE STEPS ────────────────────────── */
.remove-step{display:flex;gap:16px;margin-bottom:20px;align-items:flex-start}
.rs-num{width:36px;height:36px;background:linear-gradient(135deg,#e11d48,var(--ro));border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:900;color:#fff;flex-shrink:0}
.rs-title{font-family:'DM Sans',sans-serif;font-weight:600;font-size:.9rem;color:var(--text);margin-bottom:6px}
.rs-text{font-size:.84rem;color:var(--muted);line-height:1.65}
.rs-url{font-family:'DM Mono',monospace;font-size:.75rem;color:var(--em);background:rgba(0,229,160,.08);border:1px solid rgba(0,229,160,.2);padding:3px 9px;border-radius:6px;display:inline-block;margin:4px 0}

/* ── CODE VIEWER ─────────────────────────── */
.code-viewer{border:1px solid var(--border2);border-radius:16px;overflow:hidden;margin-bottom:20px}
.cv-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 18px;background:rgba(255,255,255,.04);border-bottom:1px solid var(--border);
}
.cv-title{
  font-family:'DM Mono',monospace;font-size:.7rem;color:var(--em);font-weight:500;
  letter-spacing:.06em;display:flex;align-items:center;gap:8px;
}
.cv-title::before{content:'';width:8px;height:8px;background:var(--em);border-radius:50%;box-shadow:0 0 8px var(--em)}
.cv-actions{display:flex;gap:6px;align-items:center}
.cv-meta{font-family:'DM Mono',monospace;font-size:.6rem;color:var(--faint)}

/* Copy button */
.cv-btn{
  display:inline-flex;align-items:center;gap:6px;
  font-family:'DM Mono',monospace;font-size:.63rem;letter-spacing:.06em;text-transform:uppercase;
  padding:7px 14px;border:1px solid var(--border2);border-radius:8px;
  background:rgba(255,255,255,.05);color:var(--muted);cursor:pointer;
  transition:all .2s;user-select:none;
}
.cv-btn:hover{background:rgba(0,229,160,.12);border-color:rgba(0,229,160,.4);color:var(--em);transform:translateY(-1px)}
.cv-btn:active{transform:scale(.97)}
.cv-btn.copied{background:rgba(0,229,160,.18);border-color:var(--em);color:var(--em)}

/* Code body */
.cv-body{background:#080616;max-height:440px;overflow:auto;position:relative}
.cv-body pre{
  padding:22px 24px;
  font-family:'DM Mono',monospace;font-size:.73rem;line-height:1.75;
  color:#b8d4b0;white-space:pre;overflow-x:auto;tab-size:2;
  margin:0;
}
.cv-footer{
  font-family:'DM Mono',monospace;font-size:.6rem;color:var(--faint);
  padding:8px 18px;background:rgba(255,255,255,.02);border-top:1px solid var(--border);
  display:flex;justify-content:space-between;align-items:center;
}

/* ── TOC ─────────────────────────────────── */
.toc{background:rgba(167,139,250,.06);border:1px solid rgba(167,139,250,.2);border-radius:14px;padding:22px 26px;margin-bottom:40px}
.toc-title{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--vi);margin-bottom:14px}
.toc-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.toc-list li a{font-size:.84rem;color:var(--muted);text-decoration:none;display:flex;align-items:center;gap:7px;transition:color .15s}
.toc-list li a::before{content:'';width:4px;height:4px;background:var(--vi);border-radius:50%;flex-shrink:0}
.toc-list li a:hover{color:var(--vi)}

/* ── DIVIDER ─────────────────────────────── */
.divider{height:1px;background:var(--border);margin:48px 0}

/* ── FOOTER ──────────────────────────────── */
.sfooter{margin-top:60px;padding:22px 0 18px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:14px}
.sfooter-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.fbrand{font-family:'Playfair Display',serif;font-weight:700;font-size:1rem}
.fbrand span{color:var(--em)}
.fmeta{font-family:'DM Mono',monospace;font-size:.6rem;color:var(--faint);line-height:1.7;text-align:right}
.sfooter-bottom{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--border)}
.footer-powered{font-family:'DM Mono',monospace;font-size:.62rem;color:var(--faint);display:inline-flex;align-items:center;gap:7px}
.footer-ai-badge{display:inline-flex;align-items:center;gap:4px;background:rgba(167,139,250,.1);border:1px solid rgba(167,139,250,.25);padding:2px 9px;border-radius:99px;font-size:.59rem;color:var(--vi);letter-spacing:.06em}
.footer-author{font-family:'DM Mono',monospace;font-size:.62rem;color:var(--faint)}
.footer-author strong{color:var(--muted);font-weight:500}
.footer-copy{font-family:'DM Mono',monospace;font-size:.62rem;color:var(--faint)}
.footer-sep{color:rgba(240,238,255,.15);font-size:.7rem}

/* ── TOAST ───────────────────────────────── */
#toast{
  position:fixed;bottom:26px;right:26px;z-index:200;
  padding:11px 20px;border-radius:12px;
  font-family:'DM Sans',sans-serif;font-size:.81rem;font-weight:600;
  box-shadow:0 12px 36px rgba(0,0,0,.45);
  background:linear-gradient(135deg,var(--em2),var(--em));color:#06040f;
  transform:translateY(80px);opacity:0;
  transition:all .35s cubic-bezier(.34,1.56,.64,1);
  pointer-events:none;
}
#toast.show{transform:translateY(0);opacity:1}
#toast.err{background:linear-gradient(135deg,#e11d48,var(--ro));color:#fff}

/* ── RESPONSIVE ──────────────────────────── */
@media(max-width:640px){
  .feat-grid{grid-template-columns:1fr 1fr}
  .toc-list{grid-template-columns:1fr}
  .nav-links{display:none}
  .step-box{grid-template-columns:50px 1fr}
  .cv-footer{flex-direction:column;gap:4px;align-items:flex-start}
}
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:3px}

/* ═══════════════════════════════════════════════
   NEW COMPONENTS — Authorization + Launch Gate
═══════════════════════════════════════════════ */

/* ── NAV LAUNCH BUTTON ───────────────────────── */
.nav-a-launch{
  color:var(--em)!important;
  background:rgba(0,229,160,.1)!important;
  border:1px solid rgba(0,229,160,.28)!important;
  margin-left:6px;
}
.nav-a-launch:hover{
  background:rgba(0,229,160,.2)!important;
  border-color:rgba(0,229,160,.5)!important;
  box-shadow:0 0 16px rgba(0,229,160,.2);
}

/* ── APP URL CARD ────────────────────────────── */
.app-url-card{
  background:rgba(0,229,160,.06);
  border:1px solid rgba(0,229,160,.32);
  border-radius:18px;
  padding:26px 30px;
  position:relative;
  overflow:hidden;
}
.app-url-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--em),var(--vi));
}
.auc-label{
  font-family:'DM Mono',monospace;font-size:.6rem;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--em);margin-bottom:12px;
  display:flex;align-items:center;gap:8px;
}
.auc-url{
  display:block;
  font-family:'DM Mono',monospace;font-size:.78rem;
  color:var(--em);word-break:break-all;line-height:1.7;
  text-decoration:none;
  background:rgba(0,0,0,.28);
  border:1px solid rgba(0,229,160,.2);
  border-radius:10px;
  padding:12px 16px;
  margin-bottom:14px;
  transition:all .2s;
}
.auc-url:hover{
  border-color:rgba(0,229,160,.45);
  background:rgba(0,229,160,.06);
  box-shadow:0 0 24px rgba(0,229,160,.1);
}
.auc-meta{
  display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;
  font-size:.8rem;color:var(--faint);line-height:1.6;margin-bottom:16px;
}
.auc-badge{
  display:inline-flex;align-items:center;gap:7px;
  background:rgba(0,229,160,.1);border:1px solid rgba(0,229,160,.2);
  padding:4px 12px;border-radius:99px;
  font-family:'DM Mono',monospace;font-size:.62rem;color:var(--em);
  white-space:nowrap;flex-shrink:0;
}
.auc-dot{
  width:6px;height:6px;background:var(--em);border-radius:50%;
  box-shadow:0 0 6px var(--em);animation:pulse 2s infinite;flex-shrink:0;
}
.auc-copy{
  display:inline-flex;align-items:center;gap:7px;
  padding:9px 18px;border-radius:9px;cursor:pointer;
  background:rgba(0,229,160,.1);border:1px solid rgba(0,229,160,.3);
  color:var(--em);font-family:'DM Mono',monospace;font-size:.65rem;
  letter-spacing:.06em;text-transform:uppercase;
  transition:all .2s;
}
.auc-copy:hover{background:rgba(0,229,160,.2);border-color:rgba(0,229,160,.55);transform:translateY(-1px)}
.auc-copy:active{transform:scale(.97)}

/* ── AUTHORIZATION INTRO CARD ────────────────── */
.auth-intro-card{
  display:flex;gap:20px;align-items:flex-start;
  background:rgba(255,255,255,.03);border:1px solid var(--border2);
  border-radius:16px;padding:22px 24px;margin-bottom:28px;
}
.aic-left{flex-shrink:0}
.aic-icon{
  width:52px;height:52px;border-radius:14px;
  background:linear-gradient(135deg,var(--vi2),var(--vi));
  display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;
}
.aic-title{font-family:'DM Sans',sans-serif;font-weight:600;font-size:.9rem;color:var(--text);margin-bottom:8px}
.aic-text{font-size:.84rem;color:var(--muted);line-height:1.7;margin:0}

/* ── AUTH STEP CARDS ─────────────────────────── */
.auth-step{
  border:1px solid var(--auth-border, var(--border2));
  border-radius:16px;
  background:var(--auth-bg, rgba(255,255,255,.03));
  padding:22px 24px;
  margin-bottom:14px;
  position:relative;
  overflow:hidden;
}
.auth-step::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--auth-color,var(--em));opacity:.7;
}
.as-num{
  display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:9px;
  background:var(--auth-color,var(--em));
  color:#06040f;font-family:'Playfair Display',serif;
  font-size:1.1rem;font-weight:900;
  margin-bottom:12px;flex-shrink:0;
}
.as-title{font-family:'DM Sans',sans-serif;font-weight:600;font-size:.94rem;color:var(--text);margin-bottom:10px}
.as-text{font-size:.84rem;color:var(--muted);line-height:1.7;margin-bottom:8px}
.as-text:last-child{margin-bottom:0}

/* ── GOOGLE DIALOG MOCK ──────────────────────── */
.auth-dialog-mock{
  background:#fff;border-radius:12px;padding:20px 22px;
  max-width:420px;margin:14px auto;
  box-shadow:0 8px 40px rgba(0,0,0,.5);
  border:1px solid rgba(0,0,0,.1);
}
.adm-header{
  display:flex;align-items:center;gap:8px;
  font-size:.78rem;color:#5f6368;margin-bottom:14px;padding-bottom:12px;
  border-bottom:1px solid #e8eaed;
}
.adm-logo{
  width:20px;height:20px;border-radius:50%;
  background:linear-gradient(135deg,#4285f4,#34a853,#fbbc04,#ea4335);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:.65rem;font-weight:700;
}
.adm-title{font-size:1rem;font-weight:600;color:#202124;margin-bottom:8px}
.adm-text{font-size:.82rem;color:#5f6368;line-height:1.5;margin-bottom:12px}
.adm-warn{
  display:flex;align-items:flex-start;gap:8px;
  background:#fef7e0;border-radius:8px;padding:10px 12px;
  font-size:.78rem;color:#5f6368;line-height:1.5;margin-bottom:14px;
}
.adm-btns{display:flex;justify-content:flex-end;gap:10px}
.adm-btn-cancel{
  font-size:.78rem;font-weight:600;color:#1a73e8;
  padding:8px 16px;border-radius:6px;cursor:pointer;
  transition:background .15s;
}
.adm-btn-cancel:hover{background:#e8f0fe}
.adm-btn-allow{
  font-size:.78rem;font-weight:600;color:#fff;
  background:#1a73e8;padding:8px 18px;border-radius:6px;
  cursor:pointer;transition:background .15s;
}
.adm-btn-allow:hover{background:#1557b0}

/* ── UNVERIFIED BOX MOCK ─────────────────────── */
.auth-unverified-box{
  background:#fff;border:1px solid #dadce0;border-radius:10px;
  padding:14px 16px;max-width:420px;margin:12px 0;
}

/* ── AUTH ACTION ROWS ────────────────────────── */
.as-action-row{
  display:flex;align-items:flex-start;gap:10px;
  padding:10px 14px;margin:8px 0;
  background:rgba(255,255,255,.04);border:1px solid var(--border);
  border-radius:9px;font-size:.84rem;color:var(--muted);line-height:1.6;
}
.as-action-num{
  flex-shrink:0;min-width:24px;height:24px;
  background:var(--auth-color,var(--em));color:#06040f;
  border-radius:6px;display:flex;align-items:center;justify-content:center;
  font-family:'DM Mono',monospace;font-size:.62rem;font-weight:700;
}

/* ── PERMISSIONS LIST ────────────────────────── */
.perm-list{
  background:rgba(0,0,0,.2);border:1px solid var(--border2);
  border-radius:12px;padding:14px;margin:12px 0;
}
.perm-item{
  display:flex;gap:12px;align-items:flex-start;
  padding:10px 0;border-bottom:1px solid var(--border);
}
.perm-item:last-child{border-bottom:none;padding-bottom:0}
.perm-item:first-child{padding-top:0}
.perm-icon{font-size:1.1rem;flex-shrink:0;margin-top:1px}
.perm-name{font-size:.82rem;font-weight:600;color:var(--text);margin-bottom:4px;line-height:1.4}
.perm-note{font-size:.76rem;color:var(--muted);line-height:1.5}

/* ── ALLOW BUTTON MOCK ───────────────────────── */
.auth-allow-btn-mock{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:13px 16px;margin:12px 0;
  background:rgba(0,229,160,.06);border:1px solid rgba(0,229,160,.25);
  border-radius:10px;font-size:.84rem;color:var(--muted);
}
.aam-arrow{color:var(--em);font-size:1.1rem}
.aam-btn{
  background:#1a73e8;color:#fff;font-size:.78rem;font-weight:600;
  padding:8px 20px;border-radius:6px;
}

/* ── LAUNCH GATE ─────────────────────────────── */
.launch-card{
  background:rgba(19,16,42,.72);border:1px solid var(--border2);
  border-radius:20px;padding:32px;
  position:relative;overflow:hidden;
  backdrop-filter:blur(22px);
}
.launch-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--em),var(--vi),var(--ro));
}
.lc-checks{display:flex;flex-direction:column;gap:10px;margin-bottom:22px}
.lc-check{
  display:flex;align-items:flex-start;gap:13px;
  padding:13px 16px;border-radius:12px;
  background:rgba(255,255,255,.03);border:1px solid var(--border2);
  cursor:pointer;user-select:none;
  transition:all .2s;font-size:.86rem;color:var(--muted);line-height:1.6;
}
.lc-check:hover{background:rgba(255,255,255,.06);border-color:rgba(0,229,160,.25)}
.lc-check.ticked{background:rgba(0,229,160,.06);border-color:rgba(0,229,160,.3);color:var(--text)}
.lc-box{
  width:22px;height:22px;border-radius:6px;border:2px solid var(--border2);
  flex-shrink:0;margin-top:1px;display:flex;align-items:center;justify-content:center;
  transition:all .2s;
}
.lc-check.ticked .lc-box{background:var(--em);border-color:var(--em)}
.lc-tick{color:#06040f;font-size:.75rem;font-weight:900;display:none}
.lc-check.ticked .lc-tick{display:block}

/* progress */
.lc-progress-wrap{height:3px;background:rgba(255,255,255,.06);border-radius:99px;overflow:hidden;margin-bottom:8px}
.lc-progress-bar{height:100%;background:linear-gradient(90deg,var(--em2),var(--em));border-radius:99px;transition:width .3s ease}
.lc-progress-label{font-family:'DM Mono',monospace;font-size:.62rem;color:var(--faint);margin-bottom:20px}

/* launch button */
.lc-launch-btn{
  display:flex;align-items:center;justify-content:center;gap:9px;
  width:100%;padding:15px;border-radius:12px;
  font-family:'DM Sans',sans-serif;font-weight:700;font-size:.94rem;
  text-decoration:none;
  background:rgba(255,255,255,.06);border:1px solid var(--border2);
  color:var(--faint);
  pointer-events:none;
  transition:all .3s;cursor:not-allowed;
}
.lc-launch-btn.ready{
  background:linear-gradient(135deg,var(--em2),var(--em));
  border-color:var(--em);color:#06040f;
  pointer-events:auto;cursor:pointer;
  box-shadow:0 6px 32px rgba(0,229,160,.35);
}
.lc-launch-btn.ready:hover{
  box-shadow:0 8px 42px rgba(0,229,160,.55);
  transform:translateY(-2px);
}
.lc-note{
  font-family:'DM Mono',monospace;font-size:.62rem;color:var(--faint);
  text-align:center;margin-top:10px;
}
/* RECONNECT BANNER + OVERLAY */
.nav-a-launch{color:var(--em)!important;background:rgba(0,229,160,.1)!important;border:1px solid rgba(0,229,160,.28)!important;margin-left:6px}
.nav-a-launch:hover{background:rgba(0,229,160,.2)!important;border-color:rgba(0,229,160,.5)!important;box-shadow:0 0 16px rgba(0,229,160,.2)}
#reconnectBanner{display:none;position:fixed;top:0;left:0;right:0;z-index:999;background:linear-gradient(135deg,#1a0a0a,#2d0f1f);border-bottom:1px solid rgba(251,113,133,.4)}
#reconnectBanner.show{display:block;animation:slideDown .35s ease both}
@keyframes slideDown{from{transform:translateY(-100%);opacity:0}to{transform:none;opacity:1}}
.rb-inner{max-width:860px;margin:0 auto;padding:14px 28px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.rb-icon{font-size:1.3rem;flex-shrink:0}
.rb-text{flex:1;min-width:200px}
.rb-title{font-family:'DM Sans',sans-serif;font-weight:700;font-size:.88rem;color:var(--ro);margin-bottom:2px}
.rb-sub{font-size:.75rem;color:rgba(251,113,133,.7);font-family:'DM Mono',monospace;line-height:1.5}
.rb-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}
.btn-reconnect{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:9px;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:700;font-size:.82rem;background:linear-gradient(135deg,#e11d48,var(--ro));color:#fff;box-shadow:0 4px 16px rgba(251,113,133,.4);transition:all .2s}
.btn-reconnect:hover{box-shadow:0 6px 22px rgba(251,113,133,.6);transform:translateY(-1px)}
.rb-dismiss{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:var(--muted);padding:8px 14px;border-radius:8px;font-family:'DM Mono',monospace;font-size:.65rem;cursor:pointer;transition:all .15s;white-space:nowrap}
.rb-dismiss:hover{background:rgba(255,255,255,.14);color:var(--text)}
body.banner-on .wrap{padding-top:20px}
body.banner-on .hero{padding-top:100px}
#reconnectOverlay{display:none;position:fixed;inset:0;z-index:1000;background:rgba(6,4,15,.92);backdrop-filter:blur(16px);align-items:center;justify-content:center;padding:24px}
#reconnectOverlay.show{display:flex;animation:fadeIn .3s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.ro-card{background:rgba(19,16,42,.98);border:1px solid rgba(251,113,133,.35);border-radius:24px;padding:42px 38px;max-width:500px;width:100%;position:relative;overflow:hidden;box-shadow:0 48px 120px rgba(0,0,0,.8);animation:mIn .3s ease;text-align:center}
.ro-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--ro),var(--am),var(--vi))}
.ro-icon-wrap{width:72px;height:72px;border-radius:20px;background:rgba(251,113,133,.1);border:1px solid rgba(251,113,133,.3);display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 20px}
.ro-badge{display:inline-flex;align-items:center;gap:6px;margin-bottom:16px;font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ro);background:rgba(251,113,133,.1);border:1px solid rgba(251,113,133,.25);padding:5px 13px;border-radius:99px}
.ro-card h2{font-family:'Playfair Display',serif;font-size:1.75rem;font-weight:900;margin-bottom:10px;line-height:1.1}
.ro-card p{font-size:.875rem;color:var(--muted);line-height:1.75;margin-bottom:14px}
.ro-steps{text-align:left;background:rgba(255,255,255,.03);border:1px solid var(--border2);border-radius:12px;padding:16px 18px;margin:18px 0 24px;display:flex;flex-direction:column;gap:10px}
.ro-step{display:flex;align-items:flex-start;gap:10px;font-size:.82rem;color:var(--muted);line-height:1.55}
.ro-sn{flex-shrink:0;min-width:22px;height:22px;background:rgba(0,229,160,.14);border:1px solid rgba(0,229,160,.3);border-radius:6px;display:flex;align-items:center;justify-content:center;font-family:'DM Mono',monospace;font-size:.6rem;color:var(--em);font-weight:700}
.ro-step strong{color:var(--text)}
.ro-card-actions{display:flex;flex-direction:column;gap:10px}
.btn-reconnect-lg{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:15px;border-radius:12px;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:700;font-size:.94rem;background:linear-gradient(135deg,#e11d48,var(--ro));color:#fff;box-shadow:0 6px 28px rgba(251,113,133,.4);transition:all .2s}
.btn-reconnect-lg:hover{box-shadow:0 8px 36px rgba(251,113,133,.65);transform:translateY(-2px)}
.ro-later{font-family:'DM Mono',monospace;font-size:.65rem;color:var(--faint);cursor:pointer;padding:6px;transition:color .15s;background:none;border:none;text-decoration:underline}
.ro-later:hover{color:var(--muted)}