:root{--purple-deep: #4A1D96;--purple-brand: #5B2DB5;--violet: #6D46FC;--violet-light: #8B6FFF;--navy-dark: #1E0A5C;--navy-deeper: #130738;--blue-electric: #3B82F6;--green-emerald: #10B981;--amber: #F59E0B;--coral: #F97316;--cta-green: #15803D;--cta-green-hover: #166534;--white: #FFFFFF;--gray-50: #F8FAFC;--gray-100: #F1F5F9;--gray-200: #E2E8F0;--gray-300: #CBD5E1;--gray-400: #94A3B8;--gray-500: #64748B;--gray-600: #475569;--gray-700: #334155;--gray-800: #1E293B;--gray-900: #0F172A;--font-sans: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif: "DM Serif Display", Georgia, serif;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.07), 0 2px 4px -2px rgba(0,0,0,.05);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.08), 0 4px 6px -4px rgba(0,0,0,.04);--shadow-xl: 0 20px 25px -5px rgba(0,0,0,.08), 0 8px 10px -6px rgba(0,0,0,.04);--shadow-glow: 0 0 40px rgba(109, 70, 252, .15);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-pill: 50px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);color:var(--gray-800);line-height:1.6;background-color:#ebe5ff;overflow:auto;height:100vh;height:100dvh}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}button{cursor:pointer;border:none;background:none;font-family:inherit}.page{display:flex;flex-direction:column;height:100vh;height:100dvh;position:relative}.setup-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(180deg,#ebe5ff,#f8fafc,#fff);overflow:hidden}.setup-mesh-orb{position:absolute;border-radius:50%;filter:blur(80px);will-change:transform}.setup-mesh-orb--1{width:50vw;height:50vw;max-width:600px;max-height:600px;top:-20%;right:-10%;background:radial-gradient(circle,rgba(109,70,252,.07) 0%,transparent 70%);animation:mesh-drift-1 22s ease-in-out infinite}.setup-mesh-orb--2{width:40vw;height:40vw;max-width:500px;max-height:500px;bottom:-10%;left:-10%;background:radial-gradient(circle,rgba(59,130,246,.06) 0%,transparent 70%);animation:mesh-drift-2 28s ease-in-out infinite}@keyframes mesh-drift-1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-40px,30px) scale(1.05)}66%{transform:translate(20px,-20px) scale(.95)}}@keyframes mesh-drift-2{0%,to{transform:translate(0) scale(1)}50%{transform:translate(30px,-25px) scale(1.08)}}.card-logo{flex-shrink:0;display:flex;justify-content:center;padding:20px 24px 0}@media (min-width: 768px){.card-logo{padding:24px 44px 0}}.logo{display:inline-flex;align-items:center;font-family:Space Grotesk,sans-serif;font-size:20px;letter-spacing:-1px;text-decoration:none;transition:opacity .2s ease}.logo:hover{opacity:.8}.logo:hover .logo-dot{box-shadow:0 0 14px #6d46fc8c;transform:scale(1.15)}.logo-iq{font-weight:400;color:var(--navy-dark)}.logo-test{font-weight:700;color:var(--navy-dark)}.logo-dot{width:7px;height:7px;border-radius:50%;background:var(--violet);box-shadow:0 0 10px #6d46fc59;display:inline-block;margin:0 4px;flex-shrink:0;position:relative;top:2px;transition:box-shadow .3s ease,transform .3s ease}.logo-tld{font-weight:500;color:var(--purple-brand);letter-spacing:-.5px}.wizard-wrapper{position:relative;z-index:1;flex:1;display:flex;align-items:center;justify-content:center;padding:12px 20px 24px;min-height:0}@media (min-width: 768px){.wizard-wrapper{padding:16px 40px 32px}}.wizard-card{width:100%;max-width:600px;background:#ffffffb8;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl),0 0 0 1px #6d46fc0a;overflow:hidden;position:relative;max-height:100%;display:flex;flex-direction:column}.wizard-top{flex-shrink:0;padding:20px 24px 0}@media (min-width: 768px){.wizard-top{padding:24px 44px 0}}.step-indicator{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:20px}.step-node{display:flex;flex-direction:column;align-items:center;gap:6px}.step-circle{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;border:2px solid var(--gray-300);color:var(--gray-500);background:var(--white);transition:all .4s var(--ease-out);flex-shrink:0}.step-circle.active{border-color:var(--violet);color:var(--white);background:var(--violet);box-shadow:0 0 0 4px #6d46fc1f}.step-circle.completed{border-color:var(--cta-green);color:var(--white);background:var(--cta-green)}.step-circle.completed .step-number,.step-circle .step-check{display:none}.step-circle.completed .step-check{display:block}.step-label{font-size:11px;font-weight:500;color:#58687e;white-space:nowrap;transition:color .4s var(--ease-out)}.step-node.active .step-label,.step-node.completed .step-label{color:var(--gray-600)}@media (max-width: 479px){.step-label{display:none}}.step-line{width:40px;height:2px;background:var(--gray-300);transition:background .4s var(--ease-out);flex-shrink:0;margin:15px 8px 0;align-self:flex-start}@media (min-width: 768px){.step-line{width:56px}}@media (max-width: 479px){.step-line{margin-top:15px}}.step-line.completed{background:var(--cta-green)}.progress-bar{height:3px;background:#6d46fc0f;border-radius:2px;overflow:hidden;margin:0 24px}@media (min-width: 768px){.progress-bar{margin:0 44px}}.progress-fill{height:100%;width:33.33%;background:linear-gradient(90deg,var(--violet),var(--blue-electric));border-radius:2px;transition:width .6s var(--ease-out)}.wizard-card-inner{padding:24px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.wizard-card-inner::-webkit-scrollbar{width:4px}.wizard-card-inner::-webkit-scrollbar-track{background:transparent}.wizard-card-inner::-webkit-scrollbar-thumb{background:#6d46fc26;border-radius:4px}@media (min-width: 768px){.wizard-card-inner{padding:28px 44px 32px}}.step-panel{display:none;animation:step-enter .45s var(--ease-out) forwards}.step-panel.active{display:block}@keyframes step-enter{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes step-enter-reverse{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.step-panel.entering-reverse{animation-name:step-enter-reverse}.step-header{text-align:center;margin-bottom:24px}.step-title{font-family:var(--font-serif);font-size:1.45rem;color:var(--navy-dark);margin-bottom:4px}.step-subtitle{font-size:.9rem;color:var(--gray-500)}.field-group{margin-bottom:20px}fieldset.field-group,fieldset.checklist{border:0;min-width:0}legend.field-label{padding:0}.field-error{margin-top:8px;font-size:13px;font-weight:500;color:#b91c1c}.guardian-confirm{display:flex;margin-top:12px;gap:10px;align-items:flex-start;cursor:pointer;min-height:44px}.guardian-confirm a{color:var(--purple-brand);text-decoration:underline;text-underline-offset:2px}.guardian-confirm input{margin-top:3px;width:20px;height:20px;flex-shrink:0}.field-label{display:block;font-size:13px;font-weight:600;color:var(--gray-700);margin-bottom:8px;letter-spacing:.02em}.field-label .optional{font-weight:400;color:#58687e;font-size:12px}.radio-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.radio-cards.age-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.radio-card{position:relative}.radio-card input{position:absolute;opacity:0;width:0;height:0}.radio-card label{display:flex;align-items:center;justify-content:center;padding:10px 12px;background:var(--white);border:1.5px solid var(--gray-200);border-radius:var(--radius-md);font-size:13.5px;font-weight:500;color:var(--gray-600);cursor:pointer;transition:all .2s var(--ease-out);text-align:center}.age-grid .radio-card label{height:100%;min-height:48px;padding:8px 4px;font-size:15px;font-weight:600;white-space:nowrap}.radio-card--guardian label{background:#fff8ec;border-color:#f3dfb8}.radio-card--minor label{background:#f3f6fe;border-color:#d7e1f8}.radio-card label:hover{border-color:var(--violet-light);color:var(--violet);background:#6d46fc08}.radio-card input:checked+label{border-color:var(--violet);color:var(--violet);background:#6d46fc0f;box-shadow:0 0 0 3px #6d46fc1a}.supervision-notice{display:flex;align-items:flex-start;gap:8px;margin-top:8px;padding:10px 14px;background:#f59e0b14;border:1px solid rgba(245,158,11,.2);border-radius:var(--radius-md);font-size:12.5px;color:#92400e;line-height:1.5;animation:fade-in .35s var(--ease-out)}.supervision-notice svg{width:18px;height:18px;flex-shrink:0;color:#d97706;margin-block-start:calc((1lh - 18px)/2)}.supervision-notice--info{background:#3b82f612;border-color:#3b82f638;color:#1e3a8a}.supervision-notice--info svg{color:#2563eb}.setup-terms-note{margin-top:12px;font-size:12.5px;color:var(--gray-500);line-height:1.5}.setup-terms-note a{color:inherit;text-decoration:underline}.resume-card{margin-bottom:20px;padding:16px 18px;border:1px solid rgba(21,128,61,.25);background:#15803d0d;border-radius:var(--radius-md)}.resume-title{font-size:16px;font-weight:600;color:var(--gray-900)}.resume-text,.resume-progress{margin-top:4px;font-size:14px;line-height:1.5;color:var(--gray-700)}.resume-progress{font-variant-numeric:tabular-nums}.resume-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:12px}.resume-actions .btn-primary{margin-inline-start:0;padding:11px 24px;text-decoration:none}.retest-notice{margin:0 0 20px}.retest-notice a{color:inherit;font-weight:600}.checklist{display:flex;flex-direction:column;gap:10px}.checklist-item{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--white);border:1.5px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;transition:all .25s var(--ease-out);-webkit-user-select:none;-moz-user-select:none;user-select:none}.checklist-item:has(.checklist-input:focus-visible){outline:3px solid #4C1D95;outline-offset:2px}.checklist-item:hover{border-color:var(--violet-light);background:#6d46fc05}.checklist-item.checked{border-color:var(--green-emerald);background:#10b9810a}.checklist-check{width:22px;height:22px;border-radius:7px;border:2px solid var(--gray-300);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .25s var(--ease-out)}.checklist-item.checked .checklist-check{background:var(--green-emerald);border-color:var(--green-emerald)}.checklist-check svg{width:13px;height:13px;color:#fff;opacity:0;transform:scale(.5);transition:all .25s var(--ease-bounce)}.checklist-item.checked .checklist-check svg{opacity:1;transform:scale(1)}.checklist-text{flex:1}.checklist-title,.checklist-desc{display:block}.checklist-title{font-size:14px;font-weight:600;color:var(--gray-800);margin-bottom:1px}.checklist-desc{font-size:12.5px;color:var(--gray-500)}.practice-question{background:var(--white);border:1.5px solid var(--gray-200);border-radius:var(--radius-lg);padding:20px}.practice-label{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--violet);background:#6d46fc14;padding:3px 10px;border-radius:var(--radius-pill);margin-bottom:12px;letter-spacing:.04em;text-transform:uppercase}.practice-prompt{font-size:14px;font-weight:500;color:var(--gray-800);margin-bottom:6px;line-height:1.5}.practice-prompt--note{font-weight:400;color:var(--gray-600)}.practice-prompt--last{margin-bottom:0}.practice-sequence{font-family:Space Grotesk,monospace;font-size:1.35rem;font-weight:600;color:var(--navy-dark);letter-spacing:2px;margin-bottom:16px;padding:12px;background:var(--gray-50);border-radius:var(--radius-sm);text-align:center}.answer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.answer-option{position:relative}.answer-option input{position:absolute;opacity:0;width:0;height:0}.answer-option label{display:flex;align-items:center;justify-content:center;padding:12px;background:var(--white);border:1.5px solid var(--gray-200);border-radius:var(--radius-md);font-family:Space Grotesk,monospace;font-size:17px;font-weight:600;color:var(--gray-700);cursor:pointer;transition:all .2s var(--ease-out)}.answer-option label:hover{border-color:var(--violet-light);background:#6d46fc08}.answer-option input:checked+label{border-color:var(--violet);color:var(--violet);background:#6d46fc0f;box-shadow:0 0 0 3px #6d46fc1a}.answer-option.correct input:checked+label{border-color:var(--green-emerald);color:var(--green-emerald);background:#10b9810f;box-shadow:0 0 0 3px #10b9811f}.answer-option.incorrect input:checked+label{border-color:#ef4444;color:#ef4444;background:#ef44440f;box-shadow:0 0 0 3px #ef44441a}.answer-grid.answered .answer-option label{cursor:default;pointer-events:none}.answer-grid.answered .answer-option:not(.correct):not(.incorrect) label{opacity:.5}.answer-grid.answered .answer-option.correct-reveal label{border-color:var(--green-emerald);opacity:1}.practice-feedback{display:none;margin-top:16px;padding:14px 16px;border-radius:var(--radius-md);font-size:13px;line-height:1.55;animation:fade-in .35s var(--ease-out)}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.practice-feedback.show{display:block}.practice-feedback.correct{background:#10b98114;border:1px solid rgba(16,185,129,.2);color:#065f46}.practice-feedback.incorrect{background:#ef44440f;border:1px solid rgba(239,68,68,.15);color:#991b1b}.practice-feedback strong{display:block;margin-bottom:2px}.wizard-actions{display:flex;align-items:center;justify-content:space-between;margin-top:24px;gap:12px}.btn-back{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;font-size:14px;font-weight:500;color:var(--gray-500);border-radius:var(--radius-pill);transition:all .2s var(--ease-out)}.btn-back:hover{color:var(--gray-700);background:#0000000a}.btn-back svg{width:18px;height:18px;transition:transform .2s var(--ease-out)}.btn-back:hover svg{transform:translate(-3px)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 32px;background:linear-gradient(135deg,#15803d,#166534);color:#fff;font-size:15px;font-weight:600;border-radius:var(--radius-pill);box-shadow:0 4px 15px #22c55e4d,0 1px 3px #00000014,inset 0 1px #fff3;transition:all .3s var(--ease-out);transform:translateY(0);position:relative;overflow:hidden;z-index:1;margin-inline-start:auto}.btn-primary:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(135deg,#166534,#14532d);opacity:0;transition:opacity .3s;z-index:-1}.btn-primary:hover:before{opacity:1}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #22c55e66,0 2px 6px #00000014,inset 0 1px #fff3}.btn-primary:active{transform:translateY(0);box-shadow:0 2px 8px #22c55e4d,inset 0 1px #ffffff26;transition-duration:.1s}.btn-primary:after{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transform:skew(-20deg);animation:shimmer-sweep 4s ease-in-out infinite}@keyframes shimmer-sweep{0%,to{inset-inline-start:-100%}50%{left:150%}}.btn-primary svg{transition:transform .3s var(--ease-out)}.btn-primary:hover svg{transform:translate(4px)}.btn-primary:disabled{opacity:.45;pointer-events:none;box-shadow:none}.btn-primary:disabled:after{animation:none}.btn-start{padding:15px 40px;font-size:16px}@media (max-width: 479px){.card-logo{padding:16px 18px 0}.wizard-card-inner{padding:20px 18px}.wizard-top{padding:16px 18px 0}.progress-bar{margin:0 18px}.step-title{font-size:1.25rem}.step-header{margin-bottom:20px}.field-group{margin-bottom:16px}.radio-cards.age-grid{gap:6px}.age-grid .radio-card label{padding:8px 2px;font-size:14px}.answer-grid{grid-template-columns:repeat(2,1fr)}.practice-sequence{font-size:1.15rem}.wizard-actions{margin-top:20px}.checklist-item{padding:12px 14px}.checklist-desc{display:none}}@media (max-width: 389px){.radio-cards.age-grid{gap:5px}.age-grid .radio-card label{padding:8px 0;font-size:13.5px}}@media (max-width: 359px){.radio-cards.age-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-height: 680px){.card-logo{padding-top:14px}.step-header{margin-bottom:16px}.field-group{margin-bottom:14px}.wizard-actions{margin-top:18px}.checklist{gap:8px}.checklist-item{padding:11px 14px}.checklist-desc{display:none}.step-indicator{margin-bottom:12px}}
