@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color:#f8fafc;background:#090b19;font-family:Manrope,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #090b19;--surface: #14172c;--surface-light: #1b1f39;--border: rgba(255, 255, 255, .11);--muted: #a8afc3;--purple: #8b5cf6;--purple-light: #a78bfa;--green: #34d399;--red: #fb7185}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--bg)}body{min-width:320px;min-height:100vh;margin:0}button{color:inherit;font:inherit}button:focus-visible{outline:3px solid rgba(167,139,250,.65);outline-offset:3px}.home-shell,.app-shell,.results-shell,.review-shell{min-height:100vh;position:relative;overflow:hidden}.home-shell:before,.app-shell:before,.results-shell:before,.review-shell:before{width:560px;height:560px;border-radius:50%;background:#7c3aed26;content:"";filter:blur(10px);position:fixed;right:-250px;top:-250px;pointer-events:none}.home-shell:after,.app-shell:after,.review-shell:after{width:420px;height:420px;border-radius:50%;background:#0ea5e914;bottom:-250px;content:"";left:-220px;position:fixed;pointer-events:none}.home-content,.quiz-frame,.review-content{width:min(1180px,calc(100% - 40px));margin:0 auto;position:relative;z-index:1}.home-content{padding:28px 0 70px}.home-topbar,.quiz-header{display:flex;align-items:center;justify-content:space-between}.brand,.brand-button{display:inline-flex;align-items:center;gap:11px;font-size:17px;font-weight:800;letter-spacing:-.02em}.brand-button{border:0;background:transparent;cursor:pointer;padding:0}.brand-mark{width:36px;height:36px;display:grid;border-radius:11px;background:linear-gradient(135deg,#a78bfa,#6d28d9);box-shadow:0 9px 30px #7c3aed47;place-items:center}.question-total,.score-chip{border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:13px;padding:9px 14px}.hero{max-width:820px;padding:110px 0 120px}.eyebrow{color:var(--purple-light);font-size:12px;font-weight:800;letter-spacing:.16em;margin:0 0 16px;text-transform:uppercase}.hero h1{max-width:760px;font-size:clamp(52px,8vw,94px);letter-spacing:-.065em;line-height:.96;margin:0}.hero>p:not(.eyebrow){max-width:610px;color:var(--muted);font-size:19px;line-height:1.7;margin:30px 0 38px}.hero-button,.exam-button,.primary-button,.secondary-button,.text-button{border:0;cursor:pointer;font-weight:800;transition:transform .16s ease,background .16s ease,border-color .16s ease}.hero-button{display:inline-flex;align-items:center;gap:42px;border-radius:16px;background:#f8fafc;color:#111326;padding:18px 22px}.hero-button span{color:#6d28d9;font-size:22px}.hero-button:hover,.exam-button:hover,.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled){transform:translateY(-2px)}.exam-section{display:grid;align-items:center;gap:42px;grid-template-columns:1fr auto;border:1px solid rgba(251,191,36,.28);border-radius:24px;background:radial-gradient(circle at 90% 20%,rgba(251,191,36,.14),transparent 34%),#14172ce6;overflow:hidden;padding:clamp(28px,5vw,52px);position:relative}.exam-list{display:grid;gap:16px;margin-bottom:86px}.exam-section:before{width:170px;height:170px;border:1px solid rgba(251,191,36,.14);border-radius:50%;content:"";position:absolute;right:-65px;top:-85px}.exam-copy{max-width:700px;position:relative;z-index:1}.exam-copy .eyebrow{color:#fbbf24}.exam-copy h2{font-size:clamp(34px,5vw,52px);letter-spacing:-.055em;margin:0 0 14px}.exam-copy>p:not(.eyebrow){color:var(--muted);line-height:1.7;margin:0}.exam-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.exam-tags span{border:1px solid rgba(251,191,36,.2);border-radius:999px;color:#fde68a;font-size:12px;padding:8px 11px}.exam-button{min-width:190px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-radius:15px;background:#fbbf24;color:#211704;padding:18px 20px;position:relative;z-index:1}.exam-button-arrow{font-size:21px}.exam-section-react{border-color:#34d39947;background:radial-gradient(circle at 90% 20%,rgba(52,211,153,.13),transparent 34%),#14172ce6}.exam-section-react:before{border-color:#34d39924}.exam-section-react .exam-copy .eyebrow{color:#6ee7b7}.exam-section-react .exam-tags span{border-color:#34d39933;color:#a7f3d0}.exam-section-react .exam-button{background:#34d399;color:#052e23}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:26px}.section-heading h2{font-size:30px;letter-spacing:-.04em;margin:0}.section-heading>p{max-width:390px;color:var(--muted);font-size:14px;line-height:1.6;margin:0}.quiz-grid{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.history-section{margin-top:86px}.attempt-list{display:grid;gap:12px}.attempt-card{width:100%;display:grid;align-items:center;gap:18px;grid-template-columns:auto 1fr auto auto;border:1px solid var(--border);border-radius:18px;background:#14172cd1;cursor:pointer;padding:18px;text-align:left;transition:border-color .18s ease,background .18s ease,transform .18s ease}.attempt-card:hover{border-color:#a78bfa73;background:#1b1f39f5;transform:translateY(-2px)}.attempt-score{width:58px;height:58px;display:grid;border:1px solid rgba(167,139,250,.3);border-radius:16px;background:#8b5cf61a;color:#ddd6fe;font-family:DM Mono,monospace;font-size:14px;font-weight:500;place-items:center}.attempt-copy,.attempt-summary{display:grid;gap:5px}.attempt-copy strong{font-size:17px}.attempt-copy span,.attempt-summary,.attempt-summary small{color:var(--muted);font-size:13px}.attempt-summary{justify-items:end}.attempt-summary small{color:#fda4af}.history-empty,.review-empty{display:grid;gap:8px;border:1px dashed rgba(255,255,255,.14);border-radius:20px;color:var(--muted);padding:42px 24px;text-align:center}.history-empty strong,.review-empty strong{color:#fff}.quiz-tile{min-height:300px;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:22px;background:#14172cd1;cursor:pointer;padding:26px;position:relative;text-align:left;transition:border-color .18s ease,transform .18s ease,background .18s ease}.quiz-tile:before{width:60%;height:4px;border-radius:4px;background:var(--accent);content:"";left:26px;opacity:.85;position:absolute;top:0}.quiz-tile:hover{border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:#1b1f39f5;transform:translateY(-5px)}.tile-number{color:var(--accent);font-family:DM Mono,monospace;font-size:13px;font-weight:500}.tile-copy{display:grid;gap:12px;margin:auto 0}.tile-copy strong{font-size:25px;letter-spacing:-.04em}.tile-copy span{color:var(--muted);font-size:14px;line-height:1.65}.tile-footer{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:13px}.tile-arrow{width:38px;height:38px;display:grid;border:1px solid var(--border);border-radius:50%;color:#fff;font-size:19px;place-items:center}.quiz-frame{padding:26px 0 48px}.quiz-header{margin-bottom:52px}.score-chip{display:flex;align-items:center;gap:10px}.score-chip strong{color:#fff;font-family:DM Mono,monospace}.progress-row{display:flex;align-items:end;justify-content:space-between}.progress-row .eyebrow{margin-bottom:7px}.question-count{color:#e5e7eb;font-size:14px;font-weight:700;margin:0}.progress-row>span{color:var(--muted);font-family:DM Mono,monospace;font-size:13px}.progress-track{height:4px;border-radius:999px;background:#ffffff17;margin:16px 0 30px;overflow:hidden}.progress-track span{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#7c3aed,#a78bfa);transition:width .28s ease}.question-card{border:1px solid var(--border);border-radius:28px;background:#14172ce6;box-shadow:0 28px 80px #0003;padding:clamp(25px,5vw,58px)}.question-heading{display:grid;align-items:start;gap:22px;grid-template-columns:auto 1fr}.question-number{color:var(--purple-light);font-family:DM Mono,monospace;font-size:13px;padding-top:8px}.question-heading h1{max-width:940px;font-size:clamp(25px,3vw,40px);letter-spacing:-.035em;line-height:1.25;margin:0}.code-block{border:1px solid rgba(167,139,250,.17);border-radius:16px;background:#0a0c18;color:#d9d6fe;font-family:DM Mono,monospace;font-size:14px;line-height:1.65;margin:30px 0 0 45px;overflow-x:auto;padding:20px 22px}.options{display:grid;gap:13px;margin-top:34px}.option-button{width:100%;display:grid;align-items:center;gap:16px;grid-template-columns:auto 1fr auto;border:1px solid rgba(255,255,255,.12);border-radius:15px;background:#ffffff05;cursor:pointer;font-size:16px;line-height:1.55;min-height:70px;padding:13px 18px;text-align:left;transition:border-color .15s ease,background .15s ease,transform .15s ease}.option-button:hover:not(:disabled){border-color:#a78bfa8c;background:#8b5cf614;transform:translate(3px)}.option-button:disabled{color:#f8fafc;cursor:default;opacity:1}.option-letter{width:38px;height:38px;display:grid;border:1px solid rgba(255,255,255,.18);border-radius:11px;color:var(--muted);font-family:DM Mono,monospace;font-size:13px;place-items:center}.option-code{font-family:DM Mono,monospace;font-size:13px;white-space:pre-wrap}.option-correct{border-color:#34d399a6;background:#34d39917}.option-incorrect{border-color:#fb7185a6;background:#fb718514}.option-correct .option-letter{border-color:var(--green);background:var(--green);color:#06281d}.option-incorrect .option-letter{border-color:var(--red);background:var(--red);color:#360810}.result-icon{font-size:25px;font-weight:500}.option-correct .result-icon{color:var(--green)}.option-incorrect .result-icon{color:var(--red)}.feedback{display:grid;gap:14px;border-radius:13px;font-size:14px;margin-top:20px;padding:17px 19px}.feedback-correct{background:#34d3991a;color:#a7f3d0}.feedback-incorrect{background:#fb71851a;color:#fecdd3}.feedback-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}.feedback span,.feedback-reasons span{color:#ffffffb3}.feedback-reasons{display:grid;gap:10px}.feedback-reasons p{display:grid;gap:4px;border-top:1px solid rgba(255,255,255,.1);margin:0;padding-top:11px}.feedback-reasons strong{color:inherit;font-size:12px;letter-spacing:.04em;text-transform:uppercase}.feedback-reasons span{line-height:1.6}.quiz-nav{display:flex;justify-content:space-between;margin-top:22px}.primary-button,.secondary-button{border-radius:13px;padding:14px 19px}.primary-button{background:linear-gradient(135deg,#8b5cf6,#6d28d9);box-shadow:0 12px 28px #6d28d938}.secondary-button{border:1px solid var(--border);background:var(--surface)}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.38}.results-shell{display:grid;padding:28px;place-items:center}.results-card{width:min(650px,100%);border:1px solid var(--border);border-radius:30px;background:#14172ceb;padding:clamp(28px,7vw,64px);position:relative;text-align:center;z-index:1}.results-kicker{color:var(--purple-light);font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.score-ring{width:210px;height:210px;display:grid;border-radius:50%;background:conic-gradient(var(--purple-light) var(--score),rgba(255,255,255,.08) 0);margin:34px auto;place-items:center;position:relative}.score-ring:after{width:170px;height:170px;border-radius:50%;background:var(--surface);content:"";position:absolute}.score-ring div{display:grid;gap:2px;position:relative;z-index:1}.score-ring strong{font-size:44px;letter-spacing:-.05em}.score-ring span{color:var(--muted);font-size:12px}.results-card h1{font-size:31px;letter-spacing:-.04em;margin:0}.results-card>p{color:var(--muted);line-height:1.65}.results-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:30px}.text-button{background:transparent;color:var(--muted);padding:14px 12px}.text-button:hover{color:#fff}.review-content{padding:26px 0 70px;z-index:1}.review-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:54px}.review-summary{display:flex;align-items:end;justify-content:space-between;gap:30px;border:1px solid var(--border);border-radius:24px;background:radial-gradient(circle at 92% 20%,rgba(139,92,246,.14),transparent 32%),#14172ce6;padding:clamp(26px,5vw,46px)}.review-summary h1{font-size:clamp(34px,5vw,54px);letter-spacing:-.055em;margin:0 0 12px}.review-summary p:not(.eyebrow){color:var(--muted);margin:0}.review-score{display:grid;flex:0 0 auto;gap:4px;justify-items:end}.review-score strong{font-family:DM Mono,monospace;font-size:clamp(30px,5vw,46px)}.review-score span{color:#fda4af;font-size:13px}.review-toolbar{display:flex;align-items:end;justify-content:space-between;gap:30px;margin:58px 0 22px}.review-toolbar h2{font-size:30px;letter-spacing:-.04em;margin:0 0 7px}.review-toolbar p{color:var(--muted);font-size:14px;margin:0}.review-filters{display:flex;gap:7px;border:1px solid var(--border);border-radius:14px;background:#14172cb3;padding:5px}.review-filters button{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer;font-size:13px;font-weight:700;padding:10px 12px}.review-filters button.active{background:#8b5cf62e;color:#ede9fe}.review-filters span{min-width:22px;border-radius:999px;background:#ffffff14;font-family:DM Mono,monospace;font-size:11px;padding:3px 6px}.review-list{display:grid;gap:18px}.review-question{border:1px solid var(--border);border-radius:22px;background:#14172ce0;padding:clamp(22px,4vw,38px)}.review-question-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-family:DM Mono,monospace;font-size:12px;text-transform:uppercase}.review-question-heading strong{border-radius:999px;font-family:Manrope,sans-serif;font-size:11px;letter-spacing:.06em;padding:6px 9px}.review-question-heading .review-correct{background:#34d3991f;color:#6ee7b7}.review-question-heading .review-incorrect{background:#fb71851f;color:#fda4af}.review-question h3{font-size:clamp(21px,3vw,30px);letter-spacing:-.03em;line-height:1.35;margin:18px 0 0}.review-question .code-block{margin-left:0}.review-options{display:grid;gap:10px;margin-top:26px}.review-option{display:grid;align-items:center;gap:13px;grid-template-columns:auto 1fr auto auto;border:1px solid rgba(255,255,255,.1);border-radius:13px;color:#ffffffb8;min-height:62px;padding:11px 14px}.review-option small{border-radius:999px;color:inherit;font-size:10px;font-weight:800;letter-spacing:.05em;padding:5px 8px;text-transform:uppercase}.review-option-correct{border-color:#34d3998c;background:#34d39914;color:#d1fae5}.review-option-correct .option-letter{border-color:var(--green);background:var(--green);color:#06281d}.review-option-correct small{background:#34d3991f;color:#6ee7b7}.review-option-incorrect{border-color:#fb71858c;background:#fb718512;color:#ffe4e6}.review-option-incorrect .option-letter{border-color:var(--red);background:var(--red);color:#360810}.review-option-incorrect small{background:#fb71851f;color:#fda4af}@media(max-width:800px){.hero{padding:85px 0 90px}.quiz-grid{grid-template-columns:1fr}.exam-section{align-items:start;grid-template-columns:1fr}.exam-button{width:100%}.quiz-tile{min-height:245px}.section-heading{align-items:start;flex-direction:column;gap:15px}.code-block{margin-left:0}.review-toolbar{align-items:stretch;flex-direction:column}.review-filters{width:fit-content}}@media(max-width:560px){.home-content,.quiz-frame,.review-content{width:min(100% - 24px,1180px)}.home-content,.quiz-frame{padding-top:18px}.hero{padding:70px 0 80px}.hero h1{font-size:49px}.hero>p:not(.eyebrow){font-size:16px}.question-total{display:none}.quiz-header{margin-bottom:38px}.question-card{border-radius:20px}.question-heading{gap:9px;grid-template-columns:1fr}.question-number{padding-top:0}.option-button{gap:11px;grid-template-columns:auto 1fr auto;padding:12px}.feedback{align-items:flex-start;flex-direction:column;gap:4px}.quiz-nav{gap:10px}.quiz-nav button{flex:1}.attempt-card{gap:12px;grid-template-columns:auto 1fr auto}.attempt-summary{grid-column:2 / -1;grid-row:2;justify-items:start}.attempt-card .tile-arrow{grid-column:3;grid-row:1}.review-header{margin-bottom:38px}.review-summary{align-items:start;flex-direction:column}.review-score{justify-items:start}.review-filters{width:100%}.review-filters button{flex:1;justify-content:center}.review-option{align-items:start;grid-template-columns:auto 1fr}.review-option small{grid-column:2;justify-self:start}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
