:root,[data-theme=light]{--bg:#f1f5f9;--card:#fff;--text:#1e293b;--border:#e2e8f0;--muted:#64748b;--bg2:#f8fafc;--font-size:16px}[data-theme=dark]{--bg:#0f172a;--card:#1e293b;--text:#f1f5f9;--border:#334155;--muted:#94a3b8;--bg2:#1a2536}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f1f5f9;background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:16px;font-size:var(--font-size);margin:0;padding-bottom:env(safe-area-inset-bottom,0);padding-top:env(safe-area-inset-top,0)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.page-enter{animation:pageEnter .25s ease-out}@keyframes comboPop{0%{opacity:0;transform:scale(.5)}70%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.combo-badge{animation:comboPop .3s ease-out}.ans-btn:active{transform:scale(.97)}@media (max-width:480px){.subjects-grid{grid-template-columns:1fr!important}.subject-grid{gap:10px!important;grid-template-columns:1fr 1fr!important}.ans-btn{font-size:14px!important;padding:12px 10px!important}.color-picker{flex-wrap:wrap!important}.lb-row{font-size:13px!important}.bottom-nav{padding-bottom:env(safe-area-inset-bottom,8px)!important}}.auth-input{background:#fff;background:var(--card);border:2px solid #e2e8f0;border:2px solid var(--border);border-radius:10px;box-sizing:border-box;color:#1e293b;color:var(--text);font-family:inherit;font-size:15px;padding:12px 14px;transition:border-color .15s;width:100%}.auth-input:focus{border-color:var(--accent);outline:none}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spin-smooth{to{transform:rotate(1turn)}}@keyframes pulse-dot{0%,80%,to{opacity:.4;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.loading-spinner{animation:spin-smooth .8s linear infinite;border:4px solid var(--border);border-radius:50%;border-top-color:var(--accent);height:48px;width:48px}.loading-dots{display:flex;gap:8px;margin-top:16px}.loading-dots span{animation:pulse-dot 1.2s ease-in-out infinite;background:var(--accent);border-radius:50%;height:8px;width:8px}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:0 2px 8px #00000014;transition:transform .2s ease,box-shadow .2s ease}.card-hover:hover{box-shadow:0 6px 18px #00000024;transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 78%,#fff));border:none;border-radius:12px;color:#fff;cursor:pointer;font-weight:700;transition:transform .12s ease,filter .2s ease,box-shadow .2s ease}.btn-primary:hover{filter:brightness(1.08)}.btn-primary:active{transform:scale(.98)}.btn-ghost{background:#0000;border:1px solid var(--border);border-radius:12px;color:var(--text);cursor:pointer;transition:background .2s ease}.btn-ghost:hover{background:var(--bg2)}.progress-bar{background:var(--border);border-radius:99px;height:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 65%,#fff));border-radius:99px;height:100%;transition:width .4s ease}.badge{background:var(--bg2);border-radius:99px;color:var(--muted);display:inline-block;font-size:12px;font-weight:600;padding:2px 10px}.page-enter{animation:pageEnter .3s ease both}@keyframes pageEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}input:focus,select:focus,textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,#0000);outline:none}.ans-btn{transition:transform .15s ease,box-shadow .15s ease}.ans-btn:hover{transform:translateX(4px)}.score-gradient{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#fff));-webkit-background-clip:text;background-clip:text}@keyframes flashCorrect{0%{box-shadow:0 0 0 4px #16a34a55}to{box-shadow:none}}@keyframes flashWrong{0%{box-shadow:0 0 0 4px #dc262655}to{box-shadow:none}}.flash-correct{animation:flashCorrect .6s ease}.flash-wrong{animation:flashWrong .6s ease}
/*# sourceMappingURL=main.cc43d848.css.map*/