 :root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f5f7fa;background:#0b0f14;line-height:1.5}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#18212d 0,#0b0f14 42%);min-height:100vh}.shell{width:min(760px,100%);margin:auto;padding:22px 16px 48px}.brand{display:flex;gap:12px;align-items:center;margin:4px 0 28px}.brand-mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#fff;color:#0b0f14;font-weight:900}.brand div:last-child{display:grid}.brand span{font-size:12px;color:#9ca8b7}.card{background:rgba(20,27,36,.94);border:1px solid #263241;border-radius:22px;padding:24px;box-shadow:0 18px 60px rgba(0,0,0,.25)}.hero{padding:30px 24px}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:800;color:#9ca8b7;margin:0 0 8px}.hero h1{font-size:clamp(30px,7vw,50px);line-height:1.02;margin:0 0 16px}.hero em{font-style:normal}.hero p{color:#b9c2ce}.privacy-note{margin:20px 0;padding:13px 14px;border-radius:14px;background:#101720;color:#cbd5e1;font-size:13px}.hidden{display:none!important}.topbar{display:flex;justify-content:space-between;gap:14px;align-items:flex-end;margin:10px 2px 12px}.topbar h2{margin:0;font-size:22px}.counter{color:#9ca8b7;font-size:13px}.progress{height:7px;background:#1b2531;border-radius:99px;overflow:hidden;margin-bottom:16px}.progress span{display:block;height:100%;width:0;background:#fff;border-radius:99px;transition:width .25s ease}.question-card{min-height:330px}.question-help{color:#8f9baa;font-size:13px;margin-top:8px}.field{display:grid;gap:8px;margin:0 0 18px}.field>span,.label{font-size:14px;font-weight:700}.field input,.field textarea,.field select{touch-action:manipulation;-webkit-user-select:text;user-select:text;pointer-events:auto;width:100%;border:1px solid #344151;border-radius:13px;background:#0e151d;color:#fff;padding:13px 14px;font:inherit;outline:none;-webkit-appearance:none;appearance:none;-webkit-user-modify:read-write-plaintext-only}.field textarea{min-height:110px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:#fff}.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.choice{position:relative}.choice input{position:absolute;opacity:0}.choice span{display:block;border:1px solid #344151;border-radius:14px;padding:13px 14px;background:#0e151d;cursor:pointer;color:#d8dee7}.choice input:checked+span{border-color:#fff;background:#202b38;color:#fff}.scale{display:flex;gap:8px;margin-top:14px}.scale label{flex:1}.scale input{position:absolute;opacity:0}.scale span{display:grid;place-items:center;height:48px;border:1px solid #344151;border-radius:13px;background:#0e151d;cursor:pointer}.scale input:checked+span{border-color:#fff;background:#202b38}.actions{display:flex;gap:12px;justify-content:space-between;margin-top:14px}.actions button{flex:1}.primary,.secondary{border:0;border-radius:14px;padding:14px 18px;font-weight:800;font-size:15px;cursor:pointer}.primary{background:#fff;color:#0b0f14}.secondary{background:#1a2430;color:#fff;border:1px solid #344151}.primary:disabled{opacity:.45;cursor:not-allowed}.review-group{border-bottom:1px solid #283342;padding:16px 0}.review-group:last-child{border-bottom:0}.review-group h3{margin:0 0 10px;font-size:16px}.review-item{display:grid;grid-template-columns:1fr 1.3fr;gap:10px;padding:7px 0;font-size:13px}.review-item b{color:#98a4b3}.check{display:flex;gap:10px;align-items:flex-start;margin:14px 0;font-size:13px;color:#cbd5e1}.check input{margin-top:4px}.status{min-height:22px;text-align:center;color:#f3b6b6}.success{text-align:center;padding:42px 24px}.success-icon{width:62px;height:62px;border-radius:50%;background:#fff;color:#0b0f14;display:grid;place-items:center;font-size:30px;font-weight:900;margin:0 auto 18px}@media(max-width:560px){.choices{grid-template-columns:1fr}.question-card{min-height:360px}.review-item{grid-template-columns:1fr}.shell{padding-inline:12px}}

.wheel-wrap{display:grid;gap:10px}.wheel-title{font-size:12px;color:#9ca8b7;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.wheel-row{display:flex;gap:10px;align-items:center}.wheel-select{width:100%;min-height:54px;border:1px solid #344151;border-radius:14px;background:#0e151d;color:#fff;padding:12px 14px;font:inherit;font-size:16px;touch-action:manipulation}.wheel-select:focus{border-color:#fff;outline:none}.wheel-unit{color:#9ca8b7;font-weight:800;white-space:nowrap}.tag-box{display:grid;gap:12px}.tag-list{display:flex;flex-wrap:wrap;gap:8px;min-height:10px}.tag-chip,.suggestion{border:1px solid #465466;border-radius:999px;background:#18222d;color:#fff;padding:10px 13px;font:inherit;font-size:14px;cursor:pointer;touch-action:manipulation}.tag-chip{background:#fff;color:#0b0f14;border-color:#fff;font-weight:700}.tag-add{display:flex;gap:8px}.tag-add input{flex:1;min-width:0;border:1px solid #344151;border-radius:13px;background:#0e151d;color:#fff;padding:13px 14px;font:inherit;font-size:16px}.small-btn{flex:0 0 auto;padding-inline:16px}.suggestions{display:flex;flex-wrap:wrap;gap:8px}.suggestion{font-size:13px;color:#d8dee7}.suggestion:active,.tag-chip:active{transform:scale(.98)}@media(max-width:560px){.wheel-row{align-items:stretch}.wheel-select{min-height:58px}.tag-add{align-items:stretch}.tag-add input{font-size:16px}.small-btn{min-width:72px}}

.visual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.visual-choice{position:relative;cursor:pointer;touch-action:manipulation}.visual-choice input{position:absolute;opacity:0;pointer-events:none}.visual-choice span{min-height:76px;display:flex;flex-direction:column;justify-content:center;gap:5px;border:1px solid #344151;border-radius:16px;background:#0e151d;padding:13px;text-align:left;transition:transform .12s,border-color .12s,background .12s}.visual-choice b{font-size:23px;line-height:1}.visual-choice strong{font-size:14px;color:#e7ebf1}.visual-choice input:checked+span{border-color:#fff;background:#202b38;box-shadow:inset 0 0 0 1px #fff}.visual-choice:active span{transform:scale(.98)}.difficulty-scale{padding:8px 2px}.difficulty-scale input{width:100%;accent-color:#fff;min-height:44px}.difficulty-labels{display:flex;align-items:center;justify-content:space-between;color:#9ca8b7;font-size:13px}.difficulty-labels output{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#fff;color:#0b0f14;font-weight:900;font-size:20px}.multi-visual{margin-top:10px}@media(max-width:560px){.visual-grid{grid-template-columns:1fr 1fr}.visual-choice span{min-height:82px}.visual-choice strong{font-size:13px}}

.structured-other{width:100%;box-sizing:border-box;min-height:52px;margin-top:12px;border:1px solid #344151;border-radius:14px;background:#0e151d;color:#fff;padding:13px 14px;font:inherit;font-size:16px}.structured-other:focus{outline:none;border-color:#fff}

.review-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.review-summary>div{border:1px solid #344151;border-radius:14px;background:#0e151d;padding:13px;text-align:center}.review-summary strong{display:block;font-size:22px;line-height:1.1}.review-summary span{display:block;color:#9ca8b7;font-size:12px;margin-top:4px}.review-alert{display:grid;gap:6px;border:1px solid #5b4a2e;border-radius:16px;background:#17150f;padding:15px;margin-bottom:14px;color:#e7dfcf}.review-alert span{color:#c7bfae;font-size:13px}.review-alert .small-btn{justify-self:start;margin-top:4px}@media(max-width:560px){.review-summary{grid-template-columns:1fr 1fr}.review-summary>div:last-child{grid-column:1/-1}}

.review-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.review-summary>div{border:1px solid #344151;border-radius:14px;background:#0e151d;padding:13px;text-align:center}.review-summary strong{display:block;font-size:22px;line-height:1.1}.review-summary span{display:block;color:#9ca8b7;font-size:12px;margin-top:4px}.review-alert{display:grid;gap:6px;border:1px solid #5b4a2e;border-radius:16px;background:#17150f;padding:15px;margin-bottom:14px;color:#e7dfcf}.review-alert span{color:#c7bfae;font-size:13px}.review-alert .small-btn{justify-self:start;margin-top:4px}@media(max-width:560px){.review-summary{grid-template-columns:1fr 1fr}.review-summary>div:last-child{grid-column:1/-1}}


.resume-box{margin-top:18px;padding:18px;border:1px solid #344151;border-radius:16px;background:#0e151d}
.resume-title{font-weight:800;font-size:15px;margin-bottom:4px}
.resume-box p{color:#9ca8b7;font-size:13px;margin:6px 0 12px}
.resume-row{display:flex;gap:8px}
.resume-row input{flex:1;min-width:0;border:1px solid #344151;border-radius:13px;background:#101820;color:#fff;padding:13px 14px;font:inherit;font-size:16px;outline:none}
.resume-row input:focus{border-color:#fff}
.draft-status{min-height:18px;margin-top:10px!important}
.text-button{display:block;margin:14px auto 0;border:0;background:transparent;color:#9ca8b7;font:inherit;font-size:13px;cursor:pointer;text-decoration:underline}
.text-button:hover{color:#fff}
@media(max-width:560px){.resume-row{flex-direction:column}.resume-row .secondary{width:100%}}


.plan-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:22px 0 10px}
.plan-heading .eyebrow{margin:0}
.plan-heading strong{font-size:14px;color:#d8dee7}
.plan-picker{display:grid;gap:10px;margin:0 0 10px}
.plan-card{display:grid;grid-template-columns:44px 1fr auto;column-gap:12px;align-items:center;text-align:left;width:100%;padding:16px;border:1px solid #344151;border-radius:16px;background:#101820;color:#fff;cursor:pointer;transition:.15s ease}
.plan-card:hover,.plan-card:focus{border-color:#fff;transform:translateY(-1px);outline:none}
.plan-card span{font-size:28px;text-align:center}
.plan-card strong{display:block;font-size:16px}
.plan-card small{display:block;color:#9ca8b7;font-size:12px;margin-top:3px}
.plan-price{font-size:24px;color:#fff;white-space:nowrap}
.plan-card.featured{border-color:#728197;background:#141d27}
.plan-note{text-align:center;color:#8e9aaa;font-size:12px;margin:10px 0 0}
@media(max-width:560px){.plan-heading{align-items:flex-start;flex-direction:column;gap:3px}.plan-card{grid-template-columns:40px 1fr auto;padding:14px}.plan-price{font-size:22px}}

.length-card{max-width:760px;margin-inline:auto}
.length-intro{color:#9ca8b7;line-height:1.55;margin:0 0 18px}
.length-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.length-option{min-height:86px;border:1px solid #344151;border-radius:16px;background:#101820;color:#fff;padding:14px;text-align:left;cursor:pointer;touch-action:manipulation;transition:.15s ease}
.length-option strong{display:block;font-size:17px}
.length-option small{display:block;color:#9ca8b7;margin-top:4px;font-size:12px}
.length-option:hover,.length-option:focus{border-color:#fff;outline:none;transform:translateY(-1px)}
.length-option.selected{border-color:#fff;background:#202b38;box-shadow:inset 0 0 0 1px #fff}
.custom-length{margin-top:18px;padding-top:18px;border-top:1px solid #344151}
.custom-length-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#fff;font-weight:700}
.custom-length-head output{font-size:20px}
.custom-length input{width:100%;min-height:44px;accent-color:#fff;margin-top:8px}
.range-labels{display:flex;justify-content:space-between;color:#8e9aaa;font-size:12px}
.length-note{margin-top:16px;padding:13px 14px;border:1px solid #344151;border-radius:14px;background:#0e151d;color:#cfd6df}
.length-note strong{color:#fff}
.not-sure{display:block;margin:14px auto 0;border:0;background:transparent;color:#9ca8b7;font:inherit;font-size:13px;text-decoration:underline;cursor:pointer;padding:8px}
.not-sure:hover{color:#fff}
@media(max-width:560px){.length-options{grid-template-columns:1fr 1fr}.length-option{min-height:82px}.custom-length-head{align-items:flex-start}}


.length-hero{margin:10px 2px 18px;padding:30px 24px;border:1px solid #465466;border-radius:22px;background:linear-gradient(180deg,rgba(31,43,56,.98),rgba(20,27,36,.94));box-shadow:0 18px 60px rgba(0,0,0,.25)}
.length-hero h1{font-size:clamp(32px,7vw,48px);line-height:1.04;margin:0 0 12px}
.length-hero p{max-width:620px;color:#c3ccd7;margin:0;font-size:15px}
.length-plan-badge{display:inline-flex;align-items:center;margin-top:20px;padding:10px 14px;border:1px solid #59697d;border-radius:999px;background:#0e151d;color:#fff;font-weight:800;font-size:13px}
.length-card{border-color:#465466;box-shadow:0 18px 60px rgba(0,0,0,.3)}
.length-options{gap:12px}
.length-option{min-height:100px;padding:18px;border-width:2px}
.length-option strong{font-size:20px}
.length-option small{font-size:13px;margin-top:6px}
@media(max-width:560px){.length-hero{padding:24px 18px}.length-option{min-height:92px}}



.payment-summary{margin:18px 0 12px;padding:14px 16px;border:1px solid #344151;border-radius:14px;background:#101820;font-weight:700;text-align:center}
.payment-btn{width:100%;margin-top:4px}
.success-detail{margin-top:10px}
.processing-note{margin-top:16px;padding:12px 14px;border-radius:12px;background:#111923;color:#aeb8c6;font-size:13px;line-height:1.5}

.calculated-age{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0;padding:12px 14px;border:1px solid rgba(242,193,78,.45);border-radius:12px;background:rgba(242,193,78,.08)}
.calculated-age-label{font-size:.85rem;opacity:.78}.calculated-age strong{font-size:1rem;color:#f2c14e}


/* Questionnaire flow polish */
.section-progress{display:flex;gap:6px;margin:0 2px 10px;align-items:center}
.section-step{height:4px;flex:1;min-width:0;border-radius:999px;background:#273240;transition:background .2s ease,transform .2s ease}
.section-step.active{background:#fff;transform:scaleY(1.35)}
.section-step.complete{background:#718096}
.question-card{animation:question-in .2s ease both}
@keyframes question-in{from{opacity:.55;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.actions button:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:560px){.section-progress{gap:4px;margin-bottom:8px}.section-step{height:3px}}
