/* Public splash page (shown to logged-out visitors). All classes prefixed .sp- */
.sp { margin:-32px -24px -80px; overflow:hidden; }
.sp-wrap { max-width:1000px; margin:0 auto; padding:0 24px; }
.sp-nav { display:flex; align-items:center; justify-content:space-between; padding:18px 24px; max-width:1000px; margin:0 auto; }
.sp-nav b { font-size:22px; }
.sp-hero { text-align:center; padding:56px 24px 40px; position:relative; }
.sp-moon { font-size:84px; display:inline-block; animation:sp-bob 4s ease-in-out infinite; filter:drop-shadow(0 0 30px #c86bfa88); }
@keyframes sp-bob { 50% { transform:translateY(-12px) rotate(-6deg); } }
.sp-hero h1 { font-size:clamp(38px,7vw,68px); line-height:1.05; margin:10px 0 14px; }
.sp-grad { background:linear-gradient(135deg,var(--accent),var(--accent2)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.sp-hero p.sp-lede { font-size:20px; color:var(--mute); max-width:620px; margin:0 auto 26px; }
.sp-cta { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.sp-cta .btn { font-size:18px; padding:14px 28px; }
.sp-ticker { margin-top:30px; color:var(--mute); font-size:18px; min-height:28px; }
.sp-ticker span { color:var(--ink); font-weight:700; display:inline-block; animation:sp-pop .5s; }
@keyframes sp-pop { from { opacity:0; transform:translateY(8px) scale(.95); } }
.sp-stars { position:absolute; inset:0; pointer-events:none; }
.sp-stars i { position:absolute; width:3px; height:3px; border-radius:50%; background:#fff; opacity:.5; animation:sp-tw 3s infinite; }
@keyframes sp-tw { 50% { opacity:.05; } }
.sp-sec { padding:56px 0 8px; }
.sp-sec h2 { font-size:clamp(28px,4.5vw,40px); text-align:center; margin:0 0 8px; }
.sp-sec > .sp-wrap > .sub { text-align:center; max-width:560px; margin:0 auto 28px; }
.sp-steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; }
.sp-step { text-align:center; } .sp-step .n { font-size:40px; } .sp-step h3 { margin:6px 0; } .sp-step p { margin:0; color:var(--mute); }
.sp-demo { display:grid; grid-template-columns:1fr 1.2fr; gap:24px; align-items:center; margin-bottom:20px; }
.sp-demo.flip { grid-template-columns:1.2fr 1fr; } .sp-demo.flip .sp-text { order:2; }
.sp-text h3 { font-size:26px; margin:0 0 8px; } .sp-text p { color:var(--mute); margin:0 0 10px; line-height:1.5; }
.sp-text ul { margin:0; padding-left:20px; color:var(--mute); line-height:1.7; }
.sp-badge { display:inline-block; background:#ffffff14; padding:3px 12px; border-radius:999px; font-size:13px; margin-bottom:10px; }
.sp-box { background:var(--panel); border:1px solid var(--line); border-radius:22px; padding:20px; box-shadow:0 20px 60px #0006; }
.sp-box .try { font-size:12px; color:var(--accent); font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin-bottom:10px; }
.sp-chips { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
.sp-chips button { font:inherit; font-size:14px; padding:7px 14px; border-radius:999px; border:1px solid var(--line); background:#0f1024; color:var(--ink); cursor:pointer; transition:.15s; }
.sp-chips button:hover { border-color:var(--accent2); transform:translateY(-2px); }
.sp-chips button.on { background:var(--accent2); border-color:var(--accent2); }
.sp-idea { display:flex; gap:14px; background:#0f1024; border:1px solid var(--line); border-radius:16px; padding:14px; animation:sp-pop .45s; min-height:96px; }
.sp-idea .e { font-size:42px; } .sp-idea h4 { margin:0 0 4px; font-size:18px; } .sp-idea p { margin:0 0 6px; color:var(--mute); font-size:14px; }
.sp-idea small { color:var(--mute); }
.sp-opt { display:flex; align-items:center; gap:12px; background:#0f1024; border:1px solid var(--line); border-radius:14px; padding:10px 14px; margin-bottom:10px; position:relative; overflow:hidden; }
.sp-opt .bar { position:absolute; left:0; top:0; bottom:0; background:linear-gradient(90deg,#ff8a5c33,#c86bfa33); transition:width .5s; }
.sp-opt > * { position:relative; } .sp-opt .t { flex:1; font-weight:700; } .sp-opt .e { font-size:26px; } .sp-opt .v { color:var(--mute); font-size:14px; min-width:56px; text-align:right; }
.sp-opt button { font:inherit; font-weight:700; border:1px solid var(--line); background:transparent; color:var(--ink); border-radius:10px; padding:6px 12px; cursor:pointer; }
.sp-opt button.on { background:var(--accent2); border-color:var(--accent2); }
.sp-opt.win { border-color:var(--accent); }
.sp-ice { text-align:center; font-size:20px; font-weight:700; background:#0f1024; border-radius:16px; padding:26px 18px; margin-bottom:14px; min-height:96px; display:flex; align-items:center; justify-content:center; animation:sp-pop .4s; }
.sp-feats { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:14px; }
.sp-feat { transition:transform .2s; } .sp-feat:hover { transform:translateY(-4px) rotate(-.5deg); border-color:var(--accent2); }
.sp-feat .e { font-size:30px; } .sp-feat h4 { margin:6px 0 4px; } .sp-feat p { margin:0; color:var(--mute); font-size:14px; line-height:1.45; }
.sp-final { text-align:center; margin:60px 24px 0; padding:44px 24px; border-radius:28px; background:linear-gradient(135deg,#ff8a5c30,#c86bfa30); border:1px solid var(--line); }
.sp-final h2 { font-size:clamp(28px,5vw,44px); margin:0 0 10px; }
.sp-foot { text-align:center; color:var(--mute); font-size:14px; padding:30px 0 40px; }
@media (max-width:760px){ .sp-demo,.sp-demo.flip { grid-template-columns:1fr; } .sp-demo.flip .sp-text { order:0; } .sp { margin:-32px -24px -80px; } }
@media (prefers-reduced-motion:reduce){ .sp *, .sp-moon { animation:none !important; } }
