/* ============================================================
 * onboarding.css — Onboarding flow, streak nudge,
 *                  finish screen, subscription modal
 * ============================================================ */

/* ONBOARDING */
.onboard-screen{position:fixed;inset:0;background:#1a1917;z-index:2000;display:flex;flex-direction:column;padding:env(safe-area-inset-top,40px) 28px 40px;}
.onboard-screen.hidden{display:none;}
.ob-step{display:none;flex-direction:column;flex:1;}
.ob-step.active{display:flex;}
.ob-logo{font-size:14px;font-weight:700;letter-spacing:.1em;color:rgba(255,255,255,.35);margin-bottom:auto;}
.ob-progress{display:flex;gap:6px;margin-bottom:32px;}
.ob-dot{height:3px;flex:1;background:rgba(255,255,255,.2);border-radius:2px;transition:background .3s;}
.ob-dot.done{background:#fff;}
.ob-eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:12px;}
.ob-title{font-size:36px;font-weight:700;color:#fff;line-height:1.05;letter-spacing:-.03em;margin-bottom:10px;}
.ob-sub{font-size:15px;color:rgba(255,255,255,.5);line-height:1.6;margin-bottom:32px;}
.ob-options{display:flex;flex-direction:column;gap:10px;margin-bottom:auto;}
.ob-option{background:rgba(255,255,255,.07);border:1.5px solid rgba(255,255,255,.1);border-radius:14px;padding:16px 18px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:14px;}
.ob-option:active{transform:scale(.98);}
.ob-option.selected{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.5);}
.ob-option-icon{font-size:22px;width:36px;text-align:center;flex-shrink:0;}
.ob-option-text{}
.ob-option-title{font-size:15px;font-weight:600;color:#fff;margin-bottom:2px;}
.ob-option-desc{font-size:12px;color:rgba(255,255,255,.45);}
.ob-next{background:#fff;color:#1a1917;border:none;border-radius:14px;padding:16px;font-family:'Inter',sans-serif;font-size:15px;font-weight:700;cursor:pointer;margin-top:24px;width:100%;transition:opacity .2s;}
.ob-next:disabled{opacity:.35;cursor:default;}
.ob-skip{background:transparent;border:none;color:rgba(255,255,255,.3);font-family:'Inter',sans-serif;font-size:13px;cursor:pointer;padding:10px;text-align:center;margin-top:8px;}
.ob-recommendation{background:rgba(255,255,255,.07);border:1.5px solid rgba(255,255,255,.15);border-radius:16px;padding:20px;margin-bottom:20px;}
.ob-rec-label{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:8px;}
.ob-rec-name{font-size:20px;font-weight:700;color:#fff;margin-bottom:6px;letter-spacing:-.02em;}
.ob-rec-meta{font-size:13px;color:rgba(255,255,255,.5);line-height:1.6;}
.ob-rec-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;}
.ob-rec-chip{font-size:11px;font-weight:600;background:rgba(255,255,255,.1);color:rgba(255,255,255,.7);padding:4px 10px;border-radius:20px;}
/* STREAK NUDGE */
.streak-nudge{display:none;position:fixed;inset:0;background:#1a1917;z-index:1500;flex-direction:column;align-items:center;justify-content:center;padding:40px 28px;text-align:center;}
.streak-nudge.visible{display:flex;}
.sn-flame{font-size:64px;margin-bottom:16px;}
.sn-streak-num{font-family:'Inter',sans-serif;font-size:80px;font-weight:800;color:#fff;line-height:1;letter-spacing:-.04em;}
.sn-streak-lbl{font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:20px;}
.sn-message{font-size:20px;font-weight:700;color:#fff;line-height:1.3;margin-bottom:8px;letter-spacing:-.02em;}
.sn-sub{font-size:14px;color:rgba(255,255,255,.45);line-height:1.6;margin-bottom:36px;max-width:280px;}
.sn-cta{width:100%;background:#fff;color:#1a1917;border:none;border-radius:14px;padding:17px;font-family:'Inter',sans-serif;font-size:16px;font-weight:700;cursor:pointer;margin-bottom:12px;max-width:340px;}
.sn-skip{background:transparent;border:none;color:rgba(255,255,255,.3);font-family:'Inter',sans-serif;font-size:13px;cursor:pointer;padding:8px;}
/* FINISH SCREEN */
.finish-screen{display:none;position:fixed;inset:0;background:#1a1917;z-index:1500;flex-direction:column;overflow-y:auto;}
.finish-screen.visible{display:flex;}
.fs-header{padding:env(safe-area-inset-top,40px) 28px 0;display:flex;justify-content:space-between;align-items:flex-start;}
.fs-close{background:rgba(255,255,255,.1);border:none;color:#fff;width:36px;height:36px;border-radius:50%;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.fs-body{padding:24px 28px 40px;flex:1;}
.fs-eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:8px;}
.fs-title{font-size:42px;font-weight:800;color:#fff;line-height:.95;letter-spacing:-.03em;margin-bottom:24px;}
.fs-stat-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px;}
.fs-stat{background:rgba(255,255,255,.07);border-radius:14px;padding:16px;}
.fs-stat-val{font-size:32px;font-weight:700;color:#fff;line-height:1;margin-bottom:3px;}
.fs-stat-lbl{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.4);}
.fs-prs{margin-bottom:24px;}
.fs-prs-title{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:10px;}
.fs-pr-row{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:rgba(255,255,255,.07);border-radius:10px;margin-bottom:6px;}
.fs-pr-name{font-size:13px;font-weight:600;color:#fff;}
.fs-pr-val{font-size:13px;font-weight:700;color:#f0efe9;}
.fs-share-btn{width:100%;background:#fff;color:#1a1917;border:none;border-radius:14px;padding:16px;font-family:'Inter',sans-serif;font-size:15px;font-weight:700;cursor:pointer;margin-bottom:10px;}
.fs-done-btn{width:100%;background:rgba(255,255,255,.1);color:#fff;border:none;border-radius:14px;padding:15px;font-family:'Inter',sans-serif;font-size:14px;font-weight:600;cursor:pointer;}
/* SUBSCRIPTION MODAL */
.sub-modal-bg{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:1000;align-items:flex-end;}
.sub-modal-bg.visible{display:flex;}
.sub-sheet{background:#1a1917;border-radius:24px 24px 0 0;width:100%;padding:28px 24px env(safe-area-inset-bottom,28px);text-align:center;}
.sub-handle{width:40px;height:4px;background:rgba(255,255,255,.15);border-radius:2px;margin:0 auto 20px;}
.sub-crown{font-size:36px;margin-bottom:12px;}
.sub-title{font-size:26px;font-weight:800;color:#fff;letter-spacing:-.03em;margin-bottom:6px;}
.sub-sub{font-size:14px;color:rgba(255,255,255,.5);line-height:1.6;margin-bottom:24px;max-width:300px;margin-left:auto;margin-right:auto;}
.sub-features{text-align:left;margin-bottom:24px;}
.sub-feature{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:.5px solid rgba(255,255,255,.08);}
.sub-feature:last-child{border-bottom:none;}
.sub-feat-check{width:22px;height:22px;border-radius:6px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px;}
.sub-feat-text{font-size:14px;font-weight:500;color:#fff;}
.sub-feat-text span{font-size:12px;color:rgba(255,255,255,.4);display:block;margin-top:1px;}
.sub-price-row{display:flex;gap:8px;margin-bottom:16px;}
.sub-plan{flex:1;border:2px solid rgba(255,255,255,.15);border-radius:14px;padding:14px 10px;cursor:pointer;transition:all .2s;}
.sub-plan.selected{border-color:#fff;background:rgba(255,255,255,.08);}
.sub-plan-name{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:4px;}
.sub-plan-price{font-size:22px;font-weight:800;color:#fff;line-height:1;}
.sub-plan-per{font-size:10px;color:rgba(255,255,255,.4);margin-top:2px;}
.sub-plan-badge{font-size:9px;font-weight:700;background:#fff;color:#1a1917;padding:2px 6px;border-radius:4px;margin-top:4px;display:inline-block;}
.sub-cta{width:100%;background:#fff;color:#1a1917;border:none;border-radius:14px;padding:17px;font-family:'Inter',sans-serif;font-size:16px;font-weight:700;cursor:pointer;margin-bottom:10px;}
.sub-fine{font-size:11px;color:rgba(255,255,255,.3);line-height:1.5;margin-bottom:8px;}
.sub-close-btn{background:transparent;border:none;color:rgba(255,255,255,.3);font-family:'Inter',sans-serif;font-size:13px;cursor:pointer;padding:6px;}