@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_48b81b{font-family:Inter,Inter Fallback;font-style:normal}.__variable_48b81b{--font-inter:"Inter","Inter Fallback"}:root{--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--shadow-xs:0 1px 2px 0 rgba(0,0,0,0.04);--shadow-sm:0 1px 3px 0 rgba(0,0,0,0.06),0 1px 2px -1px rgba(0,0,0,0.03);--shadow-md:0 4px 8px -2px rgba(0,0,0,0.06),0 2px 4px -2px rgba(0,0,0,0.04);--shadow-lg:0 12px 24px -4px rgba(0,0,0,0.08),0 4px 8px -2px rgba(0,0,0,0.03);--ease:cubic-bezier(0.4,0,0.2,1);--ease-out-back:cubic-bezier(0.34,1.56,0.64,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-bounce:cubic-bezier(0.68,-0.55,0.265,1.55);--duration-instant:50ms;--duration-fast:150ms;--duration-normal:200ms;--duration-slow:300ms;--duration-slower:400ms;--duration-slowest:600ms;--color-primary:#58CC02;--color-primary-dark:#46A302;--color-secondary:#FF4B4B;--color-tertiary:#1CB0F5;--color-quaternary:#FF9600;--color-heart:#FF4B4B;--color-heart-light:#FFCDD2;--color-xp:#58CC02;--color-xp-gold:#FFD700;--color-streak:#FF9600;--color-streak-fire:#FF4B4B;--grey-50:#F9FAFB;--grey-100:#F3F4F6;--grey-200:#E5E7EB;--grey-300:#D1D5DB;--grey-400:#9CA3AF;--grey-500:#6B7280;--grey-600:#4B5563;--grey-700:#374151;--grey-800:#1F2937;--grey-900:#111827}*,:after,:before{box-sizing:border-box}#__next,body,html{margin:0;padding:0;min-height:100vh}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--grey-300);border-radius:var(--radius-full);-webkit-transition:background var(--duration-normal) var(--ease);transition:background var(--duration-normal) var(--ease)}::-webkit-scrollbar-thumb:hover{background:var(--grey-400)}*{scrollbar-width:thin;scrollbar-color:var(--grey-300) transparent}:focus-visible{outline:2px solid #3730A3;outline-offset:2px;border-radius:4px}::selection{background-color:rgba(79,70,229,.15);color:var(--grey-900)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.6}}@keyframes progress-stripe{0%{background-position:1rem 0}to{background-position:0 0}}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease) both}.animate-fade-in-up{animation:fadeInUp var(--duration-slow) var(--ease) both}.animate-fade-in-scale{animation:fadeInScale var(--duration-slow) var(--ease) both}.stagger-children>*{animation:fadeInUp var(--duration-slow) var(--ease) both}.stagger-children>:first-child{animation-delay:0s}.stagger-children>:nth-child(2){animation-delay:50ms}.stagger-children>:nth-child(3){animation-delay:.1s}.stagger-children>:nth-child(4){animation-delay:.15s}.stagger-children>:nth-child(5){animation-delay:.2s}.stagger-children>:nth-child(6){animation-delay:.25s}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:white;background:var(--color-primary);border:none;border-radius:var(--radius-md);box-shadow:0 4px 0 var(--color-primary-dark),0 5px 10px rgba(0,0,0,.1);cursor:pointer;transition:transform var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease);position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,.15),transparent);pointer-events:none}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--color-primary-dark),0 8px 15px rgba(0,0,0,.15)}.btn-primary:active{transform:translateY(2px);box-shadow:0 2px 0 var(--color-primary-dark),0 3px 5px rgba(0,0,0,.1)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--grey-700);background:var(--grey-200);border:none;border-radius:var(--radius-md);box-shadow:0 4px 0 var(--grey-400),0 5px 10px rgba(0,0,0,.1);cursor:pointer;transition:transform var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.btn-secondary:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--grey-400),0 8px 15px rgba(0,0,0,.15);background:var(--grey-300)}.btn-secondary:active{transform:translateY(2px);box-shadow:0 2px 0 var(--grey-400),0 3px 5px rgba(0,0,0,.1)}.btn-heart{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background:white;border:2px solid var(--color-heart-light);border-radius:50%;cursor:pointer;transition:all var(--duration-fast) var(--ease)}.btn-heart:hover{transform:scale(1.1);border-color:var(--color-heart)}.btn-heart:active{transform:scale(.95)}.btn-heart.liked{background:var(--color-heart);border-color:var(--color-heart);animation:heartBeat .3s ease}.lesson-card{background:white;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform var(--duration-normal) var(--ease),box-shadow var(--duration-normal) var(--ease)}.lesson-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.lesson-card:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.skill-node{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:var(--radius-full);background:var(--grey-100);border:3px solid var(--grey-300);transition:all var(--duration-normal) var(--ease);cursor:pointer}.skill-node:hover{transform:scale(1.1);border-color:var(--color-primary)}.skill-node.completed{background:var(--color-primary);border-color:var(--color-primary-dark)}.skill-node.locked{opacity:.5;cursor:not-allowed}.skill-node.locked:hover{transform:none;border-color:var(--grey-300)}.progress-bar{height:12px;background:var(--grey-200);overflow:hidden}.progress-bar,.progress-bar-fill{border-radius:var(--radius-full);position:relative}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-primary) 0,#7AE582 100%);transition:width var(--duration-slow) var(--ease-out-back)}.progress-bar-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3) 50%,transparent);animation:shimmer 2s infinite}.xp-progress{height:8px;background:var(--grey-200);overflow:hidden}.xp-progress,.xp-progress-fill{border-radius:var(--radius-full)}.xp-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-xp) 0,var(--color-xp-gold) 100%);transition:width var(--duration-slower) var(--ease-out-back)}.streak-flame{display:inline-block;animation:flameFlicker .5s ease-in-out infinite alternate}.input-field{width:100%;padding:16px 20px;font-size:18px;color:var(--grey-900);background:white;border:2px solid var(--grey-300);border-radius:var(--radius-md);outline:none;transition:border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.input-field:focus{border-color:var(--color-tertiary);box-shadow:0 0 0 4px rgba(28,176,245,.15)}.input-field::placeholder{color:var(--grey-400)}.input-field.error{border-color:var(--color-secondary);animation:shake .5s ease}.input-field.success{border-color:var(--color-primary)}.answer-option{display:flex;align-items:center;gap:16px;padding:16px 20px;background:white;border:2px solid var(--grey-200);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-fast) var(--ease);position:relative;overflow:hidden}.answer-option:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(0,0,0,.02),transparent);pointer-events:none}.answer-option:hover{border-color:var(--color-tertiary);background:#F0F9FF;transform:translateX(4px)}.answer-option:active{transform:translateX(2px)}.answer-option.selected{border-color:var(--color-tertiary);background:#E0F2FE}.answer-option.correct{border-color:var(--color-primary);background:#DCFCE7;animation:correctPulse .5s ease}.answer-option.incorrect{border-color:var(--color-secondary);background:#FEE2E2;animation:shake .5s ease}.option-number{display:flex;align-items:center;justify-content:center;width:40px;height:40px;font-weight:700;font-size:18px;color:var(--grey-600);background:var(--grey-100);border-radius:50%;flex-shrink:0;transition:all var(--duration-fast) var(--ease)}.answer-option.selected .option-number,.answer-option:hover .option-number{background:var(--color-tertiary);color:white}.answer-option.correct .option-number{background:var(--color-primary);color:white}.answer-option.incorrect .option-number{background:var(--color-secondary);color:white}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.animate-shake{animation:shake .5s ease}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes heartBeat{0%{transform:scale(1)}25%{transform:scale(1.3)}50%{transform:scale(1)}75%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes correctPulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes flameFlicker{0%{transform:scale(1) rotate(-2deg)}to{transform:scale(1.1) rotate(2deg)}}@keyframes popIn{0%{transform:scale(0);opacity:0}70%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes slideUpFade{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDownFade{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes rotateIn{0%{transform:rotate(-10deg) scale(.9);opacity:0}to{transform:rotate(0) scale(1);opacity:1}}@keyframes wiggle{0%,to{transform:rotate(0deg)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes rubberBand{0%{transform:scale(1)}30%{transform:scale(1.25,.75)}40%{transform:scale(.75,1.25)}50%{transform:scale(1.15,.85)}65%{transform:scale(.95,1.05)}75%{transform:scale(1.05,.95)}to{transform:scale(1)}}@keyframes xpGain{0%{transform:translateY(0) scale(1);opacity:1}50%{transform:translateY(-20px) scale(1.2);opacity:1}to{transform:translateY(-40px) scale(.8);opacity:0}}.animate-xp-gain{animation:xpGain 1s ease-out forwards;color:var(--color-xp);font-weight:700;font-size:24px}.animate-bounce{animation:bounce .6s ease infinite}.animate-pop-in{animation:popIn .4s var(--ease-out-back) both}.animate-slide-up{animation:slideUpFade .4s var(--ease) both}.animate-slide-down{animation:slideDownFade .4s var(--ease) both}.animate-scale-in{animation:scaleIn .3s var(--ease-out-back) both}.animate-rotate-in{animation:rotateIn .4s var(--ease) both}.animate-wiggle{animation:wiggle .5s ease}.animate-rubber-band{animation:rubberBand .6s ease}.hover-lift{transition:transform var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.hover-lift:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.focus-ring{transition:box-shadow var(--duration-fast) var(--ease)}.focus-ring:focus{box-shadow:0 0 0 4px rgba(88,204,2,.3)}.page-enter{opacity:0;transform:translateY(10px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity var(--duration-slow) var(--ease),transform var(--duration-slow) var(--ease)}.page-exit{opacity:1}.page-exit-active{opacity:0;transition:opacity var(--duration-fast) var(--ease)}.page-transition-wrapper{animation:pageIn .3s var(--ease) both}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.skeleton{background:linear-gradient(90deg,var(--grey-200) 25%,var(--grey-100) 50%,var(--grey-200) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.skeleton-text{height:16px;margin-bottom:8px}.skeleton-title{height:24px;width:60%;margin-bottom:12px}.skeleton-avatar{width:48px;height:48px;border-radius:50%}.spinner{width:24px;height:24px;border:3px solid var(--grey-200);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.score-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-size:48px;font-weight:800;color:var(--color-primary);text-shadow:0 4px 20px rgba(88,204,2,.4);animation:scorePop 1s var(--ease-out-back) forwards;pointer-events:none;z-index:1000}@keyframes scorePop{0%{transform:translate(-50%,-50%) scale(0);opacity:0}50%{transform:translate(-50%,-50%) scale(1.2);opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:0}}.level-up{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(180deg,#1CB0F5,#58CC02);z-index:1000;animation:levelUpIn .5s var(--ease) forwards}.level-up h1{font-size:64px;color:white;text-shadow:0 4px 20px rgba(0,0,0,.3);animation:levelUpText .8s var(--ease-out-back) .3s both}@keyframes levelUpIn{0%{opacity:0}to{opacity:1}}@keyframes levelUpText{0%{transform:scale(0);opacity:0}70%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}a{transition:color var(--duration-fast) var(--ease)}a:hover{color:var(--color-primary)}.list-item{transition:background-color var(--duration-fast) var(--ease),transform var(--duration-fast) var(--ease)}.list-item:hover{background-color:var(--grey-50);transform:translateX(4px)}.img-zoom{overflow:hidden}.img-zoom img{transition:transform var(--duration-slow) var(--ease)}.img-zoom:hover img{transform:scale(1.05)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.skeleton{animation:none;background:var(--grey-200)}}@media (max-width:768px){.btn-primary,.btn-secondary{padding:14px 28px;font-size:18px}.answer-option{padding:14px 16px}.option-number{width:36px;height:36px;font-size:16px}}