@import "https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}*{-webkit-user-select:none;-webkit-touch-callout:none}input,textarea,select{-webkit-user-select:text;user-select:text}:root{--green:#58cc02;--green-dark:#46a302;--blue:#1cb0f6;--blue-dark:#1899d6;--red:#ff4b4b;--red-dark:#ea2b2b;--amber:#ffc800;--amber-dark:#e5b400;--purple:#ce82ff;--bg:#131f24;--bg-card:#1a2d35;--bg-surface:#233a44;--card-front-bg:#fdf8ef;--card-front-text:#1a1a1a;--text:#fff;--text-secondary:#8ba4ae;--text-muted:#56717b;--border:#2c4a55;--radius:16px;--radius-lg:20px;--radius-xl:24px;--radius-pill:100px;--font:"Nunito", -apple-system, BlinkMacSystemFont, sans-serif;--shadow-card:0 8px 32px #0000004d}body{font-family:var(--font);background:var(--bg);min-height:100vh;color:var(--text);overflow-x:hidden}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{flex-direction:column;min-height:100vh;display:flex}.btn-jelly{font-family:var(--font);letter-spacing:.8px;cursor:pointer;text-transform:uppercase;will-change:transform;border:none;font-size:15px;font-weight:800;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s cubic-bezier(.34,1.56,.64,1);position:relative}.btn-jelly:hover{transform:scale(1.05)translateY(-2px)}.btn-jelly:active{transition:transform .1s cubic-bezier(.4,0,1,1);transform:scale(.92)translateY(2px)}.btn-jelly.jelly-release{animation:.6s cubic-bezier(.34,1.56,.64,1) jellyBounce}@keyframes jellyBounce{0%{transform:scale(.92)}30%{transform:scale(1.08)translateY(-3px)}50%{transform:scale(.97)}70%{transform:scale(1.03)}to{transform:scale(1)}}.btn-green{background:var(--green);color:#fff;border-radius:var(--radius);border-bottom:5px solid var(--green-dark);box-shadow:0 6px 20px #58cc024d}.btn-green:active{border-bottom-width:2px;box-shadow:0 2px 8px #58cc0233}.btn-amber{background:var(--amber);color:#1a1a1a;border-radius:var(--radius);border-bottom:5px solid var(--amber-dark);box-shadow:0 6px 20px #ffc80040}.btn-amber:active{border-bottom-width:2px;box-shadow:0 2px 8px #ffc80026}.btn-ghost{color:var(--text-secondary);border:2px solid var(--border);border-radius:var(--radius);border-bottom:4px solid var(--border);box-shadow:none;background:0 0}.btn-ghost:active{border-bottom-width:2px}.pill{font-family:var(--font);border:2px solid var(--border);border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;padding:8px 16px;font-size:13px;font-weight:700;transition:all .25s cubic-bezier(.34,1.56,.64,1)}.pill:hover{border-color:var(--text-secondary);color:var(--text);transform:scale(1.05)}.pill:active{transform:scale(.92)}.pill.active{background:var(--blue);border-color:var(--blue);color:#fff;transform:scale(1.02);box-shadow:0 4px 16px #1cb0f64d}.flashcard-stage{perspective:1200px;width:100%}.flashcard-inner{width:100%;transform-style:preserve-3d;cursor:pointer;will-change:transform;transition:transform .55s cubic-bezier(.23,1.02,.32,1.05);position:relative}.flashcard-inner.flipped{transform:rotateY(180deg)}.flashcard-face{backface-visibility:hidden;border-radius:var(--radius-xl);flex-direction:column;justify-content:center;align-items:center;padding:32px 28px;display:flex;position:absolute;inset:0}.flashcard-face.back{transform:rotateY(180deg)}@keyframes cardEnterSpring{0%{opacity:0;filter:blur(4px);transform:translate(60px)scale(.9)rotate(2deg)}60%{opacity:1;filter:blur();transform:translate(-8px)scale(1.02)rotate(-.5deg)}80%{transform:translate(3px)scale(.995)rotate(.2deg)}to{opacity:1;filter:blur();transform:translate(0)scale(1)rotate(0)}}@keyframes cardExitSquish{0%{opacity:1;filter:blur();transform:translate(0)scale(1)rotate(0)}40%{transform:translate(-20px)scaleX(.95)scaleY(1.03)rotate(-1deg)}to{opacity:0;filter:blur(6px);transform:translate(-80px)scale(.85)rotate(-3deg)}}@keyframes correctCelebrate{0%{transform:scale(1);box-shadow:0 0 #58cc0200}25%{transform:scale(1.06);box-shadow:0 0 40px 8px #58cc0266}50%{transform:scale(.97);box-shadow:0 0 20px 4px #58cc0233}75%{transform:scale(1.02)}to{transform:scale(1);box-shadow:0 0 #58cc0200}}@keyframes wrongShakeSpring{0%,to{transform:translate(0)rotate(0)}10%{transform:translate(-12px)rotate(-2deg)}20%{transform:translate(12px)rotate(2deg)}30%{transform:translate(-8px)rotate(-1deg)}40%{transform:translate(8px)rotate(1deg)}50%{transform:translate(-4px)rotate(-.5deg)}60%{transform:translate(4px)rotate(.5deg)}70%{transform:translate(-2px)}}@keyframes fadeUpSpring{0%{opacity:0;transform:translateY(24px)scale(.95)}60%{transform:translateY(-4px)scale(1.01)}to{opacity:1;transform:translateY(0)scale(1)}}.card-enter{animation:.5s cubic-bezier(.34,1.56,.64,1) both cardEnterSpring}.card-exit{animation:.3s cubic-bezier(.4,0,1,1) both cardExitSquish}.animate-correct{animation:.5s cubic-bezier(.34,1.56,.64,1) correctCelebrate}.animate-wrong{animation:.5s cubic-bezier(.36,.07,.19,.97) wrongShakeSpring}.fade-up{animation:.4s cubic-bezier(.34,1.56,.64,1) both fadeUpSpring}.confetti-particle{pointer-events:none;z-index:9999;border-radius:2px;width:8px;height:8px;position:fixed}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}@keyframes progressGlow{0%,to{box-shadow:0 0 8px #58cc024d}50%{box-shadow:0 0 16px #58cc0299}}
