:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.app-header{background-color:#50c878;color:#000;text-align:center;font-family:"Cursive",sans-serif;font-size:4rem;font-weight:700;padding:1rem 0;position:fixed;top:0;left:0;right:0;z-index:1000}@media(max-width:768px){.app-header{font-size:2.2rem;padding:.75rem 0}}.user-form{margin-top:8rem;margin-left:auto;margin-right:auto;padding-top:1rem;display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1rem;max-width:600px;width:100%;box-sizing:border-box}.user-form div{display:flex;align-items:center;gap:.5rem;width:100%}.user-form label{width:12rem;font-weight:700}.name-input,.grade-select,.experience-select,.operation-select,.multiplication-type-select{padding:.5rem;font-size:1rem;border:1px solid #ccc;border-radius:4px;flex:1;width:100%;box-sizing:border-box}@media(max-width:768px){.user-form{margin-top:0;padding-top:6rem}.user-form div{flex-direction:column;align-items:flex-start}.user-form label{width:auto}}.submit-button{padding:.75rem 1.5rem;font-size:1.2rem;background-color:#50c878;color:#000;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s;font-weight:700}.submit-button:hover{background-color:#3daf63}.submit-button:active{background-color:#2e8b4a}.submit-button:disabled{background-color:#a9a9a9;cursor:not-allowed}.error-message{color:red;font-weight:700}.success-message{color:green;font-weight:700}.loading-message{color:#50c878;font-weight:700}.btn{border:none;border-radius:8px;font-size:1rem;font-weight:700;font-family:inherit;cursor:pointer;padding:.6rem 1.4rem;transition:background-color .2s,color .2s,border-color .2s}.btn:disabled{background-color:#a9a9a9!important;color:#fff!important;cursor:not-allowed;border-color:transparent!important}.btn-primary{background-color:#50c878;color:#000}.btn-primary:hover:not(:disabled){background-color:#3daf63}.btn-primary:active:not(:disabled){background-color:#2e8b4a}.btn-secondary{background-color:#3498db;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#2176ae}.btn-secondary:active:not(:disabled){background-color:#1a5f8a}.btn-danger{background-color:#e67e22;color:#fff}.btn-danger:hover:not(:disabled){background-color:#ca6f1e}.btn-danger:active:not(:disabled){background-color:#a85d19}.btn-destructive{background-color:#e74c3c;color:#fff}.btn-destructive:hover:not(:disabled){background-color:#c0392b}.btn-destructive:active:not(:disabled){background-color:#a93226}.btn-outline{background:transparent;color:#50c878;border:2px solid #50c878;border-radius:8px}.btn-outline:hover:not(:disabled){background-color:#e8faf0}.btn-outline:active:not(:disabled){background-color:#d0f0dc}.btn-ghost{background:none;color:#646cff;text-decoration:underline;padding:0;border-radius:0;font-weight:400}.btn-ghost:hover:not(:disabled){color:#535bf2}.btn-toggle{background-color:#fff;color:#50c878;border:2px solid #50c878;border-radius:0;flex:1}.btn-toggle:hover:not(:disabled){background-color:#e8faf0}.btn-toggle.active{background-color:#50c878;color:#000;cursor:default}.btn-lg{font-size:1.3rem;padding:.75rem 1.5rem;min-width:80px;border-radius:10px}.btn-sm{font-size:.85rem;padding:.3rem .75rem}.flashcard-container{display:flex;flex-direction:column;align-items:center;gap:1.5rem;margin-top:8rem;padding:2rem}.flashcard-container h2{font-size:2rem;margin:0}.flashcard-header{display:flex;justify-content:space-between;width:100%;max-width:400px;font-size:1rem;color:#555}.flashcard{background:#fff;border:3px solid #50c878;border-radius:16px;padding:2.5rem 4rem;box-shadow:0 4px 16px #0000001a}.problem{font-size:3rem;font-weight:700;margin:0;color:#213547}.answer-form{display:flex;gap:.75rem;align-items:stretch}.answer-input{padding:.6rem 1rem;font-size:1.5rem;border:2px solid #ccc;border-radius:8px;width:160px;text-align:center;-moz-appearance:textfield}.answer-input::-webkit-outer-spin-button,.answer-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.answer-input:focus{outline:none;border-color:#50c878}.submit-answer-btn{padding:.6rem 1.4rem;font-size:1.2rem;background-color:#50c878;color:#000;border:none;border-radius:8px;cursor:pointer;font-weight:700}.submit-answer-btn:hover{background-color:#3daf63}.feedback{text-align:center;font-size:1.2rem}.correct-feedback p{color:#2a7a2a;font-weight:700}.wrong-feedback p{color:#c0392b;font-weight:700}.peeked-feedback p{color:#e67e22;font-weight:700}.wrong-actions{display:flex;gap:1rem;justify-content:center;margin-top:.5rem}.try-again-btn{padding:.6rem 1.2rem;font-size:1rem;background-color:#3498db;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:700}.try-again-btn:hover{background-color:#2176ae}.peek-btn{padding:.6rem 1.2rem;font-size:1rem;background-color:#e67e22;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:700}.peek-btn:hover{background-color:#ca6f1e}.next-btn{margin-top:.5rem;padding:.6rem 1.4rem;font-size:1.1rem;background-color:#50c878;color:#000;border:none;border-radius:8px;cursor:pointer;font-weight:700}.next-btn:hover{background-color:#3daf63}.back-btn{background:none;border:none;color:#646cff;font-size:1rem;cursor:pointer;text-decoration:underline;padding:0}.back-btn:hover{color:#535bf2}.problem-count-buttons{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.count-btn{padding:.75rem 1.5rem;font-size:1.3rem;background-color:#50c878;color:#000;border:none;border-radius:10px;cursor:pointer;font-weight:700;min-width:80px}.count-btn:hover{background-color:#3daf63}.summary{text-align:center}.summary-score{font-size:2.5rem;font-weight:700;color:#213547;margin:0}.summary-pct{font-size:1.8rem;color:#50c878;font-weight:700;margin:0}.perfect{color:#f1c40f;font-size:1.3rem;font-weight:700}.great{color:#2ecc71;font-size:1.2rem;font-weight:700}.good{color:#3498db;font-size:1.2rem;font-weight:700}.keep-trying{color:#e67e22;font-size:1.2rem;font-weight:700}.summary-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}@media(max-width:768px){.flashcard-container{margin-top:6rem}.problem{font-size:2.2rem}.flashcard{padding:2rem 2.5rem}}.division-page{display:flex;flex-direction:row;align-items:flex-start;justify-content:center;gap:2rem;margin-top:8rem;padding:2rem;width:100%;box-sizing:border-box}.division-left{margin-top:0!important;padding:0!important;flex:0 0 auto}.division-right{flex:0 0 auto;padding-top:.5rem}.remainder-notice{color:#e67e22;font-weight:700;font-size:1rem}@media(max-width:768px){.division-page{flex-direction:column;align-items:center;margin-top:6rem}.division-right{width:100%}}.scratchpad-table{border-collapse:collapse;margin:0 auto}.scratchpad-table th{font-size:.75rem;color:#888;text-align:center;padding:0 4px 4px;font-weight:700}.scratchpad-cell{width:36px;height:36px;text-align:center;font-size:1.1rem;font-weight:700;font-family:Courier New,monospace;border:1px solid #ccc;border-radius:4px;background:#fff;outline:none;box-sizing:border-box;padding:0;color:#000}.scratchpad-cell:focus{border-color:#50c878}.prefilled{background:#f0faf4;color:#213547;font-weight:700}.carry-cell{background:#fff9e6;font-size:.85rem;color:#e67e22;border-style:dashed}.total-cell{background:#f0faf4;font-weight:700;border-top:2px solid #333}.carry-row td,.carry-row{padding-bottom:2px}.operator-row td,.operator-cell{position:relative}.operator-sign{position:absolute;left:-1.2rem;top:50%;transform:translateY(-50%);font-size:1.2rem;font-weight:700;color:#213547}.total-row td{border-top:2px solid #333;padding-top:4px}.scratchpad-table td{padding:2px 3px}.scratchpad-legend{display:grid;grid-template-columns:1fr 1fr;gap:.2rem .5rem;margin-top:.75rem;padding-top:.5rem;border-top:1px solid #ddd;font-size:.75rem;color:#666}.scratchpad-legend strong{color:#50c878}.mult-scratchpad{display:flex;flex-direction:column;gap:.3rem;align-items:flex-end}.mult-row{display:flex;gap:3px;align-items:center;justify-content:flex-end;position:relative}.mult-row .operator-sign{position:static;transform:none;margin-right:4px;font-size:1.2rem;font-weight:700;color:#213547}.mult-partial-group{display:flex;flex-direction:column;gap:2px;align-items:flex-end}.mult-divider{width:100%;border-top:2px solid #333;margin:4px 0}.mult-row.total-row .scratchpad-cell{background:#f0faf4;font-weight:700}.mult-row.carry-row .scratchpad-cell{background:#fff9e6;font-size:.85rem;color:#e67e22;border-style:dashed}@media(max-width:768px){.scratchpad-cell{width:30px;height:30px;font-size:1rem}}.times-table-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;max-width:400px;width:100%}.summary-title{font-size:1.3rem;font-weight:700;color:#555;margin:0}.mode-toggle{display:flex;gap:0;border:2px solid #50c878;border-radius:8px;overflow:hidden;position:fixed;top:8.5rem;left:50%;transform:translate(-50%);z-index:999;background:#fff}.mode-toggle-btn{flex:1;padding:.5rem 1.5rem;font-size:1rem;font-weight:700;border:none;border-radius:0;background-color:#fff;color:#50c878;cursor:pointer;transition:background-color .2s,color .2s}.mode-toggle-btn.active{background-color:#50c878;color:#000;cursor:default}.mode-toggle-btn:not(.active):hover{background-color:#e8faf0}.multiplication-welcome{position:fixed;top:13rem;left:50%;transform:translate(-50%);z-index:998;background:#fff;font-size:2rem;font-weight:700;white-space:nowrap;margin:0}.multiplication-container{margin-top:17rem}@media(max-width:480px){.times-table-grid{grid-template-columns:repeat(3,1fr)}.mode-toggle{top:5rem}}.scratchpad{background:#fafafa;border:2px solid #50c878;border-radius:12px;padding:1.2rem 1.5rem;min-width:220px;max-width:280px;display:flex;flex-direction:column;gap:1rem;font-family:Courier New,monospace}.scratchpad-title{font-size:1rem;font-weight:700;color:#333;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ddd;padding-bottom:.5rem}.scratchpad-clear-btn{padding:.25rem .75rem;font-size:.85rem;background-color:#e74c3c;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:700}.scratchpad-clear-btn:hover{background-color:#c0392b}.long-division-layout{display:flex;flex-direction:column;gap:.5rem}.ld-quotient-row{display:flex;align-items:center}.ld-divisor-spacer{width:3rem}.ld-quotient-box{border-bottom:2px solid #333;flex:1;padding-bottom:2px}.ld-quotient-input{width:100%;font-size:1.1rem;text-align:center}.ld-house-row{display:flex;align-items:stretch}.ld-divisor{display:flex;align-items:center;padding-right:.3rem;font-size:1.3rem;font-weight:700;color:#213547}.ld-house-symbol{border-left:3px solid #333;border-top:3px solid #333;border-radius:0 4px 0 0;flex:1;padding:4px 6px}.ld-dividend-box{width:100%}.ld-dividend-input{width:100%;font-size:1.1rem;text-align:center;background:#f0f0f0;cursor:default;color:#213547;font-weight:700}.ld-step{border-left:3px solid #50c878;padding-left:.75rem;display:flex;flex-direction:column;gap:.3rem}.ld-step-label{font-size:.75rem;color:#888;font-weight:700}.ld-step-row{display:flex;align-items:center;gap:.4rem}.ld-step-field-label{font-size:1rem;font-weight:700;color:#555;width:1.2rem}.ld-underline input{border-bottom:2px solid #333!important;border-radius:0}.ld-remainder-row{display:flex;align-items:center;gap:.4rem;margin-top:.25rem}.ld-input{border:1px solid #ccc;border-radius:4px;padding:.3rem .5rem;font-size:1rem;font-family:Courier New,monospace;background:#fff;outline:none;box-sizing:border-box}.ld-input:focus{border-color:#50c878}.ld-step-input{flex:1;width:100%}.ld-step-controls{display:flex;gap:.5rem;margin-top:.25rem}.ld-step-btn{padding:.3rem .75rem;font-size:.85rem;background-color:#3498db;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:700}.ld-step-btn:hover{background-color:#2176ae}.ld-step-btn-remove{background-color:#e67e22}.ld-step-btn-remove:hover{background-color:#ca6f1e}@media(max-width:768px){.scratchpad{max-width:100%;min-width:unset;width:100%}}#root{width:100%;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}body{margin:0;font-family:Arial,sans-serif}
