body{background-color:#f8fafc;color:#1e293b}.container{padding:0 1rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.space-x-1>*+*{margin-left:.25rem}.space-x-2>*+*{margin-left:.5rem}.space-x-3>*+*{margin-left:.75rem}.space-x-4>*+*{margin-left:1rem}.space-y-4>*+*{margin-top:1rem}.space-y-6>*+*{margin-top:1.5rem}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.w-3{width:.75rem}.h-3{height:.75rem}.w-4{width:1rem}.h-4{height:1rem}.w-5{width:1.25rem}.h-5{height:1.25rem}.w-6{width:1.5rem}.h-6{height:1.5rem}.w-8{width:2rem}.h-8{height:2rem}.w-12{width:3rem}.h-12{height:3rem}.w-24{width:6rem}.h-24{height:6rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.text-gray-300{color:#d1d5db}.text-green-300{color:#86efac}.text-purple-300{color:#d8b4fe}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.btn{align-items:center;border:1px solid #0000;border-radius:.375rem;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;justify-content:center;padding:.5rem 1rem;text-decoration:none;transition:all .2s ease-in-out;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.5}.btn:hover:not(:disabled){box-shadow:0 4px 8px #0000001a;transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn-primary{background-color:#3b82f6;border-color:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background-color:#2563eb;border-color:#2563eb;box-shadow:0 4px 12px #3b82f64d}.btn-secondary{background-color:#6b7280;border-color:#6b7280;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#4b5563;border-color:#4b5563;box-shadow:0 4px 12px #6b72804d}.btn-danger{background-color:#ef4444;border-color:#ef4444;color:#fff}.btn-danger:hover:not(:disabled){background-color:#dc2626;border-color:#dc2626;box-shadow:0 4px 12px #ef44444d}.btn-outline{background-color:initial;border-color:#d1d5db;color:#374151}.btn-outline:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af;box-shadow:0 4px 8px #0000001a}.btn-sm{font-size:.75rem;padding:.25rem .75rem}.input{border:1px solid #d1d5db;border-radius:.375rem;display:block;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease-in-out;width:100%}.input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.label{color:#374151;display:block;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.card{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 3px 0 #0000001a;transition:all .2s ease-in-out}.card:hover{box-shadow:0 4px 12px 0 #0000001a;transform:translateY(-1px)}.card-header{padding:1.5rem 1.5rem 0}.card-content{padding:1.5rem}.card-title{align-items:center;display:flex;font-size:1.25rem;font-weight:600;margin-bottom:.25rem}.card-description{color:#6b7280;font-size:.875rem}.badge{align-items:center;border-radius:.25rem;display:inline-flex;font-size:.75rem;font-weight:500;padding:.25rem .5rem;white-space:nowrap}.badge-default{background-color:#f3f4f6;color:#374151}.badge-success{background-color:#dcfce7;color:#166534}.badge-danger{background-color:#fee2e2;color:#991b1b}.badge-warning{background-color:#fef3c7;color:#92400e}.alert{align-items:center;border:1px solid;border-radius:.375rem;display:flex;margin-bottom:1rem;padding:.75rem}.alert-success{background-color:#f0fdf4;border-color:#bbf7d0;color:#166534}.alert-error{background-color:#fef2f2;border-color:#fecaca;color:#991b1b}.modal-overlay{align-items:center;animation:fadeIn .2s ease-in-out;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:slideIn .2s ease-in-out;background-color:#fff;border-radius:.5rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;max-width:500px;overflow-y:auto;padding:1.5rem;width:90%}.full-modal-content{border-radius:0;height:100%;max-height:none;max-width:none;padding:1rem;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.navbar{background-color:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px 0 #0000001a;padding:1rem 0}.min-h-screen{min-height:100vh}.text-center{text-align:center}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-gray-500{color:#6b7280}.text-gray-600{color:#4b5563}.text-gray-700{color:#374151}.text-blue-600{color:#2563eb}.text-green-600{color:#16a34a}.text-red-600{color:#dc2626}.text-purple-600{color:#9333ea}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mt-4{margin-top:1rem}.w-full{width:100%}.max-w-md{max-width:28rem}.border{border:1px solid #e5e7eb}.border-rounded{border-radius:.5rem}.flex-1{flex:1 1}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.select-none{-webkit-user-select:none;user-select:none}.pointer-events-none{pointer-events:none}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.transform{transform:var(--tw-transform)}.rotate-0{--tw-rotate:0deg}.rotate-0,.rotate-180{transform:rotate(var(--tw-rotate))}.rotate-180{--tw-rotate:180deg}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-transform{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\:bg-gray-50:hover{background-color:#f9fafb}.hover\:text-blue-600:hover{color:#2563eb}.hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{box-shadow:0 0 0 2px #3b82f680}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:space-x-4>*+*{margin-left:1rem}.md\:space-y-0>*+*{margin-top:0}}@media (min-width:1024px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}.loading-spinner{animation:spin 1s linear infinite;border:2px solid #f3f4f6;border-radius:50%;border-top-color:#3b82f6;display:inline-block;height:20px;margin-right:.5rem;width:20px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.form-group{margin-bottom:1rem}.form-group:last-child{margin-bottom:0}.table{border-collapse:collapse;width:100%}.table td,.table th{border-bottom:1px solid #e5e7eb;padding:.75rem;text-align:left}.table th{background-color:#f9fafb;color:#374151;font-weight:600}.list-none{list-style:none}.list-disc{list-style-type:disc}.list-decimal{list-style-type:decimal}.bg-white{background-color:#fff}.bg-gray-50{background-color:#f9fafb}.bg-gray-100{background-color:#f3f4f6}.bg-blue-50{background-color:#eff6ff}.bg-green-50{background-color:#f0fdf4}.bg-red-50{background-color:#fef2f2}.divider{background-color:#e5e7eb;height:1px;margin:1rem 0}.tooltip{display:inline-block;position:relative}.tooltip .tooltip-text{background-color:#374151;border-radius:6px;bottom:125%;color:#fff;font-size:.75rem;left:50%;margin-left:-60px;opacity:0;padding:5px;position:absolute;text-align:center;transition:opacity .3s;visibility:hidden;width:120px;z-index:1}.tooltip:hover .tooltip-text{opacity:1;visibility:visible}.progress{background-color:#e5e7eb;border-radius:.25rem;height:.5rem;overflow:hidden;width:100%}.progress-bar{background-color:#3b82f6;height:100%;transition:width .3s ease-in-out}.toggle{display:inline-block;height:1.5rem;position:relative;width:3rem}.toggle input{height:0;opacity:0;width:0}.toggle-slider{background-color:#ccc;border-radius:1.5rem;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:.1875rem;content:"";height:1.125rem;left:.1875rem;position:absolute;transition:.4s;width:1.125rem}.toggle input:checked+.toggle-slider{background-color:#3b82f6}.toggle input:checked+.toggle-slider:before{transform:translateX(1.5rem)}@media only screen and (max-width:600px){.container{padding:0 .75rem}.grid-cols-3,.grid-cols-5,.lg\:grid-cols-4,.lg\:grid-cols-6,.md\:grid-cols-2,.md\:grid-cols-3,.md\:grid-cols-5{grid-template-columns:1fr!important}.flex{flex-direction:column}.btn{width:100%}.card{padding:1rem}.table td,.table th{font-size:.75rem;padding:.5rem}.text-2xl,.text-3xl,.text-lg,.text-xl{font-size:1rem}.p-4,.p-6,.p-8{padding:.75rem!important}.mb-4,.mb-6,.mt-4{margin:.5rem!important}.space-x-2>*+*{margin-left:0}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.app{background:linear-gradient(135deg,#fff5f5,#fed7d7);min-height:100vh;padding:20px}.container{margin:0 auto;max-width:1200px}.header{margin-bottom:40px;text-align:center}.title{color:#c53030;font-size:3rem;font-weight:700}.subtitle,.title{margin-bottom:16px}.subtitle{color:#4a5568;font-size:1.25rem}.score-badge{background-color:#38a169;border-radius:20px;color:#fff;display:inline-block;font-size:1.125rem;padding:8px 16px}.activities-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.activity-card{background:#fff;border:2px solid;border-radius:12px;cursor:pointer;padding:24px;text-align:center;transition:all .3s ease}.activity-card:hover{box-shadow:0 10px 25px #0000001a;transform:scale(1.05)}.activity-icon{font-size:4rem;margin-bottom:16px}.activity-title{color:#2d3748;font-size:1.5rem;font-weight:700;margin-bottom:12px}.activity-description{color:#4a5568;font-size:1.125rem;margin-bottom:16px}.start-button{background-color:#e53e3e;border:none;border-radius:25px;color:#fff;cursor:pointer;font-size:1.125rem;padding:12px 24px;transition:background-color .3s ease;width:100%}.start-button:hover{background-color:#c53030}.card-sky{background-color:#f0f9ff;border-color:#7dd3fc}.card-blue{background-color:#dbeafe;border-color:#60a5fa}.card-green{background-color:#dcfce7;border-color:#4ade80}.card-purple{background-color:#f3e8ff;border-color:#a78bfa}.card-orange{background-color:#fed7aa;border-color:#fb923c}.card-red{background-color:#fee2e2;border-color:#f87171}.card-yellow{background-color:#fefce8;border-color:#facc15}.card-indigo{background-color:#e0e7ff;border-color:#818cf8}.card-pink{background-color:#fce7f3;border-color:#f472b6}.card-teal{background-color:#f0fdfa;border-color:#2dd4bf}.card-lime{background-color:#f7fee7;border-color:#84cc16}.card-cyan{background-color:#ecfeff;border-color:#22d3ee}.lesson-container{margin:0 auto;max-width:800px}.lesson-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.back-button{background-color:#ed8936;border:none;border-radius:25px;color:#fff;cursor:pointer;font-size:1.125rem;padding:12px 24px;transition:background-color .3s ease}.back-button:hover{background-color:#dd6b20}.lesson-card{background:#fff;border:2px solid;border-radius:12px;margin-bottom:24px;padding:32px}.lesson-title{font-size:2rem;font-weight:700;margin-bottom:24px;text-align:center}.progress-bar{background-color:#e2e8f0;border-radius:6px;height:12px;margin-bottom:24px;overflow:hidden;width:100%}.progress-fill{background-color:#3182ce;height:100%;transition:width .5s ease}.step-content{background:#fff;border:2px solid #e2e8f0;border-radius:8px;margin-bottom:24px;padding:24px;text-align:center}.step-title{color:#2b6cb0;font-size:1.5rem;font-weight:700;margin-bottom:16px}.step-text{color:#4a5568;font-size:1.25rem;margin-bottom:16px}.step-instruction{color:#2b6cb0;font-size:1.125rem;font-weight:500}.abacus-container{display:flex;justify-content:center;margin:24px 0}.abacus{background-color:#fef3c7;border:4px solid #f59e0b;border-radius:8px;padding:32px}.abacus-frame{align-items:center;background-color:#fed7aa;border:2px solid #f59e0b;border-radius:8px;display:flex;flex-direction:column;padding:16px}.abacus-rod{background-color:#d97706;height:48px;margin:8px 0;width:8px}.abacus-bead{border:4px solid;border-radius:50%;cursor:pointer;height:32px;margin:4px 0;transition:all .3s ease;width:48px}.abacus-bead:hover{transform:scale(1.1)}.abacus-bead.active{animation:pulse 1s infinite}.abacus-separator{background-color:#d97706;height:8px;margin:16px 0;width:80px}.top-bead{background-color:#ef4444;border-color:#dc2626}.top-bead.selected{background-color:#22c55e;border-color:#16a34a}.bottom-bead{background-color:#3b82f6;border-color:#2563eb}.bottom-bead.selected{background-color:#8b5cf6;border-color:#7c3aed}.separator-button{background-color:#d97706;border:none;cursor:pointer;transition:all .3s ease}.separator-button:hover{background-color:#b45309}.separator-button.selected{animation:pulse 1s infinite;background-color:#3b82f6}.explanation-box{animation:fadeIn .5s ease;background-color:#f0fdf4;border:2px solid #22c55e;border-radius:8px;margin:16px 0;padding:16px}.explanation-title{color:#15803d;font-size:1.25rem;font-weight:700;margin-bottom:8px}.explanation-text{color:#166534;font-size:1.125rem}.navigation-buttons{display:flex;gap:16px;justify-content:center;margin-top:24px}.nav-button{background-color:#3182ce;border:none;border-radius:25px;color:#fff;cursor:pointer;font-size:1.125rem;padding:12px 32px;transition:background-color .3s ease}.nav-button:hover{background-color:#2c5aa0}.nav-button:disabled{background-color:#a0aec0;cursor:not-allowed}.nav-button.primary{background-color:#3182ce}.nav-button.secondary{background-color:#718096}.hint-text{animation:bounce 2s infinite;color:#ed8936;font-weight:500;margin-top:16px;text-align:center}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.special-instruction{background-color:#fef3c7;border:2px solid #f59e0b;border-radius:8px;margin:16px 0;padding:16px;text-align:center}.special-instruction.red{background-color:#fee2e2;border-color:#ef4444}.special-instruction.blue{background-color:#dbeafe;border-color:#3b82f6}.special-instruction.gray{background-color:#f9fafb;border-color:#6b7280}.special-icon{font-size:2.5rem;margin-bottom:8px}.special-title{font-size:1.25rem;font-weight:700;margin-bottom:8px}.special-text{font-size:1.125rem}.end-screen{padding:32px;text-align:center}.end-title{color:#3182ce;font-size:2rem;font-weight:700;margin-bottom:16px}.end-stats{grid-gap:16px;display:grid;font-size:1.25rem;gap:16px;grid-template-columns:1fr 1fr;margin:24px 0}.end-stat{background:#fff;border:2px solid #e2e8f0;border-radius:8px;padding:16px}.end-stat-value{color:#22c55e;font-size:2rem;font-weight:700}.end-message{font-size:1.25rem;margin:24px 0}
/*# sourceMappingURL=main.3b888dff.css.map*/