@import url(https://fonts.googleapis.com/css2?family=Oswald:wght@600&display=swap);.stats-paper{background-color:var(--bg-secondary)!important;border:1px solid var(--border-color);box-shadow:var(--shadow-md)!important;margin-bottom:2rem;padding:2rem}.stats-title{color:var(--text-primary)!important;font-size:1.5rem!important;font-weight:600!important;margin-bottom:1.5rem!important}.grade-progress-card{background-color:var(--bg-secondary)!important;border:1px solid var(--border-color);padding:2rem!important}.card-title{color:var(--text-primary)!important;font-size:1.5rem!important;font-weight:600!important;margin-bottom:1.5rem!important}.grade-progress-container{display:flex;flex-direction:column;gap:2.5rem}.school-level-section{display:flex;flex-direction:column;gap:1.5rem}.school-level-title{border-bottom:2px solid var(--primary-color);color:var(--text-primary)!important;font-weight:600!important;margin-bottom:.5rem!important;padding-bottom:.5rem}.grade-progress-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(5,1fr)}.grade-progress-item{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;outline:none;padding:1rem;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.grade-progress-item:focus,.grade-progress-item:hover{background-color:var(--bg-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.grade-progress-item:focus-visible{box-shadow:0 0 0 2px var(--primary-color)}.grade-progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.grade-name{color:var(--text-primary)!important;font-size:.9rem!important;font-weight:500!important}.grade-percentage{color:var(--primary-color)!important;font-size:.9rem!important;font-weight:600!important}.grade-progress-bar{background-color:var(--bg-primary)!important;border-radius:3px!important;height:6px!important}.grade-progress-bar .MuiLinearProgress-bar{background-color:var(--primary-color)!important}.categories-container{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:1rem}.category-card{background-color:var(--bg-tertiary)!important;border:1px solid var(--border-color);border-radius:4px;display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.category-title{color:var(--text-primary)!important;font-size:1.25rem!important;font-weight:600!important}.category-progress-container{display:flex;flex-direction:column;gap:.5rem}.category-progress-text{color:var(--text-secondary)!important;font-size:.875rem!important}.category-progress{background-color:var(--bg-primary);border-radius:2px;height:4px;overflow:hidden;width:100%}.category-progress-bar{background-color:var(--primary-color);height:100%;transition:width .3s ease}.category-button{background-color:var(--primary-color)!important;color:var(--text-primary)!important;margin-top:auto!important;text-transform:none!important}.category-button:hover{background-color:var(--primary-dark)!important}.category-loading{margin:2rem 0}.practice-time-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,1fr)}.time-card{background-color:var(--bg-tertiary)!important;border:1px solid var(--border-color);border-radius:8px;padding:1rem!important;text-align:center;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.time-card:hover{background-color:var(--bg-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.time-card-title{color:var(--text-secondary)!important;font-size:.9rem!important;font-weight:500!important;margin-bottom:.5rem!important}.time-card-value{color:var(--primary-color)!important;font-size:1.25rem!important;font-weight:600!important}.join-dialog .MuiDialog-paper{background-color:var(--bg-secondary)!important}.join-dialog .MuiDialogTitle-root,.join-dialog .class-code-input .MuiInputBase-input,.join-dialog .class-code-input .MuiInputLabel-root{color:var(--text-primary)!important}.join-dialog .class-code-input .MuiOutlinedInput-notchedOutline{border-color:var(--border-color)!important}.join-dialog .class-code-input .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:var(--border-light)!important}@media screen and (max-width:1200px){.grade-progress-item{padding:.75rem}.grade-name,.grade-percentage{font-size:.8rem!important}}@media screen and (max-width:768px){.grade-progress-grid,.practice-time-grid{grid-template-columns:repeat(2,1fr)!important}.time-card{padding:.75rem!important}.time-card-title{font-size:.8rem!important}.time-card-value{font-size:1.1rem!important}}.grade-landing{margin:0 auto;padding:1rem;width:95%}.grade-header{margin-bottom:1.5rem}.grade-header h1{color:var(--text-primary);font-size:1.5rem;margin-bottom:1rem;text-align:left}.completion-status{background:var(--bg-secondary);border-radius:8px;margin-bottom:1rem;padding:1rem}.completion-text{color:var(--text-primary);font-size:1rem;margin-bottom:.5rem}.completion-bar{background:var(--bg-primary);border-radius:4px;height:8px}.topics{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;width:100%}.topic-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1.2rem}.topic-card h2{border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:1.2rem;margin-bottom:1rem;padding-bottom:.5rem}.levels-list{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem 0}.level-square{align-items:center;background:var(--bg-primary);border:2px solid var(--text-primary);border-radius:6px;color:var(--text-primary);cursor:pointer;display:flex;flex:0 0 45px;justify-content:center;max-height:45px;max-width:45px;min-height:45px;min-width:45px;position:relative;transition:transform .2s ease,background-color .2s ease}.level-square.completed{background:var(--primary-color);border-color:var(--text-primary)}.level-square.quiz{border-color:var(--primary-color)}.level-square.quiz.completed{background:var(--primary-color)}.level-square .completion-count{color:#fff;font-family:Arial,sans-serif;font-size:1rem;font-weight:700}.level-square:hover{transform:translateY(-2px)}.level-square:before{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;bottom:100%;color:var(--text-primary);content:attr(data-tooltip);font-size:.8rem;left:50%;opacity:0;padding:.5rem;pointer-events:none;position:absolute;transform:translateX(-50%);transition:opacity .2s ease;visibility:hidden;white-space:nowrap;z-index:1000}.level-square:hover:before{bottom:calc(100% + 5px);opacity:1;visibility:visible}.error-message{color:var(--danger-color);padding:1rem;text-align:center}.loading{color:var(--text-primary);padding:2rem;text-align:center}@media (max-width:768px){.grade-landing{margin:.5rem auto}.topics{grid-template-columns:1fr}}.dashboard-container{display:flex;flex-direction:column;gap:2rem;margin-top:1rem}.dashboard-paper{background-color:var(--bg-secondary)!important;border:1px solid var(--border-color);box-shadow:var(--shadow-md)!important;padding:1rem}.dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.dashboard-title{color:var(--text-primary)!important;font-size:2rem!important;font-weight:700!important;margin:0!important}.dashboard-error{margin-bottom:1rem!important}.loading-container{align-items:center;display:flex;justify-content:center;min-height:200px}.class-list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.class-list-title{color:var(--text-primary)!important;font-size:1.5rem!important;font-weight:600!important;margin:0!important}.create-class-button{background-color:var(--primary-color)!important;color:var(--text-primary)!important;padding:.5rem 1.5rem!important;text-transform:none!important}.create-class-button:hover{background-color:var(--primary-dark)!important}.class-list{background-color:var(--bg-tertiary)!important;border:1px solid var(--border-color);border-radius:4px;width:100%}.class-list-item{padding:1rem!important}.class-list-item.selected,.class-list-item:hover{background-color:var(--bg-primary)!important}.class-list-item .MuiTypography-root{color:var(--text-primary)!important}.class-list-item .text-secondary{color:var(--text-secondary)!important}.class-name{color:var(--text-primary)!important;font-weight:500!important}.class-details{color:var(--text-secondary)!important;font-size:.875rem!important}.class-divider{background-color:var(--border-color)!important}.student-table-container{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;margin-top:1rem;position:relative}.table-container{max-height:440px;overflow:auto}.table-container .MuiTable-root{background-color:var(--bg-tertiary)!important;border-collapse:initial!important;border-spacing:0!important}.header-cell{background-color:var(--bg-primary)!important;border-bottom:1px solid var(--border-color)!important;font-weight:600!important;padding:16px!important;position:sticky!important;top:0!important;white-space:nowrap;z-index:1!important}.header-cell,.header-cell .MuiTableSortLabel-root{color:var(--text-primary)!important}.header-cell .MuiTableSortLabel-icon,.header-cell .MuiTableSortLabel-root.Mui-active{color:var(--primary-color)!important}.table-row{background-color:var(--bg-tertiary)!important}.table-row:nth-of-type(odd){background-color:var(--bg-secondary)!important}.table-row:hover{background-color:var(--bg-primary)!important}.table-cell{border-bottom:1px solid var(--border-color)!important;color:var(--text-primary)!important;padding:16px!important;white-space:nowrap}.selected-class-container{border-top:1px solid var(--border-color);margin-top:2rem;padding-top:2rem}.class-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.selected-class-title{color:var(--text-primary)!important;font-size:1.25rem!important;font-weight:600!important;margin:0!important}.grade-select{min-width:120px!important}.grade-select .MuiOutlinedInput-root{background-color:var(--bg-tertiary);color:var(--text-primary)}.grade-select .MuiOutlinedInput-notchedOutline{border-color:var(--border-color)!important}.grade-select .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline,.grade-select .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:var(--primary-color)!important}.grade-select .MuiInputLabel-root{color:var(--text-primary)!important}.grade-select .MuiInputLabel-root.Mui-focused,.grade-select .MuiSelect-icon{color:var(--primary-color)!important}.grade-select .MuiMenuItem-root{color:var(--text-primary)!important}.delete-class-container{border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;margin-top:2rem;padding-top:1rem}.delete-class-button{background-color:var(--error-color)!important;color:var(--text-primary)!important;padding:.5rem 1.5rem!important;text-transform:none!important}.delete-class-button:hover{background-color:var(--error-dark)!important}.delete-class-dialog .MuiDialog-paper{background-color:var(--bg-secondary)!important;min-width:400px}.delete-class-dialog .MuiDialogTitle-root{border-bottom:1px solid var(--border-color);color:var(--text-primary)!important;padding:16px 24px!important}.delete-class-dialog .MuiDialogContent-root{padding:20px 24px!important}.delete-class-dialog .MuiDialogContentText-root{color:var(--text-primary)!important;margin-bottom:0!important}.delete-class-dialog .MuiDialogActions-root{background-color:var(--bg-secondary)!important;border-top:1px solid var(--border-color);padding:16px 24px!important}.delete-class-dialog .cancel-button{color:var(--text-secondary)!important;text-transform:none!important}.delete-class-dialog .confirm-delete-button{background-color:var(--error-color)!important;color:var(--text-primary)!important;margin-left:1rem!important;text-transform:none!important}.delete-class-dialog .confirm-delete-button:hover{background-color:var(--error-dark)!important}.error-alert{margin-bottom:1rem!important}.no-classes-message{color:var(--text-secondary)!important;padding:2rem;text-align:center}.access-denied-alert{margin-top:2rem}.frozen-column{background-color:var(--bg-tertiary)!important;box-sizing:border-box!important;position:sticky!important}.frozen-column.student-name{left:0!important;min-width:150px!important;z-index:2!important}.frozen-column.activity-time{left:150px!important;min-width:120px!important;z-index:2!important}.frozen-column.header-cell{background-color:var(--bg-primary)!important;z-index:3!important}.frozen-column.header-cell.activity-time,.frozen-column.header-cell.student-name{z-index:4!important}.table-row:nth-of-type(odd) .frozen-column{background-color:var(--bg-secondary)!important}.table-row:hover .frozen-column{background-color:var(--bg-primary)!important}.frozen-column.activity-time:after{background:linear-gradient(90deg,#0000001a,#0000);bottom:0;content:"";pointer-events:none;position:absolute;right:0;top:0;width:4px}.practice-page{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-md);margin:0 auto;max-width:800px;padding:2rem;text-align:center}.practice-header{align-items:center;display:flex;justify-content:center;margin-bottom:2rem;position:relative}.back-button{left:0;margin-top:4rem;position:absolute}.back-button svg{fill:var(--text-primary)}.practice-title{color:var(--text-primary);font-size:2rem!important;font-weight:500!important;margin-bottom:1.5rem}.progress-section{margin-bottom:2rem}.progress-header{color:var(--text-primary);display:flex;justify-content:space-between;margin-bottom:1rem;padding:0 1rem}.time-display{align-items:center;display:flex;gap:1rem}.best-time,.current-time{color:var(--text-primary)}.best-time{color:var(--primary-color)}.progress-bar{border-radius:3px;height:6px}.content-box{margin:2rem auto;max-width:800px;text-align:center}.radio-group{margin:2rem 0}.radio-option{margin:.5rem 0!important}.radio-option .MuiRadio-root{color:var(--text-primary)}.radio-option .MuiRadio-root.Mui-checked{color:var(--primary-color)}.radio-option .MuiFormControlLabel-label{color:var(--text-primary);font-size:2rem!important}.content-box .submit-button.MuiButton-root{background-color:var(--primary-color)!important;color:var(--text-primary)!important;font-size:1.2rem!important;margin-top:2rem!important;padding:.5rem 2rem!important}.content-box .submit-button.MuiButton-root:hover{background-color:var(--primary-light)!important}.content-box .submit-button.MuiButton-root:disabled{background-color:var(--border-color)!important;opacity:.5}.number-input{margin:.25rem!important;width:70px!important}.number-input input{background-color:#ffffff1a!important;border:2px solid var(--border-color)!important;border-radius:4px!important;color:var(--text-primary)!important;font-family:Courier New,monospace!important;font-size:1rem!important;min-width:0!important;padding:8px!important;text-align:center;width:100%!important}.number-input input:focus{border-color:var(--primary-color)!important;outline:none!important}.number-input:after,.number-input:before{display:none!important}.grid-container{display:flex!important;flex-wrap:nowrap!important;gap:.25rem!important;justify-content:center!important;margin-bottom:.5rem!important;width:100%!important}.grid-container .MuiGrid-item{flex:0 0 auto!important;width:auto!important}.operation-numbers .number{color:var(--text-primary)!important;font-size:2.5rem!important;font-weight:700!important;line-height:1.2!important;margin:0!important;min-width:3ch;text-align:right}.feedback-vertical-operation .number.modified{color:var(--text-secondary)!important;text-decoration:line-through}.feedback-vertical-operation .number.modified:after{color:var(--text-primary);content:attr(data-modified);font-size:.9rem;left:50%;position:absolute;top:-1rem;transform:translateX(-50%)}.feedback-long-division{font-size:1.2rem}.feedback-long-division .division-structure{align-items:center;gap:.5rem;margin-top:2rem}.feedback-long-division .divisor{color:var(--text-primary);margin-right:.5rem}.feedback-long-division .quotient-row{margin-left:1.5rem;position:relative}.feedback-long-division .quotient-line{bottom:-.5rem;left:0;position:absolute;right:0}.feedback-long-division .division-bracket{height:3rem;top:2.5rem;width:1.5rem}.feedback-long-division .steps-container{margin-left:1.5rem;position:relative}.feedback-long-division .step{margin-bottom:1rem}.feedback-long-division .step-line{margin:.5rem 0}.feedback-long-division .number{color:var(--text-primary);height:32px;margin:0 2px;width:32px}.feedback-long-division .quotient-number{color:var(--success-color)!important}.feedback-long-division .remainder-number,.feedback-long-division .subtracted-number{color:var(--text-secondary)!important}.operation-symbol{font-size:2rem!important}.operation-line{height:3px}.level-complete-dialog{background-color:var(--bg-secondary)!important;border:2px solid var(--border-color);border-radius:10px;color:var(--text-primary);min-width:300px;padding:20px}.level-complete-title{color:var(--primary-color)!important;font-size:1.5rem!important;font-weight:700!important;padding:0!important;text-align:center}.level-complete-content{color:var(--text-primary)!important;font-size:1.1rem;margin:20px 0;padding:0!important;text-align:center}.level-complete-actions{display:flex;justify-content:center!important;padding:20px 0 0!important}.continue-button{animation:none!important;background-color:var(--primary-color)!important;box-shadow:none!important;color:var(--text-primary)!important;padding:8px 24px!important;transition:none!important}.continue-button:hover{background-color:var(--primary-light)!important}.continue-button:focus{background-color:var(--primary-color)!important;outline:none!important}.continue-button:active{background-color:var(--primary-light)!important}.visual-container{background-color:var(--bg-primary);border:2px solid var(--border-color);border-radius:8px;margin:1rem 0;padding:20px}.fraction-form{gap:15px;margin:1rem 0}.fraction-form,.fraction-input{align-items:center;display:flex;flex-direction:column}.fraction-input{gap:5px}.fraction-input input{background-color:var(--bg-primary);border:2px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:1.2em;height:40px;text-align:center;width:60px}.fraction-input input:focus{border-color:var(--primary-color);outline:none}.fraction-input hr{border:none;border-top:2px solid var(--text-primary);margin:0;width:100%}@media (max-width:480px){.progress-header{flex-direction:column;gap:.5rem}.time-display{justify-content:center}.practice-title{font-size:1.5rem!important}.content-box{padding:.5rem}.number-input{width:45px!important}.number-input input{font-size:1.25rem!important;padding:4px!important}.fraction-input input{font-size:1rem;height:35px;width:45px}}.vertical-operation{align-items:center;display:flex;justify-content:center;margin:2rem 0;min-height:200px}.operation-numbers{align-items:flex-end;display:flex;flex-direction:column;font-family:Courier New,monospace;padding:0 .5rem;position:relative;width:120px}.vertical-operation .number{color:var(--text-primary)!important;font-size:1.6rem!important;font-weight:700!important;line-height:1.2!important;margin:.2rem!important;min-width:2.5ch;text-align:right}.operation-line-container{align-items:center;display:flex;justify-content:flex-end;position:relative;width:100%}.operation-symbol{color:var(--text-primary)!important;font-size:1rem!important;font-weight:700!important;left:-1.5rem;line-height:1!important;margin:0!important;position:absolute}.operation-line{background-color:var(--text-primary);height:2px;margin:.5rem 0;width:100%}.vertical-operation input{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;box-sizing:border-box;color:var(--text-primary);font-family:Courier New,monospace;font-size:1rem;font-weight:700;height:32px!important;margin:0 2px;padding:0;text-align:center;width:32px!important}.vertical-operation .carries-row{margin-left:36px}.vertical-operation input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-light);outline:none}.feedback-vertical-operation .number{font-size:1.2rem!important;position:relative}.feedback-vertical-operation .number.strike{text-decoration:line-through}.feedback-vertical-operation .carry-number{color:var(--text-secondary)!important;font-size:1rem!important}.feedback-vertical-operation .answer-number{color:var(--success-color)!important}.feedback-vertical-operation .intermediate-number{color:var(--text-secondary)!important}.expression-display{align-items:flex-start;display:flex;flex-direction:column;font-family:monospace;gap:1rem;padding:1rem}.expression-text{color:var(--text-primary);font-size:1.2rem}.broken-expression{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.final-result,.intermediate-steps{color:var(--text-primary);font-size:1.2rem}.expression-container{gap:32px;margin:32px 0;white-space:nowrap}.expression-container,.expression-line{align-items:center;display:flex;flex-direction:column}.expression-row{align-items:center;display:flex;gap:var(--gap-size);white-space:nowrap}.expanded-result{display:flex;flex-direction:column;gap:16px}.intermediate-sums,.partial-products{align-items:center;display:flex;gap:var(--gap-size)}.intermediate-sums{justify-content:center;margin-left:var(--gap-size);width:100%}.expression-text-large{color:var(--text-primary);padding:0 4px}.expression-text-large,.input-container{align-items:center;display:inline-flex;white-space:nowrap}.input-container{flex-direction:column;margin:0 2px}.number-input{width:var(--input-width)}.hint-text{color:var(--text-secondary);font-size:.65rem;margin-top:4px;white-space:nowrap}.three-digit{--gap-size:8px;--input-width:50px;--expression-font-size:1.5rem}.two-digit{--gap-size:16px;--input-width:60px;--expression-font-size:2rem}.feedback-long-division{display:inline-block;font-family:monospace;padding:1rem;position:relative}.feedback-long-division .division-structure{align-items:flex-start;display:flex}.feedback-long-division .divisor{font-size:1.2rem;margin-right:.25rem}.feedback-long-division .main-structure{position:relative}.feedback-long-division .quotient-row{align-items:center;display:flex;margin-bottom:.5rem}.feedback-long-division .number{align-items:center;display:flex;font-size:1.2rem;height:2ch;justify-content:center;width:2ch}.feedback-long-division .quotient-number{color:var(--success-color);font-weight:700}.feedback-long-division .subtracted-number{color:var(--error-color)}.feedback-long-division .remainder-number{color:var(--warning-color)}.feedback-long-division .step-line{border-top:2px solid var(--text-primary);margin:.25rem 0;width:100%}.feedback-long-division .quotient-line{border-bottom:2px solid var(--text-primary);width:100%}.feedback-long-division .division-bracket{border-left:2px solid var(--text-primary);border-top:2px solid var(--text-primary);height:2.5rem;left:0;position:absolute;top:1.5rem;width:.75rem}.feedback-long-division .steps-container{margin-left:1rem;padding-top:.5rem}.feedback-long-division .minus-sign{font-size:1.2rem;left:-1.5rem;position:absolute}.feedback-long-division .step{margin-bottom:.5rem;position:relative}.feedback-long-division .final-remainder{align-items:center;color:var(--success-color);display:flex;font-weight:700;gap:.25rem;left:100%;margin-left:1rem;position:absolute;top:0}.footer-paper{background-color:var(--bg-primary)!important;box-shadow:0 -2px 10px #0000001a;margin-top:auto;padding:1.5rem 0;width:100%}.footer-container{margin:0 auto;max-width:1200px!important;padding:0 2rem}.footer-content{width:100%}.footer-grid{grid-gap:1rem;align-items:center;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.footer-copyright{color:var(--text-secondary);font-size:.9rem}.footer-links{align-items:center;display:flex;gap:.75rem;justify-content:flex-end}.footer-link,.footer-links{color:var(--text-light)!important}.footer-link{font-size:.9rem;text-decoration:none!important;transition:color .2s ease}.footer-link:hover{color:var(--primary-light)!important;text-decoration:none!important}.footer-separator{color:var(--text-light);font-size:.9rem;opacity:.6}@media (max-width:600px){.footer-grid{gap:1rem;grid-template-columns:1fr;text-align:center}.footer-links{justify-content:center}.footer-container{padding:0 1rem}}.header{background-color:var(--bg-primary)!important;box-shadow:var(--shadow-sm)!important;left:0;position:fixed!important;right:0;top:0;z-index:1000}.header-toolbar{display:flex;justify-content:space-between;padding:.5rem 1rem!important;position:relative!important}.header-menu-container{display:inline-block;position:relative}.header-menu-container svg{color:var(--text-primary)!important}.header-menu-container:hover svg{color:var(--primary-color)!important}.header-menu-container:hover .header-menu{display:block}.header-menu{background-color:var(--bg-secondary)!important;border:1px solid var(--border-color);box-shadow:var(--shadow-md);display:none;min-width:200px;padding:.5rem 0;position:absolute;top:100%;z-index:1000}.header-menu.left{left:0}.header-menu.right{right:0}.menu-item-container{position:relative}.menu-item-container:hover .submenu{display:block}.submenu{background-color:var(--bg-secondary)!important;border:1px solid var(--border-color);box-shadow:var(--shadow-md);display:none;left:100%;min-width:180px;padding:.5rem 0;position:absolute;top:0;z-index:1001}.header-brand{align-items:center;cursor:pointer;display:flex;gap:.75rem;justify-content:center;left:50%;padding:.25rem;position:absolute;transform:translateX(-50%);transition:transform .2s ease}.header-brand:hover{transform:translateX(-50%) scale(1.05)}.header-logo{border-radius:4px;height:2.5rem;object-fit:contain;width:auto}.header-title{color:var(--text-primary)!important;font-family:Oswald,sans-serif!important;font-size:1.5rem!important;font-weight:600!important;letter-spacing:1.5px!important;line-height:1!important;margin:0!important}.header-auth-buttons{display:flex;gap:1rem}@media screen and (max-width:768px){.header-auth-buttons{display:none}.header-logo{height:2rem}.header-title{font-size:1.2rem!important}}.header-icon-container{align-items:center;display:flex;min-width:40px}.menu-item{align-items:center!important;background-color:var(--bg-secondary)!important;color:var(--text-secondary)!important;display:flex!important;gap:1rem;justify-content:space-between!important;padding:.75rem 1rem!important;position:relative;white-space:nowrap}.menu-item:hover{background-color:var(--bg-tertiary)!important;color:var(--primary-color)!important}.grade-label{flex:1 1}.grade-progress{color:var(--primary-light);font-size:.9em;font-weight:500;opacity:.9}.home-wrapper{flex:1 1;flex-direction:column;min-height:100vh;overflow-x:hidden;padding:0}.hero-section,.home-wrapper{box-sizing:border-box;display:flex;margin:0;position:relative;width:100%}.hero-section{align-items:center;justify-content:center;min-height:50vh;overflow:hidden}.hero-background{background:linear-gradient(135deg,var(--bg-primary) 0,var(--bg-secondary) 100%);z-index:-2}.hero-background,.hero-section:before{bottom:0;left:0;position:absolute;right:0;top:0}.hero-section:before{animation:pulseBackground 8s ease-in-out infinite alternate;background:radial-gradient(circle at 20% 20%,var(--primary-light) 0,#0000 50%),radial-gradient(circle at 80% 80%,var(--secondary-light) 0,#0000 50%);content:"";opacity:.1;z-index:-1}.hero-content-wrapper{box-sizing:border-box;margin:0 auto;max-width:1200px;padding:0 2rem;position:relative;width:100%;z-index:1}.hero-grid{grid-gap:4rem;box-sizing:border-box;display:grid;gap:4rem;grid-template-columns:1.2fr .8fr}.hero-grid,.hero-image{align-items:center;width:100%}.hero-image{animation:floatImage 6s ease-in-out infinite;aspect-ratio:1/1;display:flex;justify-content:center;margin:0 auto;max-width:400px;overflow:visible;position:relative}.hero-image:before{animation:rotateBorder 8s linear infinite;background:conic-gradient(from 0deg,#0000 0,var(--primary-color) 25%,var(--secondary-color) 50%,var(--primary-color) 75%,#0000 100%);border-radius:50%;content:"";filter:blur(12px);height:calc(100% + 40px);left:50%;opacity:.3;position:absolute;top:50%;transform:translate(-50%,-50%);width:calc(100% + 40px);z-index:-1}.hero-img{border-radius:50%;box-shadow:var(--shadow-lg);height:100%;mask-image:radial-gradient(circle at center,#000 30%,#000000e6 50%,#000000b3 65%,#0006 80%,#0000 90%);-webkit-mask-image:radial-gradient(circle at center,#000 30%,#000000e6 50%,#000000b3 65%,#0006 80%,#0000 90%);object-fit:cover;transform:scale(1);transition:transform .5s ease;width:100%}.hero-img:hover{transform:scale(1.05)}.hero-text{max-width:600px;text-align:left}.hero-title{-webkit-text-fill-color:#0000;word-wrap:break-word;animation:slideDown 1s ease-out forwards;background:var(--gradient-primary);-webkit-background-clip:text;font-family:Poppins,sans-serif;font-size:clamp(2.5rem,5vw,4rem);font-weight:800;letter-spacing:-.02em;line-height:1.1;margin-bottom:1.5rem;position:relative;text-shadow:var(--shadow-sm)}.hero-title:after{animation:expandWidth 1.5s ease-out forwards;background:var(--gradient-secondary);border-radius:2px;bottom:-.8rem;content:"";height:4px;left:0;position:absolute;width:4em}.hero-subtitle{word-wrap:break-word;animation:slideUp 1s ease-out forwards;animation-delay:.3s;color:var(--text-secondary);font-family:Inter,sans-serif;font-size:clamp(1.2rem,2.5vw,1.5rem);font-weight:500;letter-spacing:.01em;line-height:1.6;margin-bottom:2.5rem;opacity:0}.hero-buttons{animation:slideUp 1s ease-out forwards;animation-delay:.6s;display:flex;gap:1.5rem;opacity:0}.btn{border-radius:12px!important;font-size:1.1rem!important;font-weight:600!important;padding:1rem 2rem!important;text-transform:none!important;transition:all .3s ease!important}.btn-primary{background:var(--gradient-primary)!important;box-shadow:0 4px 15px #4361ee4d!important;color:#fff!important}.btn-secondary{background:#0000!important;border:2px solid var(--primary-light)!important;color:var(--text-primary)!important}.btn:hover{box-shadow:0 6px 20px #4361ee66!important;transform:translateY(-2px)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes expandWidth{0%{opacity:0;width:0}to{opacity:1;width:4em}}@keyframes rotateBorder{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}@keyframes floatImage{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes pulseBackground{0%{opacity:.05;transform:scale(1)}50%{opacity:.1;transform:scale(1.1)}to{opacity:.05;transform:scale(1)}}@media (max-width:960px){.hero-section{min-height:auto;padding:3rem 0}.hero-grid{gap:2rem;grid-template-columns:1fr}.hero-text{margin:0 auto;text-align:center}.hero-title:after{left:50%;transform:translateX(-50%)}.hero-image{max-width:320px;order:-1}.hero-buttons{justify-content:center}}@media (max-width:768px){.hero-section{padding:2rem 0}.hero-content-wrapper{padding:0 1.5rem}.hero-grid{gap:2rem}.btn{font-size:1rem!important;padding:.8rem 1.5rem!important}}@media (max-width:480px){.hero-section{padding:1.5rem 0}.hero-content-wrapper{padding:0 1rem}.hero-grid{gap:1.5rem}.hero-image{max-width:240px}.hero-buttons{align-items:stretch;flex-direction:column}.btn{width:100%}}.features-section{background:var(--bg-secondary);overflow:hidden;padding:6rem 0;position:relative}.features-section:before{background:linear-gradient(90deg,#0000 0,var(--primary-light) 50%,#0000 100%);content:"";height:1px;left:0;opacity:.3;position:absolute;right:0;top:0}.features-section:after{background:linear-gradient(to bottom,#0000 0,var(--bg-primary) 100%);bottom:0;content:"";height:100px;left:0;pointer-events:none;position:absolute;right:0}.section-title-wrapper{margin-bottom:4rem;position:relative;text-align:center}.section-title{color:var(--text-primary);display:inline-block;font-family:Poppins,sans-serif;font-size:clamp(2rem,4vw,2.5rem);font-weight:700;margin:0 0 1rem;position:relative}.section-title:after{background:var(--gradient-primary);border-radius:2px;bottom:-.5rem;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.feature-card{align-items:center!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(145deg,#ffffff0d,#ffffff05)!important;border:1px solid #ffffff1a;border-radius:20px!important;display:flex!important;flex-direction:column!important;height:80%;margin-bottom:2rem;overflow:hidden;padding:2.5rem 2rem!important;position:relative;text-align:center;transition:all .3s ease-in-out!important}.feature-card:before{background:radial-gradient(circle at 50% 0,var(--primary-color) 0,#0000 70%);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease;z-index:0}.feature-card:hover{box-shadow:0 12px 24px #0003!important;transform:translateY(-8px)}.feature-card:hover:before{opacity:.1}.feature-icon{align-items:center;background:var(--gradient-primary);border-radius:50%;box-shadow:0 8px 16px #4361ee33;display:flex;height:80px;justify-content:center;margin-bottom:1.5rem;position:relative;transition:transform .3s ease;width:80px;z-index:1}.feature-card:hover .feature-icon{transform:scale(1.1)}.feature-icon svg{color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.feature-title{color:var(--text-primary);font-family:Poppins,sans-serif;font-size:1.4rem;font-weight:600;margin:0 0 1rem;position:relative;z-index:1}.feature-description{color:var(--text-light);font-family:Inter,sans-serif;font-size:1rem;line-height:1.6;margin:0;position:relative;z-index:1}.feature-card{animation:fadeInUp .6s ease-out forwards;opacity:0}.feature-card:first-child{animation-delay:.1s}.feature-card:nth-child(2){animation-delay:.2s}.feature-card:nth-child(3){animation-delay:.3s}.feature-card:nth-child(4){animation-delay:.4s}@media (max-width:960px){.features-section{padding:4rem 0 6rem}.section-title-wrapper{margin-bottom:3rem}.feature-card{padding:2rem!important}}@media (max-width:768px){.features-section{padding:3rem 0 5rem}.feature-card{margin-bottom:1.5rem;padding:1.5rem!important}.feature-icon{height:60px;width:60px}.feature-icon svg{font-size:30px!important}.feature-title{font-size:1.2rem}}@media (max-width:480px){.features-section{padding:2rem 0 4rem}.section-title{font-size:1.8rem}.feature-card{margin-bottom:1rem}}.benefits-section{background:var(--bg-primary);overflow:hidden;padding:6rem 0;position:relative;width:100%}.benefits-section:before{animation:shimmerBackground 15s ease-in-out infinite alternate;background:radial-gradient(circle at 90% 10%,var(--secondary-color) 0,#0000 40%),radial-gradient(circle at 10% 90%,var(--primary-color) 0,#0000 40%);bottom:0;content:"";left:0;opacity:.05;position:absolute;right:0;top:0}.benefits-section .section-title-wrapper{position:relative;text-align:center}.benefits-section .section-title{color:var(--text-primary);display:inline-block;font-family:Poppins,sans-serif;font-size:clamp(2rem,4vw,2.5rem);font-weight:700;margin:0 0 1rem;position:relative}.benefits-section .section-title:after{background:var(--gradient-secondary);border-radius:2px;bottom:-.5rem;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.benefits-stats{flex-wrap:wrap;gap:2rem;margin:0 auto;max-width:1200px;position:relative}.benefits-stats,.stats-loading{display:flex;justify-content:center}.stats-loading{align-items:center;height:200px;width:100%}.stats-loading .MuiCircularProgress-root{color:var(--primary-light)!important}.stat-item{animation:fadeInUp .6s ease-out forwards;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(145deg,#ffffff0d,#ffffff05);border:1px solid #ffffff1a;border-radius:20px;flex:1 1;max-width:350px;min-width:250px;overflow:hidden;padding:2rem;position:relative;text-align:center;transition:all .3s ease}.stat-item:first-child{animation-delay:.1s}.stat-item:nth-child(2){animation-delay:.2s}.stat-item:nth-child(3){animation-delay:.3s}.stat-item:before{background:var(--gradient-primary);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease;z-index:0}.stat-item:hover{box-shadow:0 12px 24px #0003;transform:translateY(-5px)}.stat-item:hover:before{opacity:.05}.stat-number{-webkit-text-fill-color:#0000;animation:countUp 2s ease-out forwards;background:var(--gradient-primary);-webkit-background-clip:text;color:var(--text-primary);font-family:Poppins,sans-serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;margin-bottom:.5rem}.stat-label,.stat-number{display:block;position:relative}.stat-label{color:var(--text-light);font-family:Inter,sans-serif;font-size:1.1rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmerBackground{0%{opacity:.03;transform:scale(1)}50%{opacity:.05;transform:scale(1.1)}to{opacity:.03;transform:scale(1)}}@media (max-width:960px){.benefits-section{padding:4rem 0}.benefits-stats{gap:1.5rem;padding:1.5rem}.stat-item{min-width:200px;padding:1.5rem}}@media (max-width:768px){.benefits-section{padding:3rem 0}.stat-item{flex-basis:calc(50% - 1rem);flex-grow:0;flex-shrink:1;min-width:180px}}@media (max-width:480px){.benefits-section{padding:2rem 0}.benefits-stats{gap:1rem;padding:1rem}.stat-item{flex:1 1 100%;min-width:0;min-width:auto;padding:1.2rem}.stat-number{font-size:2.5rem}.stat-label{font-size:1rem}}.completion-bar-container{align-items:center;display:flex;gap:1rem;margin-top:.5rem}.completion-bar{background-color:var(--bg-tertiary);border-radius:3px;flex:1 1;height:6px;overflow:hidden;position:relative}.completion-progress{background:var(--primary-color);height:100%;transition:width .3s ease}.start-test-btn{background-color:var(--primary-color);border:none;border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:.9rem;min-width:fit-content;padding:.5rem 1rem;transition:background-color .2s ease;white-space:nowrap}.start-test-btn:hover{background-color:var(--primary-light)}.test-scores{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-md);margin-top:2rem;padding:2rem}.scores-container{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.score-card{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;position:relative;text-align:center}.score-card:before{content:"";height:4px;left:0;position:absolute;top:0;width:100%}.highest-score:before{background:var(--success-color)}.latest-score:before{background:var(--primary-color)}.score-card h3{color:var(--text-primary);font-size:1.2rem;margin:0 0 1rem}.score-percentage{color:var(--text-primary);font-size:2.5rem;font-weight:700;margin:.5rem 0}.score-details{color:var(--text-secondary);font-size:1rem;margin-top:.5rem}.grade-test{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-md);margin:0 auto;max-width:800px;padding:2rem;text-align:center}.test-header{color:var(--text-primary);margin-bottom:2rem;text-align:center}.test-header h2{color:var(--text-primary);font-size:2rem;font-weight:500;margin-bottom:1.5rem}.test-header p{color:var(--text-secondary);font-size:1.1rem;margin:.5rem 0}.test-complete{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-md);margin:2rem auto;max-width:600px;padding:2rem;text-align:center}.test-complete h2{color:var(--primary-color);font-size:2rem;margin-bottom:1.5rem}.test-complete p{color:var(--text-primary);font-size:1.2rem;margin:.5rem 0}@media (max-width:480px){.completion-bar-container{flex-direction:column;gap:1rem}.test-header h2{font-size:1.5rem}.score-percentage{font-size:2rem}.scores-container{grid-template-columns:1fr}.start-test-btn{width:100%}}.legal-container{background-color:var(--bg-primary);color:var(--text-primary);min-height:calc(100vh - 200px);padding:2rem 1rem}.legal-paper{background-color:var(--bg-secondary)!important;border:1px solid var(--border-color);box-shadow:var(--shadow-md)!important;color:var(--text-primary)!important}.legal-title{color:var(--primary-light)!important;font-weight:600!important;margin-bottom:2rem!important}.legal-section-title{color:var(--secondary-light)!important;font-weight:500!important}.legal-text{color:var(--text-secondary)!important;line-height:1.6!important}.legal-updated{color:var(--text-light)!important;font-style:italic!important}:root{--primary-color:#4361ee;--primary-light:#4895ef;--primary-dark:#3730a3;--secondary-color:#f72585;--secondary-light:#ff4d6d;--secondary-dark:#c81d5e;--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--text-primary:#f8fafc;--text-secondary:#e2e8f0;--text-light:#94a3b8;--border-color:#475569;--border-light:#64748b;--border-dark:#334155;--success-color:#10b981;--warning-color:#f59e0b;--danger-color:#ef4444;--info-color:#3b82f6;--shadow-sm:0 2px 4px #0000004d;--shadow-md:0 4px 8px #00000059;--shadow-lg:0 8px 16px #0006;--gradient-primary:linear-gradient(135deg,#4361ee,#4895ef);--gradient-secondary:linear-gradient(135deg,#f72585,#ff4d6d)}.MuiButton-root{background-color:var(--primary-color)!important;border-radius:4px!important;color:var(--text-primary)!important;font-size:.875rem!important;font-weight:500!important;padding:8px 16px!important;text-transform:none!important}.MuiButton-root:hover{background-color:var(--primary-dark)!important}.MuiButton-root:disabled{background-color:var(--secondary-light)!important;cursor:not-allowed!important}body{margin:0 auto;min-height:80vh;padding:0}body,main{background:linear-gradient(135deg,var(--bg-primary) 0,var(--bg-secondary) 100%)}main{color:var(--text-primary);display:flex;flex-direction:column;min-height:100vh;padding-top:15vh}.container{margin:0 auto;max-width:1200px;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}.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-4{gap:2rem}.paper{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;box-shadow:var(--shadow-md);padding:1.5rem}.paper-dark{background-color:var(--bg-primary)}.paper-light{background-color:var(--bg-tertiary)}.title{color:var(--text-primary);font-weight:600;margin-bottom:1rem}.title-lg{font-size:2rem}.title-md{font-size:1.5rem}.title-sm{font-size:1.25rem}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-center{text-align:center}.hover-elevate{transition:all .2s ease-in-out}.hover-elevate:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-4{margin-bottom:2rem}.p-1{padding:.5rem}.p-2{padding:1rem}.p-4{padding:2rem}.w-full{width:100%}.h-full{height:100%}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}
/*# sourceMappingURL=main.1c7feb29.css.map*/