:root{--bg:#16191d;--card:#22282c;--surface:#2b3236;--surface-hover:#333d40;--text:#f6f3f2;--muted:#b9bec0;--line:#485255;--blue:#58ded1;--pink:#ff8cba;--warm:#efd0da;--font:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}
html,body{min-height:100%;margin:0}
body{font-family:var(--font);color:var(--text);background:radial-gradient(circle at 15% 20%,rgba(88,222,209,.1),transparent 35%),radial-gradient(circle at 84% 82%,rgba(255,140,186,.09),transparent 30%),var(--bg);-webkit-font-smoothing:antialiased}
button,input,select{font:inherit}button{cursor:pointer}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.app-shell{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:22px}
.flow-card{width:min(100%,840px);height:min(790px,calc(100dvh - 44px));min-height:600px;display:flex;flex-direction:column;overflow:hidden;position:relative;background:var(--card);border:1px solid #515d5d;border-radius:22px;box-shadow:0 25px 75px rgba(0,0,0,.25)}
.flow-card:before{content:'';position:absolute;inset:0 0 auto auto;width:270px;height:270px;background:radial-gradient(circle,rgba(255,140,186,.08),transparent 70%);pointer-events:none}
.flow-header{height:72px;flex:none;display:flex;align-items:center;padding:0 32px;border-bottom:1px solid var(--line);background:rgba(34,40,44,.94);position:relative;z-index:1}
.brand{display:flex;align-items:center;gap:9px;font-size:10px;font-weight:800;letter-spacing:.1em;line-height:1.05;color:var(--text)}
.brand-icon{font-size:31px;letter-spacing:-.11em;line-height:1}.brand-icon span{color:var(--pink)}
.progress-track{height:4px;flex:none;background:#394346}.progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--pink));transition:width .38s ease}
.stage{min-height:0;flex:1;display:flex;overflow-y:auto;overscroll-behavior:contain;position:relative}
.stage-inner{width:min(100%,640px);margin:auto;padding:38px 24px 45px;animation:enter .38s cubic-bezier(.2,.8,.2,1) both}
.stage-inner.is-leaving{animation:leave .2s ease both}
@keyframes enter{from{opacity:0;transform:translateX(22px)}to{opacity:1;transform:translateX(0)}}
@keyframes leave{to{opacity:0;transform:translateX(-20px)}}
.intro-title,.question-title,.result-title{font-size:clamp(36px,4.6vw,55px);font-weight:800;line-height:1.1;letter-spacing:-.06em;margin:0;color:var(--text)}
.intro-title span,.result-title span{color:var(--pink)}
.intro-qualifier{max-width:570px;margin:23px 0 18px;color:var(--warm);font-size:17px;font-weight:700;line-height:1.45}
.included-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr}
.included-list li{position:relative;border-bottom:1px solid var(--line);padding:13px 0 13px 24px;font-size:15px;line-height:1.45;font-weight:600}
.included-list li:before{content:'✓';position:absolute;left:0;color:var(--blue);font-weight:800}
.question-header{margin-bottom:24px}.question-title{font-size:clamp(32px,4vw,46px)}
.question-copy{font-size:14px;line-height:1.55;color:var(--muted);margin:12px 0 0}
.choice-list{display:grid;gap:10px}
.choice{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:61px;text-align:left;background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:13px 16px;color:var(--text);transition:border-color .18s,background .18s,transform .18s}
.choice:hover{border-color:#76c9c1;background:var(--surface-hover);transform:translateY(-1px)}
.choice[aria-pressed="true"]{border-color:var(--blue);background:#29433f}
.choice-main{display:block;font-size:15px;font-weight:700;line-height:1.3}
.choice-indicator{width:21px;height:21px;flex:none;border-radius:50%;border:1.5px solid #889695;display:grid;place-items:center;color:#102323;font-size:13px;font-weight:800}
.choice[aria-pressed="true"] .choice-indicator{border-color:var(--blue);background:var(--blue)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.input-group{display:grid;gap:8px;margin:16px 0}.input-group label{font-size:12px;font-weight:800;color:var(--warm)}
.input-group input,.input-group select{width:100%;height:56px;border:1.5px solid var(--line);border-radius:10px;padding:0 15px;color:var(--text);background:var(--surface);font-size:15px;color-scheme:dark}
.input-group input::placeholder{color:#96a3a2}.input-group input:focus,.input-group select:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px rgba(88,222,209,.16)}
.privacy-note{font-size:12px;line-height:1.55;color:var(--muted);margin:16px 0 0}
.flow-footer{flex:none;min-height:82px;padding:13px 32px;background:var(--card);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;position:relative;z-index:2}
.flow-footer--intro,.flow-footer--result{justify-content:flex-end}
.back-button{background:none;border:0;padding:12px 4px;color:var(--muted);font-size:13px;font-weight:700}.back-button:hover{color:var(--text)}
.primary-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-width:220px;min-height:55px;border:0;border-radius:10px;background:var(--blue);color:#102323;font-size:14px;font-weight:800;padding:12px 22px;transition:background .18s,transform .18s}
.primary-button:hover:not(:disabled){background:#80f0e5;transform:translateY(-2px)}.primary-button:disabled{background:#455457;color:#bdc7c5;cursor:not-allowed}
.loading-inner{text-align:center}.loading-orbit{width:78px;height:78px;border:5px solid #3b484a;border-top-color:var(--blue);border-right-color:var(--pink);border-radius:50%;margin:0 auto 25px;animation:spin 1.1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.loading-inner h2{font-size:31px;line-height:1.1;letter-spacing:-.05em;margin:0}.loading-inner p{font-size:14px;line-height:1.5;color:var(--muted);margin:12px 0 0}
.result-inner{padding-top:30px}.result-back{display:block;border:0;background:none;color:var(--text);font-size:28px;line-height:1;padding:0 0 25px;text-align:left}.result-back:hover{color:var(--blue)}
.result-benefits{margin-top:26px}.result-benefits li{font-size:16px;padding:15px 0 15px 25px}
.result-price{font-size:16px;font-weight:800;color:var(--warm);margin:24px 0 0}.result-pending{font-size:12px;color:var(--muted);margin-top:8px}
.result-cta{display:flex;flex-direction:column;align-items:center;gap:7px;width:min(100%,280px)}
.result-cta-note{color:var(--warm);font-size:14px;font-weight:800;text-align:center;white-space:nowrap}
.result-cta-note span{display:inline-block;margin-left:3px;color:var(--pink);font-size:22px;line-height:.7;vertical-align:-2px}
.result-cta .primary-button{width:100%}
.notice.error{margin:18px 0 0;padding:13px 15px;background:#3a2529;border:1px solid #8e5059;border-radius:9px;color:#ffd7d7;font-size:13px;line-height:1.5}
@media(max-width:650px){body{background:var(--card)}.app-shell{display:block;padding:0;min-height:100dvh}.flow-card{width:100%;height:100dvh;min-height:0;border:0;border-radius:0;box-shadow:none}.flow-header{height:66px;padding:0 18px}.brand{font-size:9px}.brand-icon{font-size:29px}.stage-inner{padding:29px 22px 41px}.intro-title{font-size:clamp(37px,9.6vw,49px)}.intro-qualifier{font-size:16px;margin:20px 0 15px}.included-list li{font-size:14px;padding-top:11px;padding-bottom:11px}.question-title{font-size:clamp(31px,8.6vw,43px)}.question-header{margin-bottom:20px}.choice{min-height:57px;padding:11px 14px}.choice-main{font-size:14px}.form-grid{grid-template-columns:1fr;gap:0}.flow-footer{min-height:80px;padding:11px 18px calc(11px + env(safe-area-inset-bottom))}.primary-button{min-width:0;width:100%;min-height:54px}.flow-footer .back-button{width:76px;flex:none;text-align:left}.flow-footer .back-button+.primary-button{width:auto;flex:1}.result-inner{padding-top:23px}.result-title{font-size:clamp(38px,10vw,49px)}.result-benefits li{font-size:15px}}
@media(max-height:700px) and (min-width:651px){.flow-card{height:calc(100dvh - 24px);min-height:0}.app-shell{padding:12px}}
@media(prefers-reduced-motion:reduce){.stage-inner,.stage-inner.is-leaving,.loading-orbit{animation:none}.progress-fill,.choice,.primary-button{transition:none}}
@media(max-width:650px){.flow-footer--result{min-height:104px}.result-cta{width:100%}.result-cta-note{font-size:13px}}

/* Raised light-card theme shared with the free workout quiz. */
:root{--bg:#e8f2f1;--card:#fff;--surface:#f5f8f8;--surface-hover:#ecf6f5;--text:#213035;--muted:#65757a;--line:#dce5e5;--blue:#168b83;--pink:#d75d94;--warm:#344a50}
body{background:radial-gradient(circle at 14% 18%,rgba(100,217,204,.33),transparent 35%),radial-gradient(circle at 87% 78%,rgba(245,144,187,.29),transparent 35%),linear-gradient(145deg,#eaf6f4,#f8f6f8 57%,#e8eef2)}
.flow-card{border:0;border-radius:15px;background:#fff;box-shadow:0 34px 76px rgba(38,64,72,.19),0 10px 24px rgba(38,64,72,.11),0 2px 4px rgba(38,64,72,.07)}
.flow-card:before{background:radial-gradient(circle,rgba(215,93,148,.055),transparent 70%)}
.flow-header{background:#fff;border-bottom-color:var(--line)}
.progress-track{background:#e5eeee}.progress-fill{background:linear-gradient(90deg,#32b3a6,#e477a9)}
.brand-icon span{color:var(--pink)}.intro-title span,.result-title span{color:var(--pink)}
.choice{background:#f7fafa;border-color:#dce8e7;color:var(--text);box-shadow:0 2px 4px rgba(48,77,80,.035)}
.choice:hover{background:#f0f8f7;border-color:#5ebeb3}.choice[aria-pressed="true"]{background:#e5f6f2;border-color:var(--blue);box-shadow:0 0 0 2px rgba(22,139,131,.12)}
.choice-indicator{border-color:#9baead}.choice[aria-pressed="true"] .choice-indicator{color:#fff;background:var(--blue);border-color:var(--blue)}
.input-group input,.input-group select{background:#f7fafa;color:var(--text);border-color:#dce8e7;color-scheme:light}.input-group input::placeholder{color:#829296}
.input-group input:focus,.input-group select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(22,139,131,.13)}
.flow-footer{background:#fff;border-top:0}.primary-button{background:var(--blue);color:#fff;box-shadow:0 6px 12px rgba(22,139,131,.17)}.primary-button:hover:not(:disabled){background:#127970}.primary-button:disabled{background:#dce5e5;color:#8a999b;box-shadow:none}
.flow-footer--question:has(.primary-button:only-child){justify-content:flex-end}
.question-title:focus{outline:none}
.loading-orbit{border-color:#dbe9e8;border-top-color:var(--blue);border-right-color:var(--pink)}
.result-price,.result-cta-note{color:#344a50}.result-cta-note span{color:var(--pink)}.notice.error{background:#fff0f1;color:#a53c53;border-color:#e8a8b6}
@media(max-width:650px){body{background:radial-gradient(circle at 0 8%,rgba(100,217,204,.37),transparent 42%),radial-gradient(circle at 100% 95%,rgba(245,144,187,.3),transparent 45%),#edf3f3}.app-shell{padding:12px;min-height:100dvh}.flow-card{width:100%;height:calc(100dvh - 24px);min-height:0;border-radius:13px;box-shadow:0 18px 45px rgba(39,67,73,.2),0 4px 12px rgba(39,67,73,.1)}.flow-footer--question:has(.primary-button:only-child){justify-content:flex-end}.flow-footer--question:has(.primary-button:only-child) .primary-button{width:100%}}
