/* © 2026 Velquent. All rights reserved. Proprietary software, see LICENSE. Shared by /signup, /verify and the platform gate pages. Same palette as the landing page. */
@font-face{font-family:"Inter";src:url(/fonts/inter.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(/fonts/jbmono.woff2) format("woff2");font-weight:100 800;font-display:swap}
:root{--bg:#060a0f;--bg-card:#101828;--glass:rgba(12,17,23,.72);--fg:#dde6f0;--fg-muted:#7a8899;--fg-dim:#4a5766;--cyan:#5FB8C2;--cyan-glow:rgba(95,184,194,.16);--amber:#E2B05A;--line:rgba(95,184,194,.14);--line-2:#2A3852;--r:12px;--r-sm:8px;
  --f-display:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--f-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.55 var(--f-display);-webkit-font-smoothing:antialiased}
a{color:var(--cyan)}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:4px}
#mesh{position:fixed;inset:0;z-index:0;pointer-events:none}
.vignette{position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 85% 70% at 50% 42%,transparent 35%,rgba(6,10,15,.78) 100%)}
.top{position:fixed;top:0;left:0;right:0;z-index:20;height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1120px)/2));background:linear-gradient(180deg,rgba(6,10,15,.92),rgba(6,10,15,.55));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--fg);text-decoration:none}
.top .back{font-size:.88rem;color:var(--fg-muted);text-decoration:none}.top .back:hover{color:var(--fg)}
.stage{position:relative;z-index:10;min-height:100vh;display:grid;place-items:center;padding:92px 16px 40px}
/* glass card */
.glass{width:min(560px,100%);background:var(--glass);border:1px solid var(--line-2);border-radius:18px;padding:28px 26px;display:grid;gap:14px;backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);box-shadow:0 30px 80px -30px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.04)}
.glass h1{margin:0;font-size:clamp(1.35rem,3vw,1.7rem);letter-spacing:-.02em;line-height:1.2}
.kick{font:500 .72rem var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);margin:0}
.lang{justify-self:end;display:flex;gap:6px;margin-bottom:-6px}
.lang button{font:inherit;font-size:12px;color:var(--fg-muted);background:rgba(255,255,255,.03);border:1px solid var(--line-2);border-radius:6px;padding:3px 9px;cursor:pointer}
.lang button[aria-pressed=true]{color:var(--fg);border-color:var(--cyan)}.lang button:disabled{opacity:.5;cursor:not-allowed}
.promise{margin:0;padding:14px 16px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:rgba(6,10,15,.45);list-style:none;display:grid;gap:9px;font-size:.9rem;color:#c7d0df}
.promise li::before{content:"✓ ";color:var(--cyan)}.promise b{color:var(--fg)}
label{display:grid;gap:6px;font-size:13px;color:var(--fg-muted)}
input[type=email]{font:inherit;color:var(--fg);background:rgba(20,32,53,.8);border:1px solid var(--line-2);border-radius:var(--r-sm);padding:11px 13px}
input[type=email]:focus{border-color:var(--cyan);outline:none;box-shadow:0 0 0 3px var(--cyan-glow)}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#c7d0df}.chk input{margin-top:3px;accent-color:var(--cyan)}
.card{min-height:44px;border:1px dashed var(--line-2);border-radius:var(--r-sm);padding:11px 13px;color:var(--fg-muted);font-size:13px}
button.go,a.go{font:inherit;font-weight:600;color:var(--bg);background:var(--cyan);border:0;border-radius:var(--r-sm);padding:12px 14px;cursor:not-allowed;opacity:.5;text-align:center;text-decoration:none;display:block}
button.go:not(:disabled),a.go{cursor:pointer;opacity:1}button.go:not(:disabled):hover,a.go:hover{box-shadow:0 8px 26px -8px rgba(95,184,194,.6)}
a.go.amber{background:var(--amber)}
.f{font-size:12px;color:var(--fg-muted);margin:0}
.msg{min-height:1.5em;color:var(--amber)}.msg.ok{color:var(--cyan)}
.alt{font-size:13px;color:var(--fg-muted);text-align:center;margin:0}.alt a{cursor:pointer}
.legal{position:relative;z-index:10;text-align:center;padding:0 16px 28px;font:.74rem var(--f-mono);color:var(--fg-muted)}
.stagebadge{font-size:11.5px;color:var(--amber);margin:0}
/* gate (overlay on top of the real platform screenshot) */
.gate-bg{position:fixed;inset:0;z-index:0;background:#060a0f center top/cover no-repeat;filter:blur(3px) brightness(.78) saturate(.95);transform:scale(1.03)}
.gate-shade{position:fixed;inset:0;z-index:1;background:radial-gradient(ellipse 70% 60% at 50% 45%,rgba(6,10,15,.05),rgba(6,10,15,.62))}
.gate .stage{padding-top:32px}
.gate .glass{max-height:calc(100vh - 48px);overflow:auto}
.gatehead{display:flex;align-items:center;gap:10px;font-weight:600}.gatehead .tag{margin-left:auto;font:500 .68rem var(--f-mono);letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:99px;border:1px solid var(--line)}
.tag.c{color:var(--cyan);background:var(--cyan-glow)}.tag.d{color:var(--amber);background:rgba(226,176,90,.14);border-color:rgba(226,176,90,.25)}
.done{display:grid;gap:12px}.done .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gate-bg.pcex{background-image:url(/gate/pcex_d.jpg)}.gate-bg.pdex{background-image:url(/gate/pdex_d.jpg)}
@media (max-width:640px){.glass{padding:22px 18px}.done .two{grid-template-columns:1fr}.gate-bg.pcex{background-image:url(/gate/pcex_m.jpg)}.gate-bg.pdex{background-image:url(/gate/pdex_m.jpg)}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
.ct{display:contents}.ct[hidden]{display:none}
[hidden]{display:none!important}
section[data-l]{display:grid;gap:14px}
#loginwrap{display:grid;gap:14px}#loginwrap[hidden]{display:none}

/* gate pages only (body.gate): the platform picture shows first, then the dimming deepens and the form fades in.
   Pure CSS, runs after first paint; no JS, no files, no requests. */
@keyframes vq-gate-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes vq-gate-dim{from{opacity:.45}to{opacity:1}}
.gate .glass{animation:vq-gate-in .6s ease-out .5s both}
.gate .gate-shade{animation:vq-gate-dim .6s ease-out .5s both}
@media (prefers-reduced-motion:reduce){.gate .glass,.gate .gate-shade{animation:none}}
