:root{
  --bg:#000000; --text:#F5F5F7; --muted:#9A9AA8; --muted-2:#6E6E7C;
  --glass-fill:rgba(255,255,255,.05);
  --glass-sheen:linear-gradient(to bottom,rgba(255,255,255,.16),rgba(255,255,255,.02));
  --glass-border:rgba(255,255,255,.16);
  --glass-blur:blur(22px) saturate(120%);
  --inset:inset 0 1px 0 rgba(255,255,255,.16);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
button{font-family:inherit}
::selection{background:#fff;color:#000}

#app{max-width:460px;margin:0 auto;min-height:100dvh;position:relative;display:flex;flex-direction:column;
  background:radial-gradient(ellipse 90% 50% at 50% 0%,rgba(255,255,255,.06),transparent 60%),var(--bg);overflow:hidden}

/* top bar */
.top{display:flex;align-items:center;gap:14px;padding:18px 22px 4px;min-height:46px}
.top.hide{visibility:hidden}
.back{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid var(--glass-border);
  display:flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto;transition:.15s}
.back:hover{background:rgba(255,255,255,.12)}
.back.invisible{visibility:hidden;pointer-events:none}
.back svg{width:15px;height:15px;stroke:#fff;fill:none;stroke-width:2.4}
.prog{flex:1;height:5px;border-radius:999px;background:rgba(255,255,255,.09);overflow:hidden}
.prog>i{display:block;height:100%;width:0;border-radius:999px;background:#fff;transition:width .45s cubic-bezier(.16,1,.3,1)}
.prog.hide{visibility:hidden}

/* screen */
.screen{flex:1;display:flex;flex-direction:column;padding:14px 24px 26px;overflow-y:auto;animation:fade .4s ease}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
h1{font-size:30px;font-weight:800;letter-spacing:-.03em;line-height:1.14;margin-bottom:10px}
.help{color:var(--muted);font-size:15px;line-height:1.5;margin-bottom:24px}
.spacer{flex:1}

/* options */
.opts{display:flex;flex-direction:column;gap:11px}
.opt{display:flex;align-items:center;gap:13px;padding:16px;border-radius:16px;background:var(--glass-fill);background-image:var(--glass-sheen);
  border:1px solid var(--glass-border);cursor:pointer;transition:.15s;font-size:15.5px;font-weight:600;box-shadow:var(--inset)}
.opt:hover{background-color:rgba(255,255,255,.09)}
.opt.sel{border-color:rgba(255,255,255,.9);background-color:rgba(255,255,255,.12)}
.opt .ic{width:24px;height:24px;flex:0 0 auto;display:flex;align-items:center;justify-content:center}
.opt .ic svg{width:21px;height:21px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.opt .nm{flex:1}
.opt .dot{width:22px;height:22px;border-radius:50%;border:2px solid #3a3a48;flex:0 0 auto;position:relative;transition:.15s}
.opt.multi .dot{border-radius:7px}
.opt.sel .dot{border-color:#fff;background:#fff}
.opt.sel .dot::after{content:'';position:absolute;inset:5px;border-radius:50%;background:#000}
.opt.multi.sel .dot::after{content:'\2713';inset:0;display:flex;align-items:center;justify-content:center;background:none;color:#000;font-size:13px;font-weight:800}

/* text input */
.field{width:100%;padding:16px;border-radius:14px;background:var(--glass-fill);border:1px solid var(--glass-border);color:#fff;font-size:16px;font-family:inherit}
.field::placeholder{color:var(--muted-2)}

/* time pills */
.pills{display:flex;flex-direction:column;gap:11px}

/* CTA */
.cta{padding-top:18px}
.btn{display:block;width:100%;border:none;padding:17px;border-radius:999px;font-size:16px;font-weight:700;cursor:pointer;transition:.18s;text-align:center;text-decoration:none}
.btn.primary{background:#fff;color:#000}
.btn.primary:hover{transform:translateY(-1px)}
.btn.glass{background:var(--glass-fill);background-image:var(--glass-sheen);border:1px solid var(--glass-border);color:#fff;box-shadow:var(--inset)}
.btn.glass:hover{background-color:rgba(255,255,255,.1)}
.btn:disabled{opacity:.35;cursor:not-allowed;transform:none}
.skip{display:block;width:100%;text-align:center;color:var(--muted);font-size:14px;font-weight:600;margin-top:14px;cursor:pointer;background:none;border:none}
.sub-link{text-align:center;color:var(--muted);font-size:14px;margin-top:16px}
.sub-link b{color:#fff}

/* welcome */
.center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.mark{display:flex;gap:6px;align-items:flex-end;height:50px;justify-content:center;margin-bottom:26px}
.mark i{width:8px;border-radius:999px;background:#fff}
.eyebrow{display:inline-flex;align-self:center;align-items:center;gap:7px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.08);border:1px solid var(--glass-border);padding:6px 13px;border-radius:999px;margin-bottom:22px}
.eyebrow .d{width:6px;height:6px;border-radius:50%;background:#fff}
h1.big{font-size:34px}

/* glass card */
.gcard{background:var(--glass-fill);background-image:var(--glass-sheen);border:1px solid var(--glass-border);border-radius:18px;box-shadow:var(--inset);padding:18px}

/* proof chart */
.chart-wrap{margin:10px 0 4px}
.legend{display:flex;gap:18px;justify-content:center;margin-top:12px;font-size:12px;color:var(--muted)}
.legend i{display:inline-block;width:14px;height:3px;border-radius:2px;margin-right:6px;vertical-align:middle}

/* record */
.prompt{background:var(--glass-fill);border:1px solid var(--glass-border);border-radius:16px;padding:18px 20px;font-size:16px;font-weight:600;line-height:1.4;margin-bottom:28px;text-align:center}
.prompt span{display:block;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}
.lwave{display:flex;align-items:center;justify-content:center;gap:4px;height:90px;margin-bottom:16px}
.lwave i{width:5px;border-radius:999px;background:#fff;height:14px}
.recording .lwave i{animation:bounce 1s ease-in-out infinite}
@keyframes bounce{0%,100%{height:14px}50%{height:var(--h,60px)}}
.timer{text-align:center;font-size:40px;font-weight:800;letter-spacing:-.02em}
.timer-sub{text-align:center;color:var(--muted);font-size:13px;margin-top:4px}
.mic{width:78px;height:78px;border-radius:50%;background:#fff;border:none;cursor:pointer;margin:22px auto 0;display:flex;align-items:center;justify-content:center;transition:.18s}
.mic:hover{transform:scale(1.05)}
.mic svg{width:32px;height:32px;fill:#000}
.recording .mic{border-radius:24px}
.recording .mic svg{display:none}
.recording .mic::after{content:'';width:26px;height:26px;border-radius:6px;background:#000}

/* analyzing */
.pctbig{font-size:66px;font-weight:800;letter-spacing:-.03em;text-align:center;color:#fff;margin-bottom:6px}
.ana-title{text-align:center;font-size:19px;font-weight:700;margin-bottom:8px}
.ana-sub{text-align:center;color:var(--muted);font-size:13px;margin-bottom:30px}
.metric{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.metric .ml{font-size:13.5px;width:110px;flex:0 0 auto;color:#c7c7d0;font-weight:600}
.metric .mt{flex:1;height:7px;border-radius:999px;background:rgba(255,255,255,.09);overflow:hidden}
.metric .mt>i{display:block;height:100%;width:0;border-radius:999px;background:#fff;transition:width .8s cubic-bezier(.16,1,.3,1)}
.metric .mv{width:30px;text-align:right;font-size:13px;color:var(--muted)}

/* report */
.report h1{text-align:center;margin-bottom:4px}
.report .help{text-align:center}
.ring{position:relative;width:170px;height:170px;margin:8px auto 6px}
.ring .v{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ring .v b{font-size:52px;font-weight:800;letter-spacing:-.02em}
.ring .v s{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-decoration:none}
.rm{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.rm .rl{font-size:13.5px;width:104px;flex:0 0 auto;font-weight:600;color:#c7c7d0}
.rm .rt{flex:1;height:7px;border-radius:999px;background:rgba(255,255,255,.09);overflow:hidden}
.rm .rt>i{display:block;height:100%;border-radius:999px;background:#fff}
.rm .rv{width:28px;text-align:right;font-size:12.5px;color:var(--muted)}
.callout{margin-top:18px}
.callout .lbl{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.callout p{font-size:14.5px;line-height:1.5}
.transcript{margin-top:8px;font-size:13px;color:#c7c7d0;line-height:1.6;max-height:150px;overflow-y:auto}
.transcript mark{background:rgba(255,255,255,.20);color:#fff;border-radius:4px;padding:0 3px}

/* paywall */
.ticket{background:radial-gradient(120% 90% at 50% 0%,#17171b,#0a0a0c 75%);border:1px solid var(--glass-border);border-radius:22px;padding:26px 22px;text-align:center;margin:6px 0 16px}
.ticket .big{font-size:52px;font-weight:800;color:#fff;letter-spacing:-.02em}
.ticket .small{color:var(--muted);font-size:13px}
.feat{display:flex;align-items:center;gap:11px;font-size:14.5px;margin-bottom:12px;font-weight:600}
.feat .c{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex:0 0 auto}
.legal{text-align:center;color:var(--muted-2);font-size:11px;margin-top:12px}

/* home */
.home-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.home-head .hi{font-size:22px;font-weight:800;letter-spacing:-.02em}
.home-head .streak{font-size:12px;color:var(--muted);background:var(--glass-fill);border:1px solid var(--glass-border);padding:6px 11px;border-radius:999px}
.scorecard{display:flex;align-items:center;gap:18px;padding:20px;margin-bottom:14px}
.scorecard .num{font-size:46px;font-weight:800;letter-spacing:-.02em}
.scorecard .lbl{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.scorecard .delta{font-size:13px;color:var(--muted);margin-top:4px}
.plan-title{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:18px 0 10px}
.review-note{background:var(--glass-fill);border:1px solid var(--glass-border);border-radius:16px;padding:16px;text-align:center;margin:6px 0 16px}
.review-note .stars{font-size:20px;letter-spacing:3px;margin-bottom:8px}
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);background:rgba(20,20,24,.95);border:1px solid var(--glass-border);color:#fff;padding:12px 18px;border-radius:999px;font-size:13px;font-weight:600;z-index:50}
.switch{width:48px;height:28px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid var(--glass-border);position:relative;cursor:pointer;flex:0 0 auto;transition:.2s}
.switch::after{content:"";position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:#fff;transition:.2s}
.switch.on{background:#fff}
.switch.on::after{left:23px;background:#000}
