/* ── Landing ─────────────────────────────────────────────────────────────── */
#land{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:rgba(5,8,16,.82);backdrop-filter:blur(8px);transition:opacity .6s ease,transform .6s ease;padding:20px;overflow-y:auto;-webkit-overflow-scrolling:touch;}
#land.gone{opacity:0;pointer-events:none;transform:scale(1.03)}
.land-step{display:none;flex-direction:column;align-items:center;width:min(600px,100%);animation:stepIn .4s ease}
.land-step.active{display:flex}
@keyframes stepIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

/* Logo */
.land-logo-row{display:flex;align-items:center;gap:10px;margin-bottom:32px}
.land-logo-icon{font-size:22px;filter:drop-shadow(0 0 8px rgba(0,212,255,.55))}
.land-logo-txt{font-family:'Outfit',sans-serif;font-weight:700;font-size:19px;background:linear-gradient(90deg,var(--ac),var(--pu));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.06em}
.land-version{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--mu);border:1px solid var(--br);border-radius:4px;padding:2px 7px}

/* Tagline */
.land-tagline{font-family:'Outfit',sans-serif;font-size:48px;font-weight:300;text-align:center;line-height:1.12;margin-bottom:12px;letter-spacing:-.025em}
.land-tagline strong{font-weight:700;color:var(--ac);text-shadow:0 0 32px rgba(0,212,255,.22)}
.land-desc{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--mu);text-align:center;line-height:1.85;margin-bottom:36px}

/* Mode grid — 3 col for 3 cards, 1 col on mobile */
.land-modes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:min(540px,100%);margin-bottom:22px;margin-left:auto;margin-right:auto;}
.land-mode-card{padding:18px 16px;border:1px solid var(--br);border-radius:12px;background:rgba(9,13,20,.7);text-align:left;cursor:pointer;transition:all .22s;position:relative;display:flex;flex-direction:column;gap:6px;}
.land-mode-card:hover:not(:disabled){border-color:rgba(0,212,255,.3);background:rgba(0,212,255,.04);transform:translateY(-1px)}
.land-mode-card.active{border-color:var(--ac);background:rgba(0,212,255,.07);box-shadow:0 0 28px rgba(0,212,255,.1),inset 0 0 20px rgba(0,212,255,.03)}
.land-mode-card.soon-card{opacity:.35;cursor:default;pointer-events:none}
.land-mode-card.locked-card{opacity:.52;cursor:not-allowed;}
.land-mode-card.locked-card:hover{border-color:var(--br);background:rgba(9,13,20,.7);transform:none;box-shadow:none;}
.locked-badge{background:rgba(148,163,184,.06);color:rgba(148,163,184,.6);border:1px solid rgba(148,163,184,.18);}
.lmc-icon{font-size:22px;margin-bottom:3px}
.lmc-name{font-family:'Outfit',sans-serif;font-size:14px;font-weight:600;color:var(--tx)}
.lmc-desc{font-family:'JetBrains Mono',monospace;font-size:9.5px;color:var(--mu);line-height:1.55}
.lmc-badge{position:absolute;top:10px;right:10px;font-family:'JetBrains Mono',monospace;font-size:8px;padding:2px 7px;border-radius:20px}
.active-badge{background:rgba(0,212,255,.12);color:var(--ac);border:1px solid rgba(0,212,255,.25)}
.soon-badge{background:rgba(255,255,255,.04);color:var(--mu);border:1px solid var(--br)}

/* More modes note */
.land-more-modes{font-family:'JetBrains Mono',monospace;font-size:9.5px;color:var(--mu);text-align:center;margin-bottom:26px;letter-spacing:.04em;opacity:.42;}

/* Features row */
.land-features-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:36px}
.lf-item{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--mu);display:flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid rgba(25,34,51,.85);border-radius:20px;background:rgba(9,13,20,.5)}
.lf-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}

/* Next / back buttons */
.land-next-btn{padding:13px 44px;border:1px solid var(--ac);border-radius:10px;background:linear-gradient(135deg,rgba(0,212,255,.09),rgba(124,58,237,.07));color:var(--ac);font-family:'Outfit',sans-serif;font-size:14px;font-weight:600;letter-spacing:.05em;cursor:pointer;transition:all .25s;margin-bottom:16px;}
.land-next-btn:hover{background:linear-gradient(135deg,rgba(0,212,255,.16),rgba(124,58,237,.12));box-shadow:0 0 36px rgba(0,212,255,.15),0 4px 20px rgba(0,212,255,.08)}
.land-back-btn{align-self:flex-start;font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--mu);padding:4px 0;margin-bottom:16px;cursor:pointer;background:none;border:none;transition:color .2s}
.land-back-btn:hover{color:var(--tx)}
.land-step2-mode{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ac);letter-spacing:.1em;margin-bottom:20px;border:1px solid rgba(0,212,255,.2);padding:4px 16px;border-radius:20px;background:rgba(0,212,255,.04)}

/* Duration picker */
.land-dur-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:100%;margin-bottom:14px}
.land-dur-btn{padding:18px 8px;border:1px solid var(--br);border-radius:10px;background:transparent;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:3px;}
.land-dur-btn:hover{border-color:rgba(124,58,237,.4);background:rgba(124,58,237,.04)}
.land-dur-btn.on{border-color:rgba(124,58,237,.7);background:linear-gradient(135deg,rgba(124,58,237,.13),rgba(124,58,237,.05));box-shadow:0 0 20px rgba(124,58,237,.12)}
.land-dur-btn:focus{outline:none}
.ldb-min{font-family:'Outfit',sans-serif;font-size:28px;font-weight:600;color:var(--tx);line-height:1}
.ldb-unit{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--mu)}
.ldb-break{font-family:'JetBrains Mono',monospace;font-size:8.5px;color:rgba(0,255,136,.45);margin-top:3px}
.land-dur-btn.on .ldb-min{color:var(--pu)}
.land-dur-btn.on .ldb-break{color:var(--gn)}

/* Custom duration */
.land-custom-row{display:flex;gap:7px;margin-bottom:18px}
#land-custom-input{padding:8px 14px;border:1px solid var(--br);border-radius:7px;background:rgba(9,13,20,.6);color:var(--tx);font-family:'JetBrains Mono',monospace;font-size:11px;width:120px;outline:none;transition:border-color .2s,box-shadow .2s;text-align:center;}
#land-custom-input:focus{border-color:var(--pu);box-shadow:0 0 14px rgba(124,58,237,.1)}
#land-custom-input::placeholder{color:var(--mu)}
#land-custom-btn{padding:8px 16px;border:1px solid var(--br);border-radius:7px;color:var(--mu);font-family:'JetBrains Mono',monospace;font-size:10.5px;cursor:pointer;transition:all .2s;}
#land-custom-btn:hover{border-color:var(--pu);color:var(--pu)}

/* Sets row */
.land-sets-row{display:flex;align-items:center;gap:10px;margin-bottom:20px}
.land-sets-label{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--mu);white-space:nowrap}
.land-sets-btns{display:flex;gap:6px}
.lsb{padding:5px 13px;border:1px solid var(--br);border-radius:6px;color:var(--mu);font-family:'JetBrains Mono',monospace;font-size:10.5px;cursor:pointer;transition:all .2s}
.lsb:hover{border-color:rgba(0,255,136,.3);color:rgba(0,255,136,.7)}
.lsb.on{border-color:rgba(0,255,136,.55);color:var(--gn);background:rgba(0,255,136,.07);box-shadow:0 0 12px rgba(0,255,136,.08)}

/* Sound toggle */
.land-sound-row{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.land-stog{width:30px;height:16px;border-radius:8px;background:var(--br);position:relative;transition:background .3s;border:none;cursor:pointer;flex-shrink:0}
.land-stog.on{background:rgba(0,212,255,.45)}
.land-stog::after{content:'';position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--mu);transition:all .3s}
.land-stog.on::after{left:16px;background:var(--ac)}
#land-sound-lbl{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--mu)}

/* Hard mode toggle */
.land-hard-row{display:flex;align-items:center;gap:10px;margin-bottom:20px}
.land-hard-tog{width:30px;height:16px;border-radius:8px;background:var(--br);position:relative;transition:background .3s;border:none;cursor:pointer;flex-shrink:0}
.land-hard-tog.on{background:rgba(255,71,87,.45)}
.land-hard-tog::after{content:'';position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--mu);transition:all .3s}
.land-hard-tog.on::after{left:16px;background:var(--rd)}
#land-hard-lbl{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--mu)}
.land-hard-reward{margin-top:.35rem;font-size:.82rem;font-weight:700;letter-spacing:.03em;color:rgba(248,113,113,.95);text-shadow:0 0 16px rgba(248,113,113,.22);font-family:'JetBrains Mono',monospace}

/* Goal input */
.land-goal-row{width:100%;margin-bottom:20px}
#land-goal-input{width:100%;padding:13px 18px;border:1px solid var(--br);border-radius:10px;background:rgba(9,13,20,.7);color:var(--tx);font-family:'JetBrains Mono',monospace;font-size:11.5px;outline:none;transition:border-color .2s,box-shadow .2s;}
#land-goal-input:focus{border-color:var(--ac);box-shadow:0 0 20px rgba(0,212,255,.08)}
#land-goal-input::placeholder{color:var(--mu);font-style:italic}

/* Start button */
.land-start-btn{width:100%;padding:16px;border:1px solid var(--gn);border-radius:10px;background:rgba(0,255,136,.07);color:var(--gn);font-family:'Outfit',sans-serif;font-size:15px;font-weight:600;letter-spacing:.05em;cursor:pointer;transition:all .25s;}
.land-start-btn:hover{background:rgba(0,255,136,.12);box-shadow:0 0 40px rgba(0,255,136,.14),0 4px 24px rgba(0,255,136,.08);transform:translateY(-1px)}

/* Legacy landing classes (kept for compat) */
.land-badge{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--gn);letter-spacing:.3em;text-transform:uppercase;border:1px solid rgba(0,255,136,.25);border-radius:20px;padding:5px 16px;margin-bottom:36px;animation:badge-pulse 3s ease-in-out infinite}
@keyframes badge-pulse{0%,100%{box-shadow:0 0 0 rgba(0,255,136,0)}50%{box-shadow:0 0 16px rgba(0,255,136,.15)}}
.land-h1{font-size:64px;font-weight:300;text-align:center;line-height:1.1;margin-bottom:20px;letter-spacing:-.025em}.land-h1 strong{font-weight:700;color:var(--ac)}
.land-sub{font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--mu);text-align:center;line-height:1.9;margin-bottom:48px}.land-sub b{color:rgba(0,212,255,.55)}
.land-feats{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:48px}.feat{display:flex;align-items:center;gap:7px;padding:6px 14px;border:1px solid var(--br);border-radius:20px;font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--mu)}
.feat i{width:5px;height:5px;border-radius:50%;flex-shrink:0}.f1 i{background:var(--ac);box-shadow:0 0 6px var(--ac)}.f2 i{background:var(--gn);box-shadow:0 0 6px var(--gn)}.f3 i{background:var(--pu);box-shadow:0 0 6px var(--pu)}.f4 i{background:var(--or);box-shadow:0 0 6px var(--or)}.f5 i{background:var(--rd);box-shadow:0 0 6px var(--rd)}
.land-ctas{display:flex;gap:12px;margin-bottom:52px}.land-btn{padding:13px 36px;border-radius:9px;border:1px solid;font-size:14px;font-weight:600;letter-spacing:.04em;transition:all .25s}.land-btn.pr{border-color:var(--ac);color:var(--ac);background:rgba(0,212,255,.06)}.land-btn.pr:hover{background:rgba(0,212,255,.13);box-shadow:0 0 28px rgba(0,212,255,.15)}.land-btn.gh{border-color:var(--br);color:var(--mu)}.land-btn.gh:hover{border-color:var(--mu);color:var(--tx)}
.land-modes{display:flex;gap:8px}.lm{padding:5px 14px;border:1px solid var(--br);border-radius:5px;font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--mu)}.lm.on{border-color:var(--ac);color:var(--ac)}.lm.soon{opacity:.3}
.land-pricing{font-family:'JetBrains Mono',monospace;font-size:9.5px;color:var(--mu);text-align:center}
.land-first-hint{font-size:.72rem;color:rgba(255,255,255,.25);text-align:center;margin-top:.5rem;font-family:monospace}

/* ── Onboarding ───────────────────────────────────────────────────────────── */
.onboard{position:fixed;inset:0;background:var(--clr-surface,#0a0d13);z-index:300;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:monospace}
.ob-screen{display:none;flex-direction:column;align-items:center;text-align:center;max-width:340px;padding:2rem}
.ob-screen.active{display:flex}
.ob-icon{font-size:3rem;margin-bottom:1.5rem;color:var(--clr-accent,#7dd3fc)}
.ob-headline{font-size:1.6rem;font-weight:700;color:#fff;line-height:1.3;margin-bottom:.75rem}
.ob-sub{color:rgba(255,255,255,.4);font-size:.85rem;margin-bottom:2rem;line-height:1.5}
.ob-next-btn{background:var(--clr-accent,#7dd3fc);color:#000;border:none;padding:.65rem 1.75rem;border-radius:6px;font-family:monospace;font-size:.9rem;font-weight:600;cursor:pointer}
.ob-start{background:#fff}
.ob-dots{display:flex;gap:.5rem;margin-top:2rem}
.ob-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.2);transition:background .2s}
.ob-dot.active{background:var(--clr-accent,#7dd3fc)}
