/* Calm tinted canvas, readable white surfaces, one blue accent. */
:root{--product-canvas:#f0f3f9;--product-shadow:0 16px 45px -30px #233a6650;--product-ease:cubic-bezier(.23,1,.32,1)}
.quiz-page,body:has(.member-main){background-color:var(--product-canvas);background-image:radial-gradient(ellipse 800px 520px at 8% 0%,#dfe8ff9e,transparent 75%),radial-gradient(ellipse 700px 600px at 100% 55%,#e6e8f780,transparent 75%);background-attachment:fixed}
body:not(.quiz-page):not(:has(.member-main)){background-color:#f4f6fb}
.quiz-header,.member-header{background:transparent}
.questionnaire-page .quiz-main{width:min(690px,calc(100% - 40px));background:#fff;border:1px solid #ffffff;border-radius:22px;padding:30px 34px;margin:16px auto 40px;box-shadow:var(--product-shadow)}
.questionnaire-page{padding-bottom:108px}
.questionnaire-page .quiz-actions{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;align-items:center;justify-content:flex-end;gap:20px;flex-wrap:nowrap;width:100%;margin:0;border-top:1px solid #d9dfe9;background:#fdfdff;padding:14px max(24px,calc((100vw - 620px)/2)) calc(14px + env(safe-area-inset-bottom));box-shadow:0 -8px 28px -20px #253b6760;min-height:82px}
.questionnaire-page .quiz-actions .quiz-next{min-height:52px;min-width:235px;width:auto;flex:none;margin:0;font-size:16px;padding:12px 24px}
.questionnaire-page .quiz-selection-hint{font-size:14px;max-width:270px!important;line-height:1.5;margin:0 auto 0 0;order:0!important;width:auto!important;text-align:left!important;color:#444}
.quiz-action-context{font-size:14px;color:#333;line-height:1.5;margin-right:auto;max-width:230px}
.questionnaire-page .quiz-actions:has(.quiz-selection-hint:not([hidden])) .quiz-action-context{display:none}
.questionnaire-page .evidence-section{margin-top:25px}
.questionnaire-page .evidence-intro{font-size:15px}
.questionnaire-page .evidence-drop{position:relative;border:2px dashed #a9baf0;background:#edf2ff;color:#222;padding:23px;border-radius:14px;text-align:center}
.questionnaire-page .evidence-drop-title{color:#222;font-size:18px;margin-bottom:15px}
.questionnaire-page .evidence-drop-title:before{content:'';display:block;width:30px;height:34px;border:2px solid #345cff;border-radius:5px;background:linear-gradient(#345cff,#345cff) 7px 13px/12px 2px no-repeat,linear-gradient(#345cff,#345cff) 7px 20px/12px 2px no-repeat;margin:0 auto 15px}
.questionnaire-page .evidence-pick{background:#345cff;color:white;min-height:48px;border:0;border-radius:9px;font-size:16px;padding:11px 24px;width:auto}
.questionnaire-page .evidence-pick:hover{background:#2449e0;color:#fff}
.questionnaire-page .evidence-pick:focus-visible{outline:3px solid #345cff;outline-offset:4px}
.questionnaire-page .evidence-drop>p{color:#424b60;font-size:13px;margin-top:14px;line-height:1.5}
.questionnaire-page .evidence-drag-hint{display:block;color:#424b60;font-size:14px;margin:11px 0 0}
.questionnaire-page .evidence-drop.is-dragging{background:#dce6ff;border-color:#345cff;outline:none}
.questionnaire-page .evidence-local-note{font-size:13px;color:#505768;line-height:1.6}
.questionnaire-page .quiz-assurance{font-size:13px;margin-top:24px}
.profile-main>.space-card,.profile-main .quiz-recap,.profile-main .case-overview,.module-card{box-shadow:var(--product-shadow)}
.profile-next{background:#fff;box-shadow:var(--product-shadow);border-color:#dce2ef}
/* Sign-in explains what the account is for before asking for an e-mail. */
.auth-page .otp-main{width:min(950px,calc(100% - 64px));margin:28px auto 45px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,425px);column-gap:65px;align-items:start;flex:1}
.auth-page .otp-intro{grid-column:1/-1;text-align:left;margin:0 0 24px}
.auth-purpose{padding:20px 0 0;grid-column:1;grid-row:2/5}
.auth-purpose-mark{width:56px;height:56px;display:grid;place-items:center;background:#dfe7ff;border:1px solid #d1dcfa;border-radius:16px;margin-bottom:24px}
.auth-purpose h2{font-size:38px;font-weight:650;line-height:1.15;letter-spacing:-1.2px;color:#222;text-wrap:balance}
.auth-purpose>p{font-size:17px;line-height:1.7;color:#424857;margin-top:20px;max-width:365px}
.auth-purpose-card{margin-top:30px;padding:23px;background:#e1e9fb;border:1px solid #d2dcf1;border-radius:15px;box-shadow:0 10px 25px -22px #22407755;max-width:365px}
.auth-purpose-status{display:block;font-size:11px;font-weight:650;letter-spacing:1.2px;color:#3c507e;margin-bottom:11px}
.auth-purpose-card strong{font-size:19px;font-weight:600;letter-spacing:-.4px;color:#222}
.auth-purpose-card ul{list-style:none;padding:0;margin:17px 0 0;display:grid;gap:11px}
.auth-purpose-card li{font-size:15px;color:#3b465d;padding-left:17px;position:relative;line-height:1.5}
.auth-purpose-card li:before{content:'';position:absolute;left:0;top:8px;width:5px;height:5px;border-radius:50%;background:#345cff}
.auth-page .otp-card{grid-column:2;padding:29px 28px;border:1px solid #e0e5ee;background:#fff;border-radius:20px;box-shadow:0 18px 50px -30px #253b6766}
.auth-page .otp-card h1{font-size:29px;line-height:1.15;letter-spacing:-.9px;text-align:left}
.auth-page .otp-card .account-subtitle{font-size:16px;line-height:1.6;margin-top:14px;color:#444}
.auth-page .otp-card .contact-field-hint{font-size:14px;line-height:1.5;margin-top:10px}
.auth-page .otp-card .account-footnote{font-size:13px;line-height:1.6;margin-top:20px;padding-top:17px}
.auth-page .otp-back,.auth-page .otp-local-note{grid-column:2;margin-top:18px}
.auth-page .otp-local-note{font-size:13px;line-height:1.6;max-width:370px}
.auth-page .draft-chip{font-size:14px;line-height:1.5;padding:12px 14px;background:#edf2ff;border:1px solid #dce5fd;color:#2a4389}
.auth-page .google-signin{border-color:#c8cfdc;color:#222;font-size:16px;background:#fff}
.auth-page .otp-label{font-size:16px;color:#222}
/* One compact offer. Native dialog retains keyboard, focus and Escape behavior. */
.plans-dialog{width:min(420px,calc(100% - 32px));max-height:calc(100dvh - 32px);border:1px solid #e1e5ef;border-radius:20px;background:#fff;box-shadow:0 24px 80px -25px #13234770;padding:0;opacity:0;transform:translateY(8px) scale(.97);transition:opacity 200ms var(--product-ease),transform 200ms var(--product-ease),display 200ms allow-discrete,overlay 200ms allow-discrete}
.plans-dialog[open]{animation:none;opacity:1;transform:translateY(0) scale(1)}
.plans-dialog::backdrop{backdrop-filter:none;background:#18284070;opacity:0;transition:opacity 200ms var(--product-ease),display 200ms allow-discrete,overlay 200ms allow-discrete}
.plans-dialog[open]::backdrop{opacity:1}
@starting-style{.plans-dialog[open]{opacity:0;transform:translateY(8px) scale(.97)}.plans-dialog[open]::backdrop{opacity:0}}
.plans-shell{padding:20px 22px 18px;background:#fff}
.plans-top{align-items:center}.plans-brand{font-size:22px}.plans-brand>img{width:24px;height:24px}
.plans-close{position:static;width:auto;height:auto;min-height:36px;padding:6px 9px;font:500 13px var(--font);color:#444;border:0;background:#f3f4f7;border-radius:7px}
.plans-intro{margin:22px 0 18px;text-align:left}
.plans-intro h2{font-size:27px;line-height:1.15;letter-spacing:-.8px;margin:0;text-align:left}
.plans-intro>p{font-size:15px;line-height:1.55;color:#444;max-width:none;margin:10px 0 0;text-align:left}
.plan-card.plan-essential{border:1px solid #d9e2fb;background:#f4f7ff;border-radius:13px;padding:18px;box-shadow:none;display:block}
.offer-price-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.offer-label{font-size:10px;font-weight:650;letter-spacing:.8px;color:#485a85}
.plan-card h3{font-size:23px;font-weight:650;margin:5px 0 0;color:#222;letter-spacing:-.5px}
.plan-price{display:block;margin:0;text-align:right;flex-shrink:0}
.plan-price strong,.plan-essential .plan-price strong{font-size:46px;color:#345cff;line-height:1;letter-spacing:-2px}
.plan-price strong>span{font-size:25px;letter-spacing:-1px}
.plan-price>span{display:block;font-size:12px;line-height:1.5;margin-top:6px;max-width:none;color:#50596a}
.plan-features{margin:18px 0 0;padding:16px 0 0;border-top:1px solid #dbe3f4;gap:10px}
.plan-features li{font-size:14px;line-height:1.5;color:#28344e;padding-left:17px}
.plan-features li:before{border-color:#345cff;left:1px;top:6px;width:7px;height:4px}
.offer-bonus{font-size:12px;line-height:1.6;color:#50596a;margin-top:15px}
.plan-choose.button{margin-top:19px;min-height:49px;font-size:15px;line-height:1.4;border-radius:9px;background:#345cff;box-shadow:0 5px 14px -8px #345cffb3;transition:transform 140ms var(--product-ease),background-color 140ms ease;padding:12px 13px}
.plan-choose.button:active:not(:disabled){transform:scale(.98)}
.plans-footer{font-size:12px;line-height:1.5;color:#50596a;margin-top:14px}
.plans-selection{margin-top:14px;padding:10px 12px}.plans-selection p{font-size:13px;line-height:1.5}
@media(hover:hover) and (pointer:fine){.plan-choose.button:hover:not(:disabled){background:#2449e1;transform:translateY(-1px)}}
@media(max-width:700px){
 .questionnaire-page .quiz-main{width:calc(100% - 28px);padding:23px 20px;border-radius:18px;margin:10px auto 24px}
 .questionnaire-page .quiz-header{padding:20px}.questionnaire-page .quiz-actions{padding:12px 20px calc(12px + env(safe-area-inset-bottom));gap:10px;min-height:80px;flex-wrap:wrap}
 .questionnaire-page .quiz-actions .quiz-next{width:100%;min-width:0;min-height:52px;font-size:16px}
 .questionnaire-page .quiz-selection-hint,.questionnaire-page .quiz-action-context{display:none}
 .questionnaire-page{padding-bottom:92px}.questionnaire-page .evidence-drop{padding:22px 16px}
 .questionnaire-page .evidence-pick{width:100%}.questionnaire-page .evidence-drag-hint{display:none}
 .questionnaire-page .quiz-panel h1{font-size:31px}.questionnaire-page .quiz-description{font-size:16px}
 .auth-page .otp-main{width:calc(100% - 36px);max-width:440px;display:flex;flex-direction:column;gap:0;margin:10px auto 30px}
 .auth-page .otp-intro{margin:0 3px 16px}.auth-page .otp-intro .quiz-kicker{font-size:10px;line-height:1.5}
 .auth-purpose{display:none}.auth-page .otp-card{width:100%;padding:27px 23px;border-radius:19px;border-color:#d9e0ef}
 .auth-page .otp-card h1{font-size:29px;line-height:1.15}.auth-page .otp-card .account-subtitle{font-size:16px;line-height:1.6}
 .auth-page .otp-card .quiz-contact-field>label{font-size:16px}.auth-page .otp-back{margin:18px auto 0}.auth-page .otp-local-note{margin:0 auto;font-size:13px}
 .plans-dialog{width:calc(100% - 32px);max-width:420px;max-height:calc(100dvh - 32px);border-radius:18px}
 .plans-shell{padding:18px}.plans-intro{margin:20px 0 17px}.plans-intro h2{font-size:26px}.plans-intro>p{font-size:15px;max-width:none;margin:10px 0 0}
 .plan-card.plan-essential{padding:17px}.plan-card h3{font-size:22px}.plan-price strong{font-size:44px}.plan-price>span{font-size:12px}.plan-features li{font-size:14px}.plan-features{gap:10px}
 .offer-bonus{font-size:12px}.plan-choose.button{font-size:15px;min-height:50px;margin-top:18px}.plans-footer{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.plans-dialog,.plans-dialog::backdrop{transition:opacity 120ms ease,display 120ms allow-discrete,overlay 120ms allow-discrete;transform:none}.plans-dialog[open]{transform:none}@starting-style{.plans-dialog[open]{opacity:0;transform:none}}.plan-choose.button,.plan-choose.button:hover,.plan-choose.button:active{transform:none;transition:background-color 120ms ease}}
.questionnaire-page .quiz-selection-hint[data-error="true"]{display:block!important;max-width:none!important;width:100%!important;color:#a12c22;font-size:14px;line-height:1.5}
.questionnaire-page:has(.quiz-selection-hint[data-error="true"]){padding-bottom:150px}
.questionnaire-page .quiz-actions .quiz-next:disabled{background:#dce5ff;color:#314b92;border-color:#cbd7f4;opacity:1;box-shadow:none}
