/* Public + account pages. Builds on style.css (same neon glass theme). */
body.pub{overflow-x:hidden;font-size:15px}
.pub .wrap{max-width:1180px;margin:0 auto;padding:18px}
.pub nav{display:flex;align-items:center;gap:12px;padding:12px 18px;position:sticky;top:12px;z-index:10}
.pub nav .brand{font-size:18px;flex:1;text-decoration:none}
.pub a{color:var(--cy)}.pub a.btn,.pub a.btn:visited{display:inline-block;text-decoration:none;font:600 14px 'Space Grotesk';color:#1a0a00;background:linear-gradient(90deg,var(--cy),var(--bl));border-radius:9px;padding:9px 16px;box-shadow:0 0 16px rgba(255,122,26,.35)}
.pub a.btn.ghost{background:transparent;color:var(--cy);border:1px solid var(--bd);box-shadow:none}
.hero{padding:70px 10px 40px;text-align:center}.hero h1{font:800 clamp(30px,5vw,54px)/1.1 Orbitron,sans-serif;letter-spacing:.03em}
.hero p{color:var(--mu);font-size:18px;max-width:720px;margin:18px auto 26px}.hero .cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.grid{display:grid;gap:16px}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g2{grid-template-columns:1fr 1fr}
.pad{padding:20px}.sec{margin:46px 0}.sec>h2{font-size:26px;margin-bottom:6px}.sec>p.lead{color:var(--mu);margin:0 0 18px}
.feat h3{color:var(--cy);font-size:16px;margin-bottom:6px}.feat p{color:var(--mu);margin:0}
.stat b{display:block;font:700 34px 'Space Grotesk';color:#fff;text-shadow:0 0 14px var(--cy)}.stat span{color:var(--mu);font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.bars .bar{display:grid;grid-template-columns:110px 1fr 46px;gap:8px;align-items:center;margin:5px 0;font-size:13px}
.bars .bar i{display:block;height:10px;border-radius:6px;background:linear-gradient(90deg,var(--cy),var(--mg));box-shadow:0 0 10px rgba(255,122,26,.4)}
.bars .bar em{font-style:normal;color:var(--mu);text-align:right}
.blurred{filter:blur(5px);user-select:none;pointer-events:none;opacity:.7}
.lockbox{position:relative}.lockbox .over{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center}
.fake{width:100%;border-collapse:collapse;font-size:13px}.fake td,.fake th{padding:8px;border-bottom:1px solid rgba(179,162,151,.15);text-align:left}
.plan{padding:22px;display:flex;flex-direction:column;gap:10px}.plan.featured{border-color:var(--mg);box-shadow:0 0 30px rgba(255,61,46,.25)}
.plan .price{font:700 34px 'Space Grotesk';color:#fff}.plan .price small{font-size:14px;color:var(--mu)}.plan ul{padding-left:18px;color:var(--tx);margin:4px 0;flex:1}.plan li{margin:5px 0}
.tag{display:inline-block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--a);border:1px solid rgba(255,176,32,.4);border-radius:10px;padding:1px 8px}
.disclaimer{padding:18px;color:#ffc9a3;border-color:rgba(255,61,46,.3);font-size:13px}
.authbox{max-width:440px;margin:60px auto;padding:28px;display:flex;flex-direction:column;gap:14px}.authbox h1{font-size:22px}
.authbox .msg{min-height:18px;font-size:13px;color:var(--r)}.authbox .ok{color:var(--g)}.muted{color:var(--mu)}
.steps{display:flex;gap:6px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.steps span{flex:1;padding:6px;border-bottom:2px solid rgba(179,162,151,.25);color:var(--mu);text-align:center}.steps span.on{border-color:var(--cy);color:var(--cy)}
#qr{background:#fff;padding:10px;border-radius:10px;align-self:center;line-height:0}#qr img{width:200px;height:200px}
code.secret{word-break:break-all;color:var(--cy)}.codes{display:grid;grid-template-columns:1fr 1fr;gap:6px;font:600 14px 'Space Grotesk';color:#fff}
.hidden{display:none!important}
@media(max-width:860px){.g3,.g4,.g2{grid-template-columns:1fr}}
.pub header.hero{display:block}

.bill{display:inline-flex;gap:4px;padding:4px;border:1px solid rgba(255,255,255,.15);border-radius:20px;margin:6px 0 14px}.bill button{border-radius:16px;padding:6px 14px;background:transparent;color:var(--mu);border:0;cursor:pointer}.bill button.on{background:#b91c1c;color:#fff}.bill small{color:var(--a)}.policy{font-size:13px;color:var(--mu);margin-top:10px}.sumplans{display:grid;gap:6px;margin:8px 0}.sumplans div{display:flex;justify-content:space-between;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:6px 10px;cursor:pointer}.sumplans div.sel{border-color:var(--mg)}

/* ---- Launch-readiness additions ---- */
.msg{min-height:18px;font-size:13px;color:var(--r)}.msg.ok{color:var(--g)}
.authbox h2{font-size:22px}.doc{padding:24px}.doc h2{margin-top:18px}.doc li{margin:6px 0}.steps-list li{margin:8px 0}
.copy{margin:8px 0 0;color:var(--mu);font-size:12px}
.loading{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.45}}
@media(prefers-reduced-motion:reduce){.loading{animation:none}}
button[aria-busy="true"]{opacity:.6;cursor:progress}
.pub input:user-invalid,.pub input[aria-invalid="true"]{border-color:var(--r);box-shadow:0 0 0 1px var(--r)}
.danger{border-color:rgba(255,56,96,.4)}.danger form{display:flex;flex-direction:column;gap:12px;max-width:440px}
.danger-btn{background:var(--r)!important;color:#fff!important}
:focus-visible{outline:2px solid var(--cy);outline-offset:2px}
.menu-btn{display:none;padding:6px 12px;font-size:18px;line-height:1}
.sticky-cta{display:none}
img,svg,video,canvas{max-width:100%}
.pub table{display:block;overflow-x:auto}.pub code,.pub .codes{overflow-wrap:anywhere}
@media(max-width:1024px){.pub .wrap{padding:14px}.hero{padding:48px 6px 30px}}
@media(max-width:640px){
 .pub nav.glass{flex-wrap:wrap;gap:8px;padding:10px 14px}
 .menu-btn{display:inline-block}
 .pub nav.glass>a:not(.brand),.pub nav.glass>button:not(.menu-btn){display:none}
 .pub nav.glass.open>a:not(.brand),.pub nav.glass.open>button:not(.menu-btn){display:block;width:100%;text-align:center}
 .hero p{font-size:16px}.stat b{font-size:26px}.bars .bar{grid-template-columns:80px 1fr 40px}
 .authbox{margin:24px auto;padding:20px}.sec{margin:30px 0}
 .sticky-cta{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:20;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(15,11,9,.92);backdrop-filter:blur(8px);border-top:1px solid var(--bd)}
 .sticky-cta .btn{flex:1;text-align:center}
 body.pub:has(.sticky-cta){padding-bottom:70px}
}
@media(max-width:860px){.grid.g4{grid-template-columns:1fr 1fr}}
.pub footer nav{flex-wrap:wrap;position:static;padding:0 0 8px;gap:6px 10px;z-index:auto}
.crf{display:flex;flex-direction:column;gap:12px;max-width:520px;margin:10px 0 6px}.crf textarea{background:rgba(5,10,25,.7);color:var(--tx);border:1px solid rgba(179,162,151,.3);border-radius:8px;padding:7px;font:13px Inter;width:100%;resize:vertical}.crf button{align-self:flex-start}.crf .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.reqc{font-size:12px;margin-left:auto}
