/* Landing page. Builds on app.css variables (light/dark via [data-theme]). */
body.lp{font-size:16px;line-height:1.6;background:var(--bg)}
.lp-wrap{max-width:1160px;margin:0 auto;padding:0 22px}
.lp a{text-decoration:none}
.btn.lg{padding:12px 20px;font-size:15px;border-radius:12px}
.lp-nav{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.lp-navin{display:flex;align-items:center;gap:18px;height:64px}
.lp-links{display:flex;gap:4px;margin-left:12px}.lp-links a{color:var(--muted);font-weight:500;font-size:14px;padding:6px 10px;border-radius:8px}.lp-links a:hover{color:var(--text);background:var(--soft)}
.lp-navcta{margin-left:auto;display:flex;gap:8px;align-items:center}
.lp-hero{position:relative;overflow:hidden;padding:72px 0 64px}
.lp-hero::before{content:"";position:absolute;inset:-40% -10% auto auto;width:900px;height:900px;background:radial-gradient(closest-side,color-mix(in srgb,var(--brand) 18%,transparent),transparent);pointer-events:none}
.lp-herogrid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.lp-eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);background:var(--soft);border:1px solid var(--line);padding:4px 12px;border-radius:999px}
.lp h1{font-size:clamp(32px,4.6vw,54px);line-height:1.08;letter-spacing:-.03em;margin:18px 0 16px}
.lp-grad{background:linear-gradient(100deg,var(--brand),var(--brand2));-webkit-background-clip:text;background-clip:text;color:transparent}
.lp-lead{font-size:18px;color:var(--muted);max-width:560px;margin:0 0 26px}
.lp-ctas{display:flex;gap:12px;flex-wrap:wrap}.lp-ctas.center{justify-content:center}
.lp-note{font-size:14px;color:var(--muted);margin-top:16px}
.lp-visual{position:relative;display:grid;place-items:center;min-height:480px}
.lp-glow{position:absolute;width:360px;height:360px;border-radius:50%;background:conic-gradient(from 120deg,var(--brand),var(--brand2),#a855f7,var(--brand));filter:blur(70px);opacity:.28}
.lp-phone{position:relative;width:310px;background:var(--card);border:1px solid var(--line);border-radius:26px;box-shadow:0 30px 60px -20px rgba(15,23,42,.35),var(--shadow);padding:18px;transform:rotate(-2deg)}
.lp-co-head{display:flex;align-items:center;gap:10px;font-size:14px}.lp-co-head .muted{font-size:12px;white-space:nowrap}
.lp-co-head .avatar{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;display:grid;place-items:center;font-weight:800}
.lp-live{margin-left:auto;white-space:nowrap;font-size:11px;font-weight:700;color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent);padding:3px 8px;border-radius:999px}
.lp-co-total{margin:16px 0 10px}.lp-co-total span{display:block;font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.05em}.lp-co-total b{font-size:28px;letter-spacing:-.02em}
.lp-co-qr{background:#fff;border-radius:16px;padding:12px;border:1px solid var(--line)}.lp-co-qr .qr{display:block;width:100%;height:auto;shape-rendering:crispEdges}
.lp-co-timer{display:flex;justify-content:space-between;margin-top:12px;font-size:13px;background:var(--soft);padding:8px 12px;border-radius:10px}.lp-co-timer b{font-variant-numeric:tabular-nums}
.lp-co-rows{margin-top:10px;font-size:13px;color:var(--muted)}.lp-co-rows div{display:flex;justify-content:space-between;padding:3px 0}
.lp-toast{position:absolute;right:-10px;bottom:-4px;display:flex;gap:10px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 14px;box-shadow:var(--shadow);font-size:13px;transform:rotate(2deg)}
.lp-toast .muted{font-size:12px}.lp-dot{width:10px;height:10px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px color-mix(in srgb,var(--ok) 22%,transparent)}
.lp-sec{padding:84px 0}.lp-alt{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.lp-head{text-align:center;max-width:680px;margin:0 auto 42px}.lp-head.left{text-align:left;margin:0}
.lp h2{font-size:clamp(26px,3.2vw,38px);letter-spacing:-.025em;line-height:1.15;margin:14px 0 10px}
.lp-head p{color:var(--muted);font-size:17px;margin:0}
.lp-feats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.lp-feat{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;transition:transform .2s,box-shadow .2s}.lp-feat:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.lp-feat h3{font-size:17px;margin:14px 0 6px}.lp-feat p{color:var(--muted);margin:0;font-size:15px}
.lp-ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:var(--brand);background:var(--soft)}.lp-ic svg{width:22px;height:22px}
.lp-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:s}
.lp-steps li{position:relative;background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:26px}
.lp-steps h3{font-size:18px;margin:14px 0 6px}.lp-steps p{margin:0;color:var(--muted);font-size:15px}
.lp-num{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;font-weight:800}
.lp code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em;background:var(--soft);padding:1px 6px;border-radius:6px}
.lp-intgrid{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;align-items:center}
.lp-checks{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:10px}.lp-checks li{display:flex;gap:10px;align-items:center;color:var(--text);font-size:15px}.lp-checks svg{width:20px;height:20px;color:var(--ok);flex:none}
.lp-codebox{background:#0b1222;border:1px solid #1e293b;border-radius:18px;overflow:hidden;box-shadow:0 24px 48px -24px rgba(2,6,23,.6);min-width:0}
.lp-tabs{display:flex;gap:2px;padding:8px;border-bottom:1px solid #1e293b;background:#0f172a;overflow-x:auto}
.lp-tab{background:none;border:0;color:#94a3b8;font:600 13px/1 inherit;font-family:inherit;padding:9px 12px;border-radius:8px;cursor:pointer;white-space:nowrap}.lp-tab:hover{color:#e2e8f0}.lp-tab.on{background:#1e293b;color:#fff}
.lp-copy{margin-left:auto;background:none;border:1px solid #334155;color:#cbd5e1;border-radius:8px;padding:6px 12px;font:600 12px inherit;font-family:inherit;cursor:pointer}
.lp-code{margin:0;padding:20px;background:transparent;border-radius:0;overflow:auto;max-height:420px;color:#e2e8f0;font-size:13px;line-height:1.65}.lp-code code{background:none;padding:0;font-size:inherit;color:inherit}
.lp-faqwrap{max-width:820px}
.lp-faq details{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:4px 20px;margin-bottom:10px}
.lp-faq summary{cursor:pointer;font-weight:650;font-size:16px;padding:14px 0;list-style:none;display:flex;justify-content:space-between;gap:12px}.lp-faq summary::-webkit-details-marker{display:none}
.lp-faq summary::after{content:"+";color:var(--brand);font-size:22px;line-height:1}.lp-faq details[open] summary::after{content:"−"}
.lp-faq p{margin:0 0 16px;color:var(--muted)}
.lp-final{text-align:center;border-radius:26px;padding:56px 24px;color:#fff;background:linear-gradient(120deg,#4338ca,#6d28d9 55%,#0891b2)}
.lp-final h2{color:#fff;margin-top:0}.lp-final p{color:#e0e7ff;font-size:17px;margin:0 auto 24px;max-width:560px}
.btn.light{background:#fff;color:#312e81;border-color:#fff}.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.lp-foot{border-top:1px solid var(--line);padding:48px 0 28px;font-size:14px}
.lp-footgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:28px}.lp-footgrid>div>b{display:block;margin-bottom:8px}.lp-footgrid>div>a{display:block;color:var(--muted);padding:3px 0}.lp-footgrid>div>a:hover{color:var(--text)}
.lp-footgrid p{max-width:340px}
.lp-copyright{margin-top:28px;font-size:13px}
@media (max-width:960px){.lp-herogrid,.lp-intgrid{grid-template-columns:1fr}.lp-visual{min-height:440px}.lp-feats{grid-template-columns:1fr 1fr}.lp-links{display:none}}
@media (max-width:640px){.lp-hero{padding:40px 0}.lp-feats,.lp-steps{grid-template-columns:1fr}.lp-sec{padding:60px 0}.lp-footgrid{grid-template-columns:1fr 1fr}.lp-footgrid>div:first-child{grid-column:1/-1}.lp-navcta .btn:not(.p){display:none}.lp-phone{width:280px}.lp-toast{right:0;bottom:-34px}.lp-visual{margin-bottom:24px}.lp-lead{font-size:16px}}
@media (prefers-reduced-motion:reduce){.lp-feat{transition:none}}
