:root{--accent:#7c3aed;--accent-soft:#ede9fe;--accent-deep:#5b21b6;--accent-gradient:linear-gradient(135deg, #8b5cf6 0%, #6d28d9 100%);--ink:#211b33;--ink-soft:#544d6b;--muted:#7c7494;--line:#3728681c;--surface:#fffc;--surface-solid:#fff;--bg:#f7f5ff;--shadow-lg:0 34px 70px -40px #311f766b;--shadow-md:0 20px 45px -28px #311f7661;--radius-xl:32px;--radius-lg:24px;--radius-md:18px;--radius-sm:13px;--font-body:"Segoe UI", system-ui, -apple-system, "Helvetica Neue", sans-serif;--font-display:"Trebuchet MS", "Segoe UI", system-ui, sans-serif;--font-serif:Georgia, "Times New Roman", serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;font-family:var(--font-body);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default}svg{display:block}h1,h2,h3,p{margin-top:0}button:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 72%, #16102c);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--ink);color:#fff;border-radius:10px;padding:11px 16px;font-weight:700;text-decoration:none;transition:top .2s;position:fixed;top:-70px;left:18px}.skip-link:focus{top:16px}.app{isolation:isolate;background:radial-gradient(circle at 10% 4%, color-mix(in srgb, var(--accent) 15%, transparent), transparent 34%), radial-gradient(circle at 92% 18%, #ffc76933, transparent 30%), linear-gradient(180deg, #fcfbff 0%, #f6f3ff 52%, #faf8ff 100%);flex-direction:column;min-height:100vh;transition:background .45s;display:flex;position:relative}.background-art{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.blob{opacity:.6;filter:blur(24px);border-radius:50%;transition:background .5s;position:absolute}.blob-one{background:radial-gradient(circle at 40% 40%, color-mix(in srgb, var(--accent) 30%, white), transparent 68%);width:540px;height:540px;animation:18s ease-in-out infinite alternate drift;top:-190px;left:-160px}.blob-two{background:radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--accent) 18%, #ffe7b8), transparent 70%);width:480px;height:480px;animation:22s ease-in-out infinite alternate-reverse drift;top:20%;right:-190px}.blob-three{background:radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--accent) 13%, #c7e9ff), transparent 72%);width:600px;height:600px;animation:26s ease-in-out infinite alternate drift;bottom:-230px;left:32%}.dot-grid{opacity:.45;background-image:radial-gradient(#5f489e1f 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 26%,#000 0%,#0000 76%);mask-image:radial-gradient(circle at 50% 26%,#000 0%,#0000 76%)}.app-header{z-index:2;justify-content:space-between;align-items:center;gap:18px;width:min(1120px,100% - 48px);margin:0 auto;padding:26px 0 18px;display:flex;position:relative}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{color:#fff;background:var(--accent-gradient);width:48px;height:48px;box-shadow:0 14px 28px -12px color-mix(in srgb, var(--accent) 72%, transparent);border-radius:16px;flex:none;place-items:center;transition:transform .3s;display:grid;transform:rotate(-4deg)}.brand:hover .brand-mark{transform:rotate(4deg)scale(1.03)}.brand-text{flex-direction:column;min-width:0;display:flex}.brand-name{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.42rem;font-weight:800;line-height:1.1}.brand-tagline{color:var(--muted);white-space:nowrap;margin-top:3px;font-size:.76rem;font-weight:600}.header-actions{align-items:center;gap:8px;display:flex}.header-stars{color:#b45309;background:#fff8e6;border:1px solid #f59e0b42;border-radius:999px;align-items:center;gap:5px;height:42px;padding:0 13px;font-size:.88rem;font-weight:800;display:inline-flex}.header-stars svg{color:#f59e0b}.icon-button{border:1px solid var(--line);height:42px;color:var(--ink-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb8;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:.83rem;font-weight:700;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s;display:inline-flex}.icon-button:hover{border-color:color-mix(in srgb, var(--accent) 30%, var(--line));box-shadow:var(--shadow-md);background:#fff;transform:translateY(-1px)}.icon-button[aria-pressed=true]{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 26%, transparent);color:var(--accent-deep)}.reset-button:hover{color:#b91c1c;border-color:#b91c1c40}.app-main{z-index:1;flex:1;width:min(1120px,100% - 48px);margin:0 auto;padding-bottom:52px;position:relative}.app-footer{z-index:1;border-top:1px solid var(--line);width:min(1120px,100% - 48px);color:var(--muted);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 18px;margin:0 auto;padding:16px 0 34px;font-size:.76rem;font-weight:600;display:flex;position:relative}.footer-brand{color:var(--accent-deep);align-items:center;gap:6px;font-weight:800;display:inline-flex}.eyebrow{color:var(--accent-deep);letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:7px;font-size:.72rem;font-weight:800;display:inline-flex}.home{flex-direction:column;gap:42px;animation:.5s both fadeUp;display:flex}.hero{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:center;gap:30px;padding:20px 0 6px;display:grid}.hero-copy{min-width:0}.hero-eyebrow{border:1px solid color-mix(in srgb, var(--accent) 18%, transparent);background:color-mix(in srgb, var(--accent-soft) 78%, white);color:var(--accent-deep);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;gap:8px;padding:7px 13px;font-size:.72rem;font-weight:800;display:inline-flex}.hero-title{font-family:var(--font-display);letter-spacing:-.045em;margin:20px 0 16px;font-size:clamp(2.55rem,5.6vw,4.3rem);font-weight:800;line-height:1.02}.hero-title span{background:var(--accent-gradient);color:#0000;-webkit-background-clip:text;background-clip:text}.hero-copytext{max-width:545px;color:var(--ink-soft);margin-bottom:0;font-size:1.02rem;line-height:1.65}.hero-stats{border-top:1px solid var(--line);flex-wrap:wrap;gap:30px;margin-top:30px;padding-top:24px;display:flex}.hero-stat{flex-direction:column;gap:4px;display:flex}.hero-stat strong{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.75rem;font-weight:800;line-height:1}.hero-stat strong span{color:var(--muted);margin-left:1px;font-size:.95rem;font-weight:700}.hero-stat-label{color:var(--muted);letter-spacing:.02em;font-size:.75rem;font-weight:700}.hero-visual{place-items:center;min-height:380px;display:grid;position:relative}.orbit-glow{background:radial-gradient(circle, color-mix(in srgb, var(--accent) 24%, white), transparent 68%);filter:blur(5px);border-radius:50%;width:290px;height:290px;animation:6s ease-in-out infinite pulseGlow;position:absolute}.orbit-ring{border:1.5px dashed color-mix(in srgb, var(--accent) 25%, transparent);border-radius:50%;position:absolute}.orbit-ring-one{width:268px;height:268px;animation:46s linear infinite spin}.orbit-ring-two{width:352px;height:352px;animation:62s linear infinite reverse spin}.hero-core{z-index:2;color:#fff;background:var(--accent-gradient);width:116px;height:116px;box-shadow:0 28px 52px -18px color-mix(in srgb, var(--accent) 68%, transparent), inset 0 1px 0 #fff6;border-radius:38px;place-items:center;transition:transform .4s;display:grid;position:relative;transform:rotate(-6deg)}.hero-core svg{transform:rotate(6deg)}.hero-visual:hover .hero-core{transform:rotate(2deg)scale(1.04)}.orbit-chip{z-index:3;border:1px solid color-mix(in srgb, var(--chip-accent) 18%, white);width:58px;height:58px;color:var(--chip-accent);background:#fffffff0;border-radius:18px;place-items:center;animation:5.2s ease-in-out infinite floatChip;display:grid;position:absolute;box-shadow:0 18px 32px -20px #311f768c}.orbit-chip-1{top:4%;left:18%}.orbit-chip-2{animation-delay:.9s;top:15%;right:8%}.orbit-chip-3{animation-delay:1.5s;bottom:12%;right:15%}.orbit-chip-4{animation-delay:2.1s;bottom:4%;left:11%}.float-pill{z-index:4;color:var(--ink-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffed;border:1px solid #ffffffe6;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-size:.72rem;font-weight:800;display:inline-flex;position:absolute;box-shadow:0 16px 28px -22px #311f7699}.float-pill-star{color:#b45309;top:44%;left:-1%}.float-pill-star svg{color:#f59e0b}.float-pill-goal{color:var(--accent-deep);bottom:27%;left:0}.subject-section{flex-direction:column;gap:18px;display:flex}.subject-tabs{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff9e;border:1px solid #ffffffe6;border-radius:22px;gap:8px;width:100%;padding:7px;display:flex;box-shadow:0 14px 32px -28px #311f7680}.subject-tab{min-width:0;color:var(--muted);background:0 0;border:0;border-radius:16px;flex:1 1 0;justify-content:center;align-items:center;gap:10px;padding:13px 14px;font-size:.9rem;font-weight:800;transition:background .22s,color .22s,transform .22s,box-shadow .22s;display:flex;position:relative}.subject-tab:hover{color:var(--ink);background:#fffc}.subject-tab.active{background:var(--tab-soft);color:var(--tab-deep);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--tab-accent) 18%, transparent)}.subject-tab.active .tab-icon{transform:scale(1.08)rotate(-4deg)}.tab-icon{flex:none;place-items:center;transition:transform .25s;display:grid}.tab-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.subject-panel{border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffb3;border:1px solid #ffffffeb;outline:none;padding:clamp(22px,4vw,38px);animation:.4s both fadeUp;position:relative;overflow:hidden}.subject-panel:before{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--accent) 12%, transparent), transparent 70%);pointer-events:none;border-radius:50%;width:320px;height:320px;position:absolute;top:-120px;right:-100px}.subject-heading{align-items:center;gap:17px;margin-bottom:26px;display:flex;position:relative}.subject-badge{color:#fff;width:64px;height:64px;box-shadow:0 18px 30px -16px color-mix(in srgb, var(--accent) 70%, transparent);border-radius:20px;flex:none;place-items:center;display:grid}.subject-heading-text{min-width:0}.subject-heading-text .eyebrow{margin-bottom:5px}.subject-heading h2{font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-size:clamp(1.28rem,2.3vw,1.72rem);font-weight:800;line-height:1.25}.topic-count{background:var(--accent-soft);color:var(--accent-deep);white-space:nowrap;border-radius:999px;flex:none;margin-left:auto;padding:8px 12px;font-size:.74rem;font-weight:800}.subtopic-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid;position:relative}.subtopic-card{border:1px solid var(--line);border-radius:var(--radius-lg);min-height:228px;color:var(--ink);text-align:left;animation:.45s both fadeUp;animation-delay:var(--delay,0s);background:linear-gradient(#fffffff7,#ffffffc7);flex-direction:column;gap:10px;padding:21px;transition:transform .24s,box-shadow .24s,border-color .24s;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 28px -22px #311f768c}.subtopic-card:hover{border-color:color-mix(in srgb, var(--accent) 34%, var(--line));box-shadow:0 26px 44px -26px color-mix(in srgb, var(--accent) 45%, transparent);transform:translateY(-5px)}.subtopic-card:hover .card-start svg{transform:translate(3px)}.card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.card-number{color:var(--accent);font-family:var(--font-display);letter-spacing:.16em;font-size:.82rem;font-weight:800}.card-count{color:var(--muted);white-space:nowrap;background:#f5f2fb;border-radius:999px;padding:5px 9px;font-size:.68rem;font-weight:700}.card-title{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.26rem;font-weight:800;line-height:1.2;display:block}.card-blurb{color:var(--ink-soft);flex:1;font-size:.86rem;line-height:1.5;display:block}.card-footer{border-top:1px dashed var(--line);justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:13px;display:flex}.best-badge{color:#b45309;white-space:nowrap;background:#fef3c7;border-radius:999px;align-items:center;gap:5px;padding:5px 9px;font-size:.7rem;font-weight:800;display:inline-flex}.not-started{color:var(--muted);font-size:.72rem;font-weight:600}.card-start{color:var(--accent-deep);white-space:nowrap;align-items:center;gap:5px;font-size:.77rem;font-weight:800;display:inline-flex}.card-start svg{transition:transform .22s}.card-progress{background:color-mix(in srgb, var(--accent) 9%, transparent);height:4px;position:absolute;bottom:0;left:0;right:0}.card-progress span{background:var(--accent-gradient);border-radius:0 4px 4px 0;height:100%;display:block}.tip-card{border:1px solid color-mix(in srgb, var(--accent) 14%, transparent);background:linear-gradient(120deg, color-mix(in srgb, var(--accent-soft) 75%, white), #ffffffd9);color:var(--ink-soft);border-radius:20px;align-items:flex-start;gap:14px;margin-top:22px;padding:17px 19px;display:flex}.tip-icon{width:38px;height:38px;color:var(--accent);background:#fff;border-radius:12px;flex:none;place-items:center;display:grid;box-shadow:0 10px 20px -14px #311f7680}.tip-card strong{color:var(--ink);margin-bottom:2px;font-size:.86rem;display:block}.tip-card p{margin:0;font-size:.84rem;line-height:1.5}.quiz{flex-direction:column;gap:17px;width:min(900px,100%);margin:0 auto;animation:.4s both fadeUp;display:flex}.quiz-topbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.ghost-button{color:var(--ink-soft);background:0 0;border:0;border-radius:10px;align-items:center;gap:7px;padding:9px 5px;font-size:.85rem;font-weight:800;transition:color .2s,transform .2s;display:inline-flex}.ghost-button:hover{color:var(--accent-deep);transform:translate(-2px)}.quiz-meta{min-width:0;color:var(--muted);justify-content:center;align-items:center;gap:9px;font-size:.8rem;font-weight:700;display:flex}.quiz-subject{white-space:nowrap;align-items:center;gap:5px;font-weight:800;display:inline-flex}.quiz-divider{background:var(--muted);opacity:.5;border-radius:50%;width:4px;height:4px}.score-chip{border:1px solid var(--line);color:var(--ink);background:#ffffffe6;border-radius:999px;flex:none;align-items:center;gap:5px;padding:8px 13px;font-size:.9rem;font-weight:800;display:inline-flex;box-shadow:0 10px 20px -18px #311f7680}.score-chip svg{color:#f59e0b}.quiz-progress{flex-direction:column;gap:8px;padding:0 3px;display:flex}.progress-labels{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:.76rem;font-weight:700;display:flex}.progress-track{background:#eae5f6;border-radius:999px;height:10px;overflow:hidden;box-shadow:inset 0 1px 2px #311f7614}.progress-fill{border-radius:inherit;background:var(--accent-gradient);height:100%;transition:width .45s cubic-bezier(.22,1,.36,1);display:block;position:relative;overflow:hidden}.progress-fill:after{content:"";background:linear-gradient(100deg,#0000 20%,#ffffff73 50%,#0000 80%);animation:2.4s ease-in-out infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}.quiz-card{border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe0;border:1px solid #fffffff0;padding:clamp(22px,4vw,40px);animation:.35s both cardIn;position:relative}.question-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.question-number{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-size:.7rem;font-weight:800}.question-type{background:var(--accent-soft);color:var(--accent-deep);letter-spacing:.02em;white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:.68rem;font-weight:800}.passage{border-left:4px solid var(--accent);background:#faf8ff;border-radius:0 18px 18px 0;max-height:230px;margin-bottom:22px;padding:17px 20px;overflow-y:auto}.passage-label{color:var(--accent-deep);letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px;font-size:.66rem;font-weight:800;display:block}.passage p{color:var(--ink-soft);font-family:var(--font-serif);margin:0;font-size:.96rem;line-height:1.72}.question-prompt{font-family:var(--font-display);letter-spacing:-.02em;overflow-wrap:anywhere;margin:0 0 26px;font-size:clamp(1.26rem,2.5vw,1.68rem);font-weight:800;line-height:1.45}.question-prompt:focus{outline:none}.inline-blank{border-bottom:3px solid color-mix(in srgb, var(--accent) 55%, white);background:color-mix(in srgb, var(--accent) 8%, transparent);border-radius:3px;width:82px;height:1em;margin:0 5px;display:inline-block;transform:translateY(-1px)}.choice-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.choice{border:1.5px solid var(--line);min-height:62px;color:var(--ink);text-align:left;background:#ffffffdb;border-radius:16px;align-items:center;gap:11px;padding:13px 15px;font-size:.92rem;font-weight:650;transition:transform .18s,border-color .18s,background .18s,box-shadow .18s,opacity .18s;display:flex}.choice:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 45%, var(--line));background:#fff;transform:translateY(-2px);box-shadow:0 16px 28px -24px #311f768c}.choice-letter{width:32px;height:32px;color:var(--ink-soft);background:#f4f1fb;border-radius:10px;flex:none;place-items:center;font-size:.76rem;font-weight:800;transition:background .18s,color .18s;display:grid}.choice-text{flex:1;line-height:1.4}.choice-icon{flex:none;margin-left:auto}.choice.correct{color:#065f46;background:#ecfdf5;border-color:#10b981;animation:.3s pop}.choice.correct .choice-letter{color:#fff;background:#10b981}.choice.correct .choice-icon{color:#059669}.choice.wrong{color:#991b1b;background:#fef2f2;border-color:#ef4444;animation:.36s shake}.choice.wrong .choice-letter{color:#fff;background:#ef4444}.choice.wrong .choice-icon{color:#dc2626}.choice.dimmed{opacity:.5;box-shadow:none}.blank-row{flex-wrap:wrap;align-items:stretch;gap:10px;display:flex}.blank-input{border:1.5px solid var(--line);min-width:0;height:56px;color:var(--ink);background:#fff;border-radius:15px;flex:240px;padding:0 16px;font-size:1rem;font-weight:650;transition:border-color .18s,box-shadow .18s,background .18s}.blank-input::placeholder{color:#a59ebd;font-weight:500}.blank-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 14%, transparent)}.blank-input.correct{color:#065f46;background:#f0fdf4;border-color:#10b981}.blank-input.wrong{color:#991b1b;background:#fef2f2;border-color:#ef4444}.primary-button{background:var(--accent-gradient);color:#fff;min-height:48px;box-shadow:0 14px 26px -14px color-mix(in srgb, var(--accent) 75%, transparent);border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:12px 21px;font-size:.88rem;font-weight:800;transition:transform .18s,filter .18s,box-shadow .18s;display:inline-flex}.primary-button:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 20px 32px -16px color-mix(in srgb, var(--accent) 78%, transparent);transform:translateY(-2px)}.primary-button:active:not(:disabled){transform:translateY(0)}.primary-button:disabled{opacity:.45;box-shadow:none}.check-button{flex:none;min-height:56px;padding-inline:22px}.secondary-button{border:1.5px solid var(--line);min-height:48px;color:var(--ink);background:#ffffffe6;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:12px 21px;font-size:.88rem;font-weight:800;transition:transform .18s,border-color .18s,background .18s;display:inline-flex}.secondary-button:hover{border-color:color-mix(in srgb, var(--accent) 38%, var(--line));background:var(--accent-soft);transform:translateY(-2px)}.quiz-actions{justify-content:flex-end;margin-top:18px;animation:.3s both fadeUp;display:flex}.next-button{min-width:172px}.feedback{border:1.5px solid #0000;border-radius:18px;align-items:flex-start;gap:13px;margin-top:22px;padding:17px;animation:.34s cubic-bezier(.22,1,.36,1) both feedbackIn;display:flex}.feedback.correct{color:#065f46;background:#ecfdf5;border-color:#a7f3d0}.feedback.wrong{color:#991b1b;background:#fef2f2;border-color:#fecaca}.feedback-icon{color:#fff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:grid}.feedback.correct .feedback-icon{background:#10b981}.feedback.wrong .feedback-icon{background:#ef4444}.feedback-body{min-width:0}.feedback-body strong{font-family:var(--font-display);margin-bottom:4px;font-size:1.04rem;font-weight:800;display:block}.correct-answer{margin:2px 0 6px;font-size:.88rem;font-weight:600}.correct-answer span{text-underline-offset:2px;font-weight:800;text-decoration:underline;text-decoration-thickness:2px}.feedback-explanation{color:var(--ink-soft);margin:0;font-size:.86rem;line-height:1.55}.results{flex-direction:column;gap:22px;width:min(900px,100%);margin:0 auto;animation:.45s both fadeUp;display:flex}.results-card{border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);text-align:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe6;border:1px solid #fffffff0;padding:clamp(26px,5vw,46px);position:relative;overflow:hidden}.results-card:before{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--accent) 15%, transparent), transparent 70%);pointer-events:none;border-radius:50%;width:480px;height:330px;position:absolute;top:-170px;left:50%;transform:translate(-50%)}.results-card>:not(.confetti){z-index:1;position:relative}.results-badge{color:#fff;background:var(--accent-gradient);width:96px;height:96px;box-shadow:0 24px 44px -18px color-mix(in srgb, var(--accent) 75%, transparent);border-radius:30px;place-items:center;margin:0 auto 20px;animation:.5s cubic-bezier(.22,1,.36,1) both badgeIn;display:grid;transform:rotate(-4deg)}.results-card h1{font-family:var(--font-display);letter-spacing:-.035em;margin:9px 0 10px;font-size:clamp(1.9rem,4.4vw,2.9rem);font-weight:800;line-height:1.1}.results-message{max-width:560px;color:var(--ink-soft);margin:0 auto;font-size:.96rem;line-height:1.6}.stars-row{color:#f59e0b;justify-content:center;align-items:center;gap:8px;margin:20px 0 12px;display:flex}.result-star{color:#d9d3e7;animation:.5s cubic-bezier(.22,1,.36,1) both starPop;animation-delay:var(--star-delay,0s);display:inline-flex}.result-star.earned{color:#f59e0b;filter:drop-shadow(0 8px 12px #f59e0b52)}.score-display{border:1px solid var(--line);background:#faf8ff;border-radius:24px;justify-content:center;align-items:center;gap:24px;width:fit-content;max-width:100%;margin:22px auto 4px;padding:19px 26px;display:flex}.score-ring{background:conic-gradient(var(--accent) calc(var(--score,0) * 1%), #e9e3f7 0);border-radius:50%;flex:none;place-items:center;width:108px;height:108px;display:grid;position:relative}.score-ring:before{content:"";background:#fff;border-radius:50%;position:absolute;inset:10px;box-shadow:inset 0 1px 3px #311f7614}.score-ring span{z-index:1;font-family:var(--font-display);letter-spacing:-.03em;font-size:1.42rem;font-weight:800;position:relative}.score-details{text-align:left;flex-direction:column;gap:6px;display:flex}.score-details strong{font-size:1.02rem;font-weight:800}.best-note{color:var(--muted);font-size:.8rem;font-weight:700}.best-note.new{color:#047857;background:#ecfdf5;border-radius:999px;align-items:center;gap:5px;width:fit-content;padding:4px 9px;display:inline-flex}.results-actions{flex-wrap:wrap;justify-content:center;gap:11px;margin-top:26px;display:flex}.review-card{border-radius:var(--radius-xl);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd1;border:1px solid #fffffff0;padding:clamp(22px,4vw,34px)}.review-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.review-header .eyebrow{margin-bottom:4px}.review-header h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.3rem;font-weight:800}.review-count{color:#b91c1c;background:#fee2e2;border-radius:999px;flex:none;padding:6px 11px;font-size:.72rem;font-weight:800}.review-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.review-item{border:1px solid var(--line);background:#faf9fe;border-radius:18px;align-items:flex-start;gap:13px;padding:15px;display:flex}.review-number{color:#b91c1c;background:#fee2e2;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:.76rem;font-weight:800;display:grid}.review-content{min-width:0}.review-prompt{overflow-wrap:anywhere;margin:0 0 7px;font-size:.9rem;font-weight:700;line-height:1.5}.review-line{flex-wrap:wrap;align-items:baseline;gap:6px;margin:3px 0;font-size:.83rem;display:flex}.review-label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.63rem;font-weight:800}.review-wrong{color:#b91c1c;font-weight:700;text-decoration:line-through;text-decoration-thickness:1px}.review-correct{color:#047857;font-weight:800}.review-explanation{border-top:1px dashed var(--line);color:var(--ink-soft);margin:8px 0 0;padding-top:8px;font-size:.82rem;line-height:1.55}.review-passage{color:var(--ink-soft);margin:8px 0;font-size:.82rem}.review-passage summary{width:fit-content;color:var(--accent-deep);cursor:pointer;font-weight:800}.review-passage p{font-family:var(--font-serif);margin:8px 0 0;line-height:1.65}.review-perfect{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:20px;align-items:center;gap:13px;padding:18px 20px;display:flex}.review-perfect-icon{color:#fff;background:#10b981;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;display:grid}.review-perfect strong{margin-bottom:2px;display:block}.review-perfect p{color:#356b58;margin:0;font-size:.86rem;line-height:1.5}.confetti{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.confetti span{top:-24px;left:var(--left);background:var(--confetti-color);opacity:.8;width:9px;height:14px;animation:confettiFall var(--duration) ease-in infinite;animation-delay:var(--delay);transform:rotate(var(--rotate));border-radius:3px;position:absolute}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes cardIn{0%{opacity:0;transform:translateY(10px)scale(.995)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes feedbackIn{0%{opacity:0;transform:translateY(8px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes drift{0%{transform:translate(0,0)scale(1)}to{transform:translate(38px,26px)scale(1.08)}}@keyframes floatChip{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-12px)rotate(3deg)}}@keyframes pulseGlow{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.07)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{transform:translate(-100%)}55%,to{transform:translate(100%)}}@keyframes pop{0%{transform:scale(.98)}60%{transform:scale(1.015)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}55%{transform:translate(4px)}80%{transform:translate(-2px)}}@keyframes badgeIn{0%{opacity:0;transform:scale(.8)rotate(-12deg)}to{opacity:1;transform:scale(1)rotate(-4deg)}}@keyframes starPop{0%{opacity:0;transform:scale(.4)rotate(-30deg)}70%{transform:scale(1.12)rotate(5deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes confettiFall{0%{opacity:1;transform:translateY(-30px)rotate(0)}to{opacity:0;transform:translateY(520px)rotate(620deg)}}@media (width<=940px){.hero{grid-template-columns:1fr;padding-top:10px}.hero-visual{display:none}.hero-copytext{max-width:640px}}@media (width<=820px){.subtopic-grid{grid-template-columns:1fr}.subtopic-card{min-height:0}.card-blurb{flex:none}.subject-heading{align-items:flex-start}.topic-count{margin-top:2px}}@media (width<=700px){.app-header,.app-main,.app-footer{width:min(100% - 32px,1120px)}.brand-tagline,.button-label{display:none}.icon-button{width:42px;padding:0}.header-stars{padding:0 11px}.choice-list{grid-template-columns:1fr}.quiz-meta{gap:7px;font-size:.73rem}.quiz-meta>span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:130px;overflow:hidden}.topic-count{display:none}}@media (width<=560px){.app-header{padding-top:20px}.brand-mark{border-radius:14px;width:44px;height:44px}.brand-name{font-size:1.26rem}.hero{gap:20px}.hero-title{margin-top:16px}.hero-copytext{font-size:.95rem}.hero-stats{gap:22px}.subject-tabs{border-radius:18px;gap:4px;padding:5px}.subject-tab{letter-spacing:.01em;border-radius:14px;flex-direction:column;gap:4px;padding:10px 4px;font-size:.69rem}.subject-panel{border-radius:24px;padding:20px}.subject-heading{gap:13px;margin-bottom:20px}.subject-badge{border-radius:16px;width:50px;height:50px}.subject-heading-text .eyebrow{font-size:.64rem}.subject-heading h2{font-size:1.14rem}.subtopic-card{border-radius:20px;padding:18px}.tip-card{padding:15px}.quiz-card{border-radius:24px;padding:20px}.quiz-subject svg{display:none}.question-header{margin-bottom:14px}.question-prompt{margin-bottom:22px;font-size:1.2rem}.passage{max-height:200px;padding:14px 16px}.passage p{font-size:.9rem}.blank-row{flex-direction:column}.blank-input,.check-button{flex-basis:auto;width:100%;min-height:52px}.quiz-actions,.next-button{width:100%}.results-card{border-radius:24px;padding:24px 18px}.results-badge{border-radius:26px;width:82px;height:82px}.score-display{flex-direction:column;gap:13px;width:100%;padding:18px}.score-details{text-align:center;align-items:center}.results-actions{flex-direction:column}.results-actions .primary-button,.results-actions .secondary-button{width:100%}.review-card{border-radius:24px;padding:20px 16px}.review-header{align-items:flex-start}.review-header h2{font-size:1.15rem}.review-item{gap:10px;padding:13px}.review-number{width:26px;height:26px}.review-perfect{align-items:flex-start}}@media (width<=390px){.header-stars{display:none}.hero-stats{gap:16px}.hero-stat strong{font-size:1.5rem}.hero-stat-label{font-size:.7rem}.quiz-meta>span:last-child,.quiz-divider{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.confetti{display:none}}.tier-easy{--tier:#059669;--tier-soft:#ecfdf5;--tier-deep:#047857;--tier-line:#0596693d}.tier-medium{--tier:#d97706;--tier-soft:#fffbeb;--tier-deep:#b45309;--tier-line:#d9770642}.tier-hard{--tier:#dc2626;--tier-soft:#fef2f2;--tier-deep:#b91c1c;--tier-line:#dc262638}.difficulty-ramp{border:1px solid var(--line);background:#ffffffad;border-radius:999px;gap:5px;padding:5px;display:flex;box-shadow:0 12px 28px -26px #311f7673}.ramp-step{min-width:0;color:var(--muted);letter-spacing:.02em;border-radius:999px;flex:1 1 0;justify-content:center;align-items:center;gap:7px;padding:7px 10px;font-size:.72rem;font-weight:800;transition:color .2s,background .2s,box-shadow .2s;display:flex}.ramp-step.done{color:var(--tier)}.ramp-step.active{background:var(--tier-soft);color:var(--tier-deep);box-shadow:inset 0 0 0 1px var(--tier-line)}.ramp-step.upcoming{opacity:.62}.ramp-dot{opacity:.42;background:currentColor;border-radius:50%;flex:none;width:7px;height:7px}.ramp-step.active .ramp-dot{opacity:1;box-shadow:0 0 0 3px color-mix(in srgb, var(--tier) 16%, transparent)}.question-tags{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.difficulty-badge{border:1px solid var(--tier-line);background:var(--tier-soft);color:var(--tier-deep);letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;padding:6px 10px;font-size:.68rem;font-weight:800;display:inline-flex}.card-mix{color:var(--muted);letter-spacing:.01em;margin-top:-3px;font-size:.67rem;font-weight:700;display:block}.tier-mastery{flex-wrap:wrap;gap:5px;display:flex}.tier-chip{border:1px solid var(--tier-line);background:color-mix(in srgb, var(--tier-soft) 72%, white);color:var(--tier-deep);border-radius:999px;align-items:baseline;gap:4px;padding:4px 7px;display:inline-flex}.tier-chip-label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.6rem;font-weight:800}.tier-chip strong{font-size:.67rem;font-weight:800}.loading-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:12px;height:12px;animation:.75s linear infinite spin;display:inline-block}.subtopic-card.is-loading{border-color:var(--accent);box-shadow:0 22px 40px -26px color-mix(in srgb, var(--accent) 55%, transparent)}.subtopic-card.is-loading .card-start{color:var(--accent-deep)}.load-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:14px;margin-bottom:16px;padding:13px 15px;font-size:.84rem;font-weight:650;line-height:1.5}.tier-breakdown{text-align:left;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:620px;margin:20px auto 0;display:grid}.tier-result{border:1px solid var(--tier-line);background:color-mix(in srgb, var(--tier-soft) 60%, white);border-radius:16px;padding:12px}.tier-result-head,.tier-result-foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.tier-result-head{color:var(--tier-deep);font-size:.74rem;font-weight:800}.tier-result-head strong{font-size:.8rem}.tier-bar{background:color-mix(in srgb, var(--tier) 13%, white);border-radius:999px;height:6px;margin:9px 0 8px;display:block;overflow:hidden}.tier-bar span{border-radius:inherit;background:var(--tier);height:100%;transition:width .5s cubic-bezier(.22,1,.36,1);display:block}.tier-result-foot{color:var(--muted);font-size:.64rem;font-weight:700}.new-tier-best{color:var(--tier-deep);font-weight:800}.review-content>.difficulty-badge{margin-bottom:6px}@media (width<=700px){.ramp-step{padding-inline:6px;font-size:.66rem}.tier-breakdown{grid-template-columns:1fr}.topic-count{display:none}}@media (width<=460px){.ramp-step{gap:4px;font-size:.62rem}.ramp-dot{display:none}}@media (prefers-reduced-motion:reduce){.loading-spinner{animation-duration:1.8s}}.session-settings{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff9e;border:1px solid #ffffffe6;border-radius:20px;justify-content:space-between;align-items:center;gap:18px;padding:14px 16px;display:flex;box-shadow:0 14px 32px -28px #311f7680}.session-settings-copy{flex-direction:column;gap:3px;display:flex}.session-settings-copy strong{letter-spacing:-.01em;font-size:.86rem}.session-settings-copy span{color:var(--muted);font-size:.75rem;font-weight:600}.toggle{border:1px solid color-mix(in srgb, var(--accent) 20%, transparent);background:var(--accent-soft);color:var(--accent-deep);cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:10px;padding:7px 9px 7px 14px;font-size:.75rem;font-weight:800;transition:background .2s,border-color .2s,transform .2s;display:inline-flex}.toggle:hover{transform:translateY(-1px)}.toggle.is-on{background:var(--accent-gradient);color:#fff;box-shadow:0 10px 20px -14px color-mix(in srgb, var(--accent) 80%, transparent);border-color:#0000}.toggle-text{white-space:nowrap}.toggle-track{background:#311f7633;border-radius:999px;width:34px;height:20px;transition:background .2s;position:relative}.toggle.is-on .toggle-track{background:#ffffff52}.toggle-thumb{background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #1e144647}.toggle.is-on .toggle-thumb{background:var(--accent-deep);transform:translate(14px)}.mode-note{color:var(--muted);background:#94a3b829;border-radius:999px;align-items:center;gap:6px;margin-top:4px;padding:5px 9px;font-size:.68rem;font-weight:800;display:inline-flex}.mode-note:before{content:"i";background:#64748b33;border-radius:50%;place-items:center;width:13px;height:13px;font-size:.58rem;font-style:italic;display:grid}@media (width<=560px){.session-settings{flex-direction:column;align-items:flex-start;gap:12px}.toggle{justify-content:space-between;width:100%}}
