:root{--color-primary:#3b5fe0;--color-primary-dark:#1e3ca8;--color-primary-light:#eef1fd;--color-ink:#0e1420;--color-body:#4b5163;--color-white:#fff;--color-border:#e6e8f0;--color-surface:#f7f8fc;--color-accent-green:#2fbf71;--color-accent-orange:#e8873a;--radius-sm:10px;--radius-md:18px;--radius-lg:28px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:32px;--shadow-card:0 10px 30px #141e460f;--font-sans:"Poppins", system-ui, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}body{background:var(--color-white);font-family:var(--font-sans);color:var(--color-body);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4{color:var(--color-ink);margin:0;font-weight:700;line-height:1.2}button{cursor:pointer;font-family:inherit}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);border:none;padding:12px 24px;font-size:14px;font-weight:600;display:inline-flex}.btn-primary{background:var(--color-primary);color:var(--color-white)}.btn-primary:hover{background:var(--color-primary-dark)}.btn-secondary{background:var(--color-surface);color:var(--color-ink);border:1px solid var(--color-border)}.btn:disabled{opacity:.45;cursor:not-allowed}.card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-4)}.card-clickable{transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s,border-color .18s}.card-clickable:hover:not(:disabled){box-shadow:0 14px 28px #0a1f442e, 0 0 0 2px var(--color-primary);transform:translateY(-6px)scale(1.03)}.card-clickable:active:not(:disabled){transform:translateY(-1px)scale(.97);box-shadow:0 4px 10px #0a1f4426}@keyframes card-select-pulse{0%{transform:scale(1);box-shadow:0 0 #0a1f4466}40%{transform:scale(1.06);box-shadow:0 0 0 10px #0a1f4400}to{transform:scale(1.02);box-shadow:0 0 0 10px #0a1f4400}}.card-selected{animation:.35s ease-out forwards card-select-pulse;border-color:var(--color-primary)!important}@media (prefers-reduced-motion:reduce){.card-clickable:hover:not(:disabled){transform:none}.card-selected{animation:none!important}}.logo{width:auto;height:32px}.topic-picker-layout{gap:var(--space-4);grid-template-columns:minmax(0,1fr) 300px;align-items:start;display:grid}.topic-picker-main,.topic-picker-sidebar{max-height:calc(100vh - 160px);position:sticky;top:20px;overflow-y:auto}@media (width<=860px){.topic-picker-layout{grid-template-columns:1fr}.topic-picker-main,.topic-picker-sidebar{max-height:none;position:static;overflow-y:visible}}.homepage-split-hero{grid-template-columns:1.1fr .9fr;align-items:start;gap:48px;display:grid}@media (width<=760px){.homepage-split-hero{grid-template-columns:1fr}}.practice-stats-row{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}@media (width<=480px){.practice-stats-row{grid-template-columns:1fr 1fr;gap:14px 20px}}.rich-answer-editor-content .ProseMirror{outline:none;min-height:6em;padding:10px 12px}.rich-answer-editor-content .ProseMirror p{margin:0 0 .5em}.rich-answer-editor-content .ProseMirror table{border-collapse:collapse;margin:.5em 0}.rich-answer-editor-content .ProseMirror table td,.rich-answer-editor-content .ProseMirror table th{border:1px solid var(--color-border);min-width:60px;padding:4px 8px}.rich-answer-editor-content .ProseMirror table th{background:var(--color-surface);font-weight:700}.stimulus-table{border-collapse:collapse;margin-bottom:.5rem;font-style:normal}.stimulus-table th,.stimulus-table td{border:1px solid var(--color-border);text-align:left;padding:6px 14px}.stimulus-table th{background:var(--color-primary-light);font-weight:600}.stimulus-table td:empty:after{content:" "}.site-footer{background:var(--color-primary);color:var(--color-white);padding:56px 24px 28px}.site-footer-inner{flex-wrap:wrap;justify-content:space-between;gap:40px;max-width:1080px;margin:0 auto;display:flex}.site-footer-brand{flex-direction:column;gap:24px;display:flex}.site-footer-logo{width:auto;height:60px;display:block}.site-footer-icons{gap:14px;display:flex}.site-footer-icon{width:44px;height:44px;color:var(--color-white);border:1px solid #ffffff80;border-radius:50%;justify-content:center;align-items:center;display:flex}.site-footer-icon:hover{background:#ffffff24}.site-footer-nav h4{color:var(--color-white);margin-bottom:16px;font-size:18px}.site-footer-nav ul{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.site-footer-nav a{color:#ffffffe0;font-size:15px;text-decoration:none}.site-footer-nav a:hover{color:var(--color-white);text-decoration:underline}.site-footer-bottom{color:#ffffffc7;text-align:center;border-top:1px solid #ffffff40;max-width:1080px;margin:48px auto 0;padding-top:22px;font-size:14px}@keyframes demo-cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes demo-marking-spin{to{transform:rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes demo-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.demo-cursor,.demo-marking-spinner,.demo-fade-in,.mock-exams-pulse,.spinner{animation:none!important}}@keyframes mock-exams-pulse{0%,to{box-shadow:0 0 14px 4px #ffc1078c,0 0 #ffc107d9}50%{box-shadow:0 0 14px 4px #ffc1078c,0 0 0 18px #ffc10700}}.mock-exams-pulse{animation:2.2s ease-out infinite mock-exams-pulse}.stimulus-code{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-ink);background:#f2f2f2;margin:0 0 1rem;padding:12px 14px;font-family:SFMono-Regular,Menlo,Consolas,Courier New,monospace;font-size:13px;font-style:normal;line-height:1.55;overflow-x:auto}.inline-code{background:#f2f2f2;border-radius:3px;padding:1px 5px;font-family:SFMono-Regular,Menlo,Consolas,Courier New,monospace;font-size:.92em;font-style:normal;font-weight:400}.stimulus-code code{white-space:pre;font-family:inherit}._wrap_1ffqz_1{border:1px solid #ddd;border-radius:8px;max-width:400px;margin:3rem auto;padding:2rem}._subtitle_1ffqz_9{opacity:.7;margin-bottom:1.5rem}._field_1ffqz_14{flex-direction:column;gap:.25rem;margin-bottom:1rem;display:flex}._field_1ffqz_14 input{padding:.5rem;font-size:1rem}._submit_1ffqz_26{width:100%;margin-top:.5rem;padding:.75rem}._error_1ffqz_32{color:#dc143c;margin-bottom:1rem}._switch_1ffqz_37{text-align:center;margin-top:1.5rem}._linkButton_1ffqz_42{color:#2563eb;cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}
