/* =====================================================================
   Polybot Onboarding — external stylesheet (CSP-compatible, no inline)
   Self-hosted fonts; all @font-face rules here.
   ===================================================================== */

/* ── Self-hosted fonts ──────────────────────────────────────────────── */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('../fonts/jetbrains-mono-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
                 U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
                 U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url('../fonts/space-grotesk-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
                 U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
                 U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ── Reset & variables ─────────────────────────────────────────────── */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#08090B;--panel:#0d1117;--line:#161d27;
  --green:#3FE0A0;--green-dim:#1f7d5c;
  --violet:#8b7bff;--blue:#4f9dff;
  --usdc:#2775CA;--usdc-lt:#4d96e0;
  --txt:#EAF2F0;--muted:#8b97a3;--faint:#5a6675
}
html{scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--txt);
  font-family:'Space Grotesk',system-ui,sans-serif;
  overflow-x:hidden;position:relative
}
body::before{
  content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),
    linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:radial-gradient(120% 70% at 50% 0%,#000 30%,transparent 80%);
  -webkit-mask-image:radial-gradient(120% 70% at 50% 0%,#000 30%,transparent 80%);
  opacity:.5
}
body::after{
  content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(55% 45% at 84% 6%,rgba(139,123,255,.2),transparent 70%),
    radial-gradient(45% 40% at 10% 14%,rgba(63,224,160,.09),transparent 70%)
}

/* ── Layout ────────────────────────────────────────────────────────── */
.wrap{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:0 2rem}
.label{font-family:'JetBrains Mono',monospace;color:var(--green);font-size:.72rem;letter-spacing:.2em}

/* ── Nav ───────────────────────────────────────────────────────────── */
nav{display:flex;justify-content:space-between;align-items:center;padding:1.3rem 0}
.logo{
  font-family:'JetBrains Mono',monospace;font-weight:700;font-size:1.05rem;
  display:flex;align-items:center;gap:.55rem
}
.logo .logo-coin{position:relative;width:22px;height:22px;flex:0 0 22px;display:inline-block}
.logo .logo-coin .coin-scale{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%) scale(.092);transform-origin:center center
}
.logo .logo-coin .coin-stage{animation:none}
.foot-logo{margin-bottom:.8rem}
.navlinks{
  display:flex;gap:1.8rem;align-items:center;
  font-family:'JetBrains Mono',monospace;font-size:.82rem;color:var(--muted)
}
.navlinks a{color:var(--muted);text-decoration:none}
.navlinks a:hover{color:var(--txt)}
.navlinks .welcome{color:var(--usdc-lt)}
.navlinks .pill{border:1px solid var(--line);padding:.35rem .8rem;border-radius:99px;color:var(--green)}

/* ── Hero ──────────────────────────────────────────────────────────── */
.hero{
  display:grid;grid-template-columns:1.15fr .85fr;gap:2rem;
  align-items:center;padding:2.8rem 0 2.2rem;min-height:60vh
}
.eyebrow{
  font-family:'JetBrains Mono',monospace;color:var(--green);
  font-size:.78rem;letter-spacing:.18em;margin-bottom:1.1rem;
  display:flex;align-items:center;gap:.6rem
}
.eyebrow::before{content:'';width:26px;height:1px;background:var(--green)}
h1{
  font-size:3.4rem;line-height:1.05;font-weight:700;letter-spacing:-.025em;
  background:linear-gradient(180deg,#fff 30%,#b9c2e6);
  -webkit-background-clip:text;background-clip:text;color:transparent
}
h1 .accent{
  background:linear-gradient(135deg,var(--violet),var(--blue));
  -webkit-background-clip:text;background-clip:text;color:transparent
}
.sub{color:var(--muted);font-size:1.05rem;line-height:1.6;max-width:30rem;margin-top:1.3rem}
.cta{display:flex;gap:1rem;align-items:center;margin-top:2rem}
.btn-primary{
  background:linear-gradient(135deg,var(--violet),var(--blue));
  color:#fff;font-weight:600;font-size:.95rem;
  padding:.85rem 1.7rem;border-radius:11px;border:none;cursor:pointer;
  box-shadow:0 10px 30px rgba(110,94,248,.4);transition:transform .15s
}
.btn-primary:hover{transform:translateY(-2px)}
.btn-ghost{
  font-family:'JetBrains Mono',monospace;color:var(--green);font-size:.85rem;
  border:1px solid var(--green-dim);padding:.8rem 1.3rem;border-radius:11px;
  background:rgba(63,224,160,.05);text-decoration:none
}
.trust{
  display:flex;flex-wrap:wrap;gap:1.3rem;margin-top:2.2rem;
  font-family:'JetBrains Mono',monospace;font-size:.74rem;color:var(--faint)
}
.trust span{display:flex;align-items:center;gap:.45rem}
.trust .ok{color:var(--green)}

/* ── Coin ──────────────────────────────────────────────────────────── */
.coin-side{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}
.coin-stage{
  perspective:900px;width:230px;height:230px;
  display:flex;align-items:center;justify-content:center;
  animation:bob 4s ease-in-out infinite
}
.coin{
  width:190px;height:190px;position:relative;transform-style:preserve-3d;
  animation:spin 5.5s linear infinite;
  filter:drop-shadow(0 22px 30px rgba(39,117,202,.45))
}
.coin .face{position:absolute;inset:0;border-radius:50%;backface-visibility:hidden;overflow:hidden}
.coin .back{transform:rotateY(180deg)}
.coin .slice{position:absolute;inset:0;border-radius:50%;backface-visibility:hidden}
.coin-shadow{
  position:absolute;bottom:6px;width:150px;height:24px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(39,117,202,.5),transparent);
  filter:blur(5px);animation:shadowpulse 4s ease-in-out infinite
}
.coin-cap{
  margin-top:1.2rem;font-family:'JetBrains Mono',monospace;font-size:.72rem;
  color:var(--muted);letter-spacing:.12em;text-align:center
}
.coin-cap b{color:var(--usdc-lt)}
svg.coinface{width:100%;height:100%;display:block}
@keyframes spin{from{transform:rotateY(0)}to{transform:rotateY(360deg)}}
@keyframes bob{0%,100%{transform:translateY(-8px)}50%{transform:translateY(8px)}}
@keyframes shadowpulse{0%,100%{transform:scaleX(.8);opacity:.5}50%{transform:scaleX(1.05);opacity:.8}}

/* ── Infra panel ───────────────────────────────────────────────────── */
.panel{
  margin:1rem 0 3.5rem;border:1px solid var(--line);border-radius:16px;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(20,26,34,.7),rgba(13,17,23,.7));
  backdrop-filter:blur(8px)
}
.panel-head{
  display:flex;justify-content:space-between;align-items:center;
  padding:.7rem 1.2rem;border-bottom:1px solid var(--line);
  font-family:'JetBrains Mono',monospace;font-size:.74rem;color:var(--muted)
}
.panel-head .live{color:var(--green);display:flex;align-items:center;gap:.4rem}
.panel-head .live::before{
  content:'';width:7px;height:7px;border-radius:50%;
  background:var(--green);box-shadow:0 0 8px var(--green);
  animation:blink 1.6s infinite
}
@keyframes blink{50%{opacity:.35}}
.ticker{overflow:hidden;white-space:nowrap;border-bottom:1px solid var(--line)}
.ticker-track{
  display:inline-block;padding:.6rem 0;
  font-family:'JetBrains Mono',monospace;font-size:.78rem;color:var(--faint);
  animation:scroll 26s linear infinite
}
.ticker-track span{margin:0 1.4rem}
.ticker-track b{color:var(--usdc-lt)}
.ticker-track .g{color:var(--green)}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.infra-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.infra-cell{padding:1.1rem 1.2rem;border-right:1px solid var(--line)}
.infra-cell:last-child{border-right:none}
.infra-cell .k{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--faint);letter-spacing:.1em}
.infra-cell .v{font-size:1.4rem;font-weight:600;margin-top:.3rem}
.infra-cell .v small{font-size:.78rem;color:var(--muted);font-weight:500}
.v-usdc{color:var(--usdc-lt)}
.v-green{color:var(--green)}

/* ── Sections ──────────────────────────────────────────────────────── */
section.block{padding:3rem 0;border-top:1px solid var(--line)}
.h2{font-size:2rem;font-weight:700;letter-spacing:-.02em;margin:.7rem 0 1.6rem;max-width:36rem}
.feat{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.feat .c{border:1px solid var(--line);border-radius:14px;padding:1.3rem;background:rgba(13,17,23,.5)}
.feat .c .ic{font-size:1.4rem;margin-bottom:.7rem}
.feat .c h3{font-size:1rem;margin-bottom:.4rem}
.feat .c p{color:var(--muted);font-size:.85rem;line-height:1.55}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;counter-reset:s}
.steps .s{border:1px solid var(--line);border-radius:14px;padding:1.3rem;position:relative;background:rgba(13,17,23,.5)}
.steps .s::before{counter-increment:s;content:"0" counter(s);font-family:'JetBrains Mono',monospace;color:var(--green);font-size:.8rem}
.steps .s h3{font-size:1rem;margin:.5rem 0 .35rem}
.steps .s p{color:var(--muted);font-size:.84rem;line-height:1.5}

/* ── Risk callout ──────────────────────────────────────────────────── */
.risk{
  border:1px solid rgba(255,159,10,.35);background:rgba(255,159,10,.06);
  border-radius:14px;padding:1.4rem 1.6rem;display:flex;gap:1rem;align-items:flex-start
}
.risk .ic{font-size:1.3rem}
.risk p{color:#e8d9bf;font-size:.92rem;line-height:1.6}
.risk a{color:var(--usdc-lt)}
.risk-warn{color:#f0c987}

/* ── FAQ ───────────────────────────────────────────────────────────── */
.faq{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.faq .q{border:1px solid var(--line);border-radius:12px;padding:1.1rem 1.3rem;background:rgba(13,17,23,.5)}
.faq .q h3{font-size:.95rem;margin-bottom:.45rem;color:var(--txt)}
.faq .q p{color:var(--muted);font-size:.85rem;line-height:1.55}

/* ── Apply band ────────────────────────────────────────────────────── */
.applyband{text-align:center;padding:3.4rem 0}
.applyband h2{font-size:2.1rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.7rem}
.applyband p{color:var(--muted);margin-bottom:1.6rem}

/* ── Footer ────────────────────────────────────────────────────────── */
footer{border-top:1px solid var(--line);padding:2.6rem 0 3rem;margin-top:1rem}
.footgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem}
.footgrid h4{
  font-family:'JetBrains Mono',monospace;font-size:.72rem;
  color:var(--faint);letter-spacing:.12em;margin-bottom:.9rem
}
.footgrid a{display:block;color:var(--muted);text-decoration:none;font-size:.86rem;padding:.28rem 0}
.footgrid a:hover{color:var(--green)}
.foot-tagline{color:var(--faint);font-size:.84rem;line-height:1.6;max-width:22rem}
.legal{
  margin-top:2.2rem;padding-top:1.4rem;border-top:1px solid var(--line);
  color:var(--faint);font-size:.76rem;line-height:1.65;max-width:60rem
}
.legal b{color:var(--muted)}
.disclaimer{
  margin-top:2rem;padding:1rem 1.2rem;border:1px solid var(--line);border-radius:12px;
  background:rgba(13,17,23,.55);color:var(--muted);font-size:.84rem;line-height:1.65;max-width:60rem
}
.disclaimer b{color:var(--txt)}

/* ── Screen-reader utility ─────────────────────────────────────────── */
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0
}

/* ── Access-granted cinematic overlay ─────────────────────────────── */
#onb-overlay{
  position:fixed;inset:0;z-index:9999;
  font-family:'JetBrains Mono',monospace;
  pointer-events:none
}
#onb-overlay.active{pointer-events:auto}

#onb-unlock{
  position:fixed;inset:0;display:flex;align-items:center;justify-content:center;
  flex-direction:column;gap:1rem;
  background:radial-gradient(60% 60% at 50% 45%,#0d1117,#000);
  transition:opacity 1s ease
}
#onb-unlock.gone{opacity:0;pointer-events:none}
.onb-ok{
  color:var(--green);font-size:1rem;letter-spacing:.25em;
  display:flex;align-items:center;gap:.6rem;
  text-shadow:0 0 12px rgba(63,224,160,.6)
}
.onb-ok .chk{
  display:inline-flex;width:26px;height:26px;border:1px solid var(--green);
  border-radius:50%;align-items:center;justify-content:center
}
.onb-codeline{color:#5a6675;font-size:.8rem;letter-spacing:.15em}

#onb-term{
  position:fixed;inset:0;background:#000;
  display:flex;align-items:center;justify-content:center;flex-direction:column;
  opacity:0;transition:opacity 1s ease;padding:2rem
}
#onb-term.show{opacity:1}
#onb-term.fade{opacity:0}
#onb-term::before{
  content:'';position:fixed;inset:0;pointer-events:none;opacity:.5;
  background:repeating-linear-gradient(
    0deg,rgba(0,0,0,0) 0px,rgba(0,0,0,0) 2px,
    rgba(0,0,0,.25) 3px,rgba(0,0,0,0) 4px)
}
#onb-term::after{
  content:'';position:fixed;inset:0;pointer-events:none;
  background:radial-gradient(70% 70% at 50% 50%,transparent 55%,rgba(0,0,0,.7))
}

.onb-line{
  max-width:760px;text-align:center;font-size:1.5rem;line-height:1.5;
  letter-spacing:.02em;text-shadow:0 0 10px rgba(63,224,160,.45);
  min-height:1.5em;z-index:2;color:#fff
}
.onb-accent{color:#fff;text-shadow:0 0 18px rgba(110,94,248,.5)}
.onb-cursor{
  display:none;width:.62em;height:1.15em;background:var(--green);
  vertical-align:-0.18em;margin-left:.06em;
  box-shadow:0 0 12px rgba(63,224,160,.8);animation:onb-blink 1s steps(1) infinite
}
@keyframes onb-blink{50%{opacity:0}}

#onb-loader{
  margin-top:2.4rem;width:min(560px,82vw);
  opacity:0;transform:translateY(8px);
  transition:opacity .6s ease,transform .6s ease;z-index:2
}
#onb-loader.show{opacity:1;transform:translateY(0)}
.onb-ldr-head{
  display:flex;justify-content:space-between;align-items:center;
  font-size:.72rem;letter-spacing:.22em;color:#7d8aa0;margin-bottom:.6rem
}
.onb-ldr-head .right{display:flex;align-items:center;gap:.7rem}
#onb-pct{color:var(--green)}
.onb-refresh{width:15px;height:15px;display:inline-block;color:var(--green);animation:onb-spin 1s linear infinite}
.onb-refresh.done{animation:none}
@keyframes onb-spin{to{transform:rotate(360deg)}}
.onb-track{height:3px;background:#11161d;border-radius:3px;overflow:hidden;position:relative}
#onb-fill{
  height:100%;width:0%;
  background:linear-gradient(90deg,var(--green-dim),var(--green));
  box-shadow:0 0 14px rgba(63,224,160,.7);border-radius:3px;position:relative
}
#onb-fill::after{
  content:'';position:absolute;right:0;top:-3px;width:9px;height:9px;
  border-radius:50%;background:var(--green);box-shadow:0 0 14px 3px rgba(63,224,160,.9)
}

#onb-skip{
  position:fixed;bottom:1.2rem;right:1.2rem;z-index:10000;
  font-family:'JetBrains Mono',monospace;font-size:.72rem;
  color:#7d8aa0;background:#0d1117;border:1px solid #222a35;
  border-radius:8px;padding:.5rem .9rem;cursor:pointer
}
#onb-skip:hover{color:var(--green);border-color:var(--green-dim)}
#onb-skip:focus-visible{outline:2px solid var(--green);outline-offset:2px}

/* ── Apply wizard ──────────────────────────────────────────────────── */
.wizard-wrap{
  max-width:720px;margin:2rem auto 4rem;padding:0 1rem
}
.wizard-header{margin-bottom:2rem}
.wizard-steps{
  display:flex;gap:.4rem;align-items:center;
  font-family:'JetBrains Mono',monospace;font-size:.72rem
}
.wstep{
  display:flex;align-items:center;gap:.35rem;
  color:var(--faint);padding:.35rem .6rem;border-radius:8px;
  transition:color .2s
}
.wstep.active{color:var(--green);background:rgba(63,224,160,.07);border:1px solid var(--green-dim)}
.wstep.done{color:var(--muted)}
.wstep-num{
  width:20px;height:20px;border-radius:50%;border:1px solid currentColor;
  display:flex;align-items:center;justify-content:center;font-size:.68rem;flex-shrink:0
}
.wstep.active .wstep-num{background:var(--green);color:#000;border-color:var(--green)}
.wstep.done .wstep-num{background:var(--green-dim);color:#000;border-color:var(--green-dim)}
@media(max-width:600px){.wstep-label{display:none}}

.wstep-panel{border:1px solid var(--line);border-radius:16px;padding:2rem;background:rgba(13,17,23,.7)}
.wiz-h1{font-size:1.7rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.6rem}
.wiz-sub{color:var(--muted);font-size:.9rem;line-height:1.6;margin-bottom:1.6rem}
.wiz-error{
  background:rgba(255,80,80,.08);border:1px solid rgba(255,100,100,.3);
  color:#f88;border-radius:10px;padding:.75rem 1rem;font-size:.85rem;
  margin:.8rem 0
}
.wiz-note{
  background:rgba(63,224,160,.05);border:1px solid var(--green-dim);
  border-radius:10px;padding:.85rem 1rem;font-size:.82rem;color:var(--muted);
  margin:.8rem 0
}
.wiz-note code{font-family:'JetBrains Mono',monospace;color:var(--green);font-size:.8rem}
.wiz-actions{display:flex;gap:.8rem;align-items:center;margin-top:1.8rem;flex-wrap:wrap}

/* ── Form fields ───────────────────────────────────────────────────── */
.field-group{margin-bottom:1.2rem}
.field-label{
  display:block;font-family:'JetBrains Mono',monospace;font-size:.72rem;
  color:var(--faint);letter-spacing:.1em;margin-bottom:.4rem
}
.field-input{
  width:100%;background:#0d1117;border:1px solid var(--line);color:var(--txt);
  border-radius:10px;padding:.75rem 1rem;font-family:'Space Grotesk',system-ui,sans-serif;
  font-size:.95rem;outline:none;transition:border-color .15s
}
.field-input:focus{border-color:var(--green-dim);box-shadow:0 0 0 2px rgba(63,224,160,.1)}
.field-input::placeholder{color:var(--faint)}
.field-readonly{color:var(--muted);cursor:not-allowed}
.field-hint{display:block;font-size:.78rem;color:var(--faint);margin-top:.35rem;line-height:1.45}
select.field-input{cursor:pointer}
select.field-input option{background:#0d1117;color:var(--txt)}

/* ── Wallet proof box ──────────────────────────────────────────────── */
.proof-box{
  border:1px solid var(--line);border-radius:14px;padding:1.4rem 1.6rem;
  background:rgba(13,17,23,.5);margin-bottom:1rem
}
.proof-status{
  display:flex;align-items:center;gap:.6rem;
  font-family:'JetBrains Mono',monospace;font-size:.85rem;color:var(--muted);
  margin-bottom:.8rem
}
.proof-icon{font-size:1rem;color:var(--faint)}
.proof-icon.proof-ok{color:var(--green)}
.proof-address{
  font-family:'JetBrains Mono',monospace;font-size:.8rem;color:var(--muted);
  word-break:break-all;margin-bottom:.8rem
}
.proof-challenge-label{
  font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--faint);
  letter-spacing:.08em;margin-bottom:.4rem
}
.proof-challenge-text{
  background:#040608;border:1px solid var(--line);border-radius:8px;
  padding:.8rem 1rem;font-family:'JetBrains Mono',monospace;font-size:.78rem;
  color:var(--muted);white-space:pre-wrap;word-break:break-all;margin-bottom:.8rem
}
.proof-actions{margin-top:.8rem}

/* ── Suitability checkboxes ────────────────────────────────────────── */
.suit-box{
  border:1px solid var(--line);border-radius:14px;padding:1.2rem 1.4rem;
  background:rgba(13,17,23,.5);display:flex;flex-direction:column;gap:.9rem;
  margin-bottom:.8rem
}
.suit-item{border-bottom:1px solid var(--line);padding-bottom:.9rem}
.suit-item:last-child{border-bottom:none;padding-bottom:0}
.suit-check-label{
  display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;
  font-size:.88rem;line-height:1.5;color:var(--muted)
}
.suit-check-label:hover{color:var(--txt)}
.suit-check{
  flex-shrink:0;width:18px;height:18px;margin-top:.15em;
  accent-color:var(--green);cursor:pointer
}

/* ── Scrollwrap doc modals ─────────────────────────────────────────── */
.modal-doc{
  border:1px solid var(--line);border-radius:14px;overflow:hidden;
  background:rgba(13,17,23,.5);margin-bottom:1rem
}
.modal-body{
  max-height:360px;overflow-y:auto;padding:1.4rem 1.6rem;
  scroll-behavior:smooth;
  /* Custom scrollbar */
  scrollbar-width:thin;scrollbar-color:var(--line) transparent
}
.modal-body::-webkit-scrollbar{width:6px}
.modal-body::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
.modal-body:focus-visible{outline:2px solid var(--green);outline-offset:-2px}
.modal-body h2{
  font-size:1.3rem;font-weight:700;letter-spacing:-.01em;margin-bottom:.4rem;
  color:var(--txt)
}
.modal-body h3{
  font-family:'JetBrains Mono',monospace;font-size:.78rem;color:var(--green);
  letter-spacing:.12em;margin:1.2rem 0 .5rem
}
.modal-body p{color:var(--muted);font-size:.87rem;line-height:1.65;margin-bottom:.6rem}
.modal-body p strong{color:var(--txt)}
.doc-version{
  font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--faint);
  margin-bottom:.8rem
}
.modal-footer{
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.6rem;
  padding:1rem 1.4rem;border-top:1px solid var(--line);background:rgba(8,9,11,.4)
}
.btn-reached-end{
  font-family:'JetBrains Mono',monospace;font-size:.72rem;color:var(--faint);
  background:transparent;border:1px solid var(--line);border-radius:8px;
  padding:.4rem .8rem;cursor:pointer;transition:color .15s,border-color .15s
}
.btn-reached-end:hover{color:var(--muted);border-color:var(--muted)}
.btn-reached-end:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.btn-agree{
  background:linear-gradient(135deg,var(--violet),var(--blue));
  color:#fff;font-weight:600;font-size:.9rem;
  padding:.7rem 1.4rem;border-radius:10px;border:none;cursor:pointer;
  box-shadow:0 8px 24px rgba(110,94,248,.35);transition:transform .15s,opacity .15s
}
.btn-agree:disabled{
  opacity:.35;cursor:not-allowed;box-shadow:none;transform:none
}
.btn-agree:not(:disabled):hover{transform:translateY(-1px)}
.btn-agree:focus-visible{outline:2px solid var(--green);outline-offset:2px}

/* ── Submit confirmation ────────────────────────────────────────────── */
.submit-confirm{text-align:center;padding:2rem 1rem}
.submit-icon{
  font-size:3rem;color:var(--green);
  width:72px;height:72px;border:2px solid var(--green);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 1.2rem;box-shadow:0 0 24px rgba(63,224,160,.3)
}

/* ── Status page ────────────────────────────────────────────────────── */
.status{
  max-width:560px;margin:4rem auto;text-align:center;
  border:1px solid var(--line);border-radius:16px;padding:2.5rem;
  background:rgba(13,17,23,.7)
}
.status h1{font-size:1.6rem;font-weight:700;margin-bottom:1rem}
.state{
  font-family:'JetBrains Mono',monospace;font-size:1rem;
  color:var(--green);letter-spacing:.08em;margin-top:.5rem
}
.status .status-email{color:var(--muted);font-size:.85rem;margin-top:1rem}
.status .status-back{
  display:inline-block;margin-top:1.6rem;
  font-family:'JetBrains Mono',monospace;font-size:.8rem;
  color:var(--green);text-decoration:none;
  border:1px solid var(--green-dim);padding:.5rem 1rem;border-radius:8px;
  background:rgba(63,224,160,.05)
}
.status .status-back:hover{background:rgba(63,224,160,.12)}

/* ── Responsive ────────────────────────────────────────────────────── */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .coin{animation:none;transform:rotateY(18deg)}
  .coin-stage{animation:none}
  .ticker-track{animation:none}
  .coin-shadow{animation:none}
  .panel-head .live::before{animation:none}
}
@media(max-width:860px){
  .hero{grid-template-columns:1fr;text-align:center}
  .coin-side{order:-1}
  h1{font-size:2.5rem}
  .trust,.cta,.eyebrow{justify-content:center}
  .infra-grid,.feat,.steps,.faq,.footgrid{grid-template-columns:1fr}
}

/* ── Gate (invitation front door) ──────────────────────────────────── */
.gate-screen{
  position:relative;z-index:1;min-height:100vh;
  display:flex;align-items:center;justify-content:center;padding:2rem
}
.gate-card{
  width:100%;max-width:440px;
  border:1px solid var(--line);border-radius:18px;
  background:linear-gradient(180deg,rgba(20,26,34,.75),rgba(13,17,23,.78));
  backdrop-filter:blur(8px);padding:2.4rem;
  box-shadow:0 30px 80px rgba(0,0,0,.5)
}
.gate-logo{justify-content:center;margin-bottom:1.7rem}
.gate-coin{position:relative;width:40px;height:40px;flex:0 0 40px;display:inline-block}
.gate-coin .gate-coin-scale{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%) scale(.16);transform-origin:center center
}
.gate-wordmark{font-family:'JetBrains Mono',monospace;font-weight:700}
.gate-eyebrow{
  font-family:'JetBrains Mono',monospace;color:var(--green);
  font-size:.72rem;letter-spacing:.2em;text-align:center;margin-bottom:.9rem
}
.gate-title{
  font-size:1.7rem;font-weight:700;letter-spacing:-.02em;
  text-align:center;margin-bottom:.55rem
}
.gate-sub{
  color:var(--muted);font-size:.9rem;line-height:1.6;
  text-align:center;margin-bottom:1.7rem
}
.gate-actions{margin-top:1.3rem}
.gate-actions .btn-primary{width:100%;display:flex;align-items:center;justify-content:center}
.gate-trust{
  margin-top:1.6rem;text-align:center;
  font-family:'JetBrains Mono',monospace;font-size:.72rem;color:var(--faint);
  display:flex;align-items:center;justify-content:center;gap:.45rem;line-height:1.5
}
.gate-trust .ok{color:var(--green)}
.gate-secure{
  margin-top:1.5rem;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:12px;
  background:rgba(13,17,23,.5);text-align:left
}
.gate-secure-head{
  font-family:'JetBrains Mono',monospace;font-size:.64rem;letter-spacing:.2em;
  color:var(--green);margin-bottom:.7rem
}
.gate-secure-list{list-style:none;display:flex;flex-direction:column;gap:.6rem}
.gate-secure-list li{
  display:flex;align-items:flex-start;gap:.5rem;
  font-size:.76rem;line-height:1.5;color:var(--muted)
}
.gate-secure-list li .ok{color:var(--green);flex-shrink:0}
.gate-secure-list b{color:var(--txt);font-weight:600}
.gate-sent{text-align:center}
@media(max-width:480px){.gate-card{padding:1.8rem 1.4rem}}
