@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.6;color:#1a1a2e;background-color:#f0f4f8;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body::-webkit-scrollbar{width:8px;height:8px}body::-webkit-scrollbar-track{background:#f8f9fa;border-radius:4px}body::-webkit-scrollbar-thumb{background:hsl(210,16.6666666667%,82.6470588235%);border-radius:4px}body::-webkit-scrollbar-thumb:hover{background:hsl(210,16.6666666667%,72.6470588235%)}h1,h2,h3,h4,h5,h6{font-family:Poppins,Inter,sans-serif;font-weight:600;line-height:1.3;margin-bottom:.5em}h1{font-size:2.5rem}@media(max-width:767px){h1{font-size:2rem}}h2{font-size:2rem}@media(max-width:767px){h2{font-size:1.75rem}}h3{font-size:1.5rem}h4{font-size:1.25rem}p{margin-bottom:1rem}a{color:#4361ee;text-decoration:none;transition:all .15s ease}a:hover{color:#3f37c9}.page-wrapper{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1 1;padding:2rem 0}@media(max-width:767px){.main-content{padding:1rem 0}}.section{padding:3rem 0}@media(max-width:767px){.section{padding:2rem 0}}.card-custom{background:#fff;border-radius:1rem;box-shadow:0 .125rem .25rem rgba(0,0,0,.075);padding:1.5rem;transition:all .3s ease}.card-custom:hover{box-shadow:0 .5rem 1rem rgba(0,0,0,.1)}.card-quiz{background:#fff;border-radius:1rem;box-shadow:0 .125rem .25rem rgba(0,0,0,.075);padding:1.5rem;transition:all .3s ease}.card-quiz:hover{box-shadow:0 .5rem 1rem rgba(0,0,0,.1)}.card-quiz{border:2px solid rgba(0,0,0,0)}.card-quiz:hover{border-color:rgba(67,97,238,.2)}.card-quiz.active{border-color:#4361ee}.btn-custom{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:500;border-radius:.5rem;transition:all .15s ease;cursor:pointer;border:none}.btn-custom:disabled{opacity:.6;cursor:not-allowed}.btn-primary-gradient{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:500;border-radius:.5rem;transition:all .15s ease;cursor:pointer;border:none}.btn-primary-gradient:disabled{opacity:.6;cursor:not-allowed}.btn-primary-gradient{background:linear-gradient(135deg,#4361ee,#3f37c9);color:#fff}.btn-primary-gradient:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px rgba(67,97,238,.4)}.btn-outline-custom{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:500;border-radius:.5rem;transition:all .15s ease;cursor:pointer;border:none}.btn-outline-custom:disabled{opacity:.6;cursor:not-allowed}.btn-outline-custom{background:rgba(0,0,0,0);border:2px solid #4361ee;color:#4361ee}.btn-outline-custom:hover:not(:disabled){background:#4361ee;color:#fff}.btn-answer{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:500;border-radius:.5rem;transition:all .15s ease;cursor:pointer;border:none}.btn-answer:disabled{opacity:.6;cursor:not-allowed}.btn-answer{width:100%;padding:1rem 1.5rem;background:#fff;border:2px solid #dee2e6;color:#1a1a2e;text-align:center;font-size:1rem}.btn-answer:hover:not(:disabled):not(.selected):not(.correct):not(.incorrect){border-color:#4361ee;background:rgba(67,97,238,.05)}.btn-answer.selected{border-color:#4361ee;background:rgba(67,97,238,.1);color:#4361ee}.btn-answer.correct{border-color:#4cc9f0;background:rgba(76,201,240,.1);color:rgb(6.4887810794%,60.5619567415%,77.432787548%)}.btn-answer.incorrect{border-color:#e63946;background:rgba(230,57,70,.1);color:#e63946}.btn-answer .answer-letter{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#f8f9fa;font-weight:600;margin-right:0}.btn-answer.unavailable{cursor:not-allowed;opacity:.62;box-shadow:none}.btn-answer.unavailable:hover{transform:none;border-color:#dbe4f0}.form-input{width:100%;padding:.75rem 1rem;border:2px solid #dee2e6;border-radius:.5rem;font-size:1rem;transition:all .15s ease;background:#fff}.form-input:focus{outline:none;border-color:#4361ee;box-shadow:0 0 0 3px rgba(67,97,238,.1)}.form-input::placeholder{color:#6c757d}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#1a1a2e}.form-error{color:#e63946;font-size:.875rem;margin-top:.25rem}.quiz-container{max-width:800px;margin:0 auto}.quiz-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;padding:1rem;background:#fff;border-radius:1rem;box-shadow:0 .125rem .25rem rgba(0,0,0,.075)}@media(max-width:767px){.quiz-header{flex-direction:column;gap:1rem;text-align:center}}.quiz-timer{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;color:#4361ee}.quiz-timer.warning{color:#f72585;animation:pulse 1s infinite}.quiz-timer.danger{color:#e63946;animation:pulse .5s infinite}.quiz-progress{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.quiz-progress .progress-text{font-weight:500;color:#6c757d}.problem-image{width:100%;max-height:400px;object-fit:contain;border-radius:.5rem;margin-bottom:1.5rem;background:#fff;padding:1rem}.answers-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.quiz-navigation{display:flex;align-items:center;justify-content:space-between;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #dee2e6}.quiz-session-view{--quiz-tab-h:var(--quiz-tab-inner-height,100vh);--quiz-navbar-h:var(--quiz-navbar-height,0px);--quiz-content-h:calc(var(--quiz-tab-h) - var(--quiz-navbar-h));--quiz-between-gap:calc(var(--quiz-content-h) * 0.012);--quiz-answers-h:calc(var(--quiz-content-h) * 0.08);--quiz-inner-gap:calc(var(--quiz-content-h) * 0.008);--quiz-nav-h:calc(var(--quiz-content-h) * 0.07);--quiz-problem-slot-h:calc(var(--quiz-content-h) - var(--quiz-nav-h) - var(--quiz-between-gap));height:var(--quiz-tab-h);max-height:var(--quiz-tab-h);overflow:hidden}.quiz-session-view .main-content{height:var(--quiz-content-h);max-height:var(--quiz-content-h);padding:0!important;overflow:hidden}.quiz-session-view .container{height:100%;max-height:100%;padding-top:0!important;padding-bottom:0!important;overflow:hidden}.quiz-session-view .quiz-container{height:100%;max-height:100%;display:grid;grid-template-rows:var(--quiz-problem-slot-h) var(--quiz-nav-h);row-gap:var(--quiz-between-gap);overflow:hidden}.quiz-session-view .quiz-timer{font-size:clamp(.8rem,1.9vh,.95rem);line-height:1;display:inline-flex;align-items:center;gap:.35rem}.quiz-session-view .quiz-timer svg{width:clamp(14px,2vh,20px);height:clamp(14px,2vh,20px)}.quiz-session-view .quiz-navbar-wrapper{position:relative;isolation:isolate}.quiz-session-view .navbar .navbar-auth-section{display:none!important}.quiz-session-view .navbar .navbar-brand{display:flex!important;position:relative;z-index:1301;order:0}.quiz-session-view .navbar .navbar-toggler{display:block!important;margin-left:auto;position:relative;z-index:1301;order:2}.quiz-session-view .navbar .navbar-toggler-icon{position:relative;z-index:1302}.quiz-session-view .navbar .navbar-collapse{display:none!important;order:3}.quiz-session-view .navbar .navbar-collapse.show{display:flex!important;align-items:center;width:100%}.quiz-session-view .navbar .container{display:flex;flex-wrap:wrap;align-items:center}.quiz-session-view .navbar .navbar-collapse.show .navbar-auth-section{display:flex!important;margin-left:auto}.quiz-session-view .navbar .navbar-collapse.show .navbar-auth-section .dropdown{display:flex;align-items:center}.quiz-session-view .navbar .navbar-collapse.show .navbar-auth-section .d-none.d-md-inline{display:inline!important}.quiz-session-view .quiz-navbar-status{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:inline-flex;justify-content:flex-start;gap:.75rem;z-index:1200;width:max-content;max-width:calc(100% - 8rem);padding:.2rem .5rem}.quiz-session-view .quiz-navbar-status,.quiz-session-view .quiz-navbar-status-below{align-items:center;pointer-events:none;border-top:1px solid rgba(0,0,0,.06);background:#fff}.quiz-session-view .quiz-navbar-status-below{display:flex;justify-content:space-between;gap:.6rem;width:100%;padding:.35rem .75rem .45rem}.quiz-session-view .quiz-navbar-status-below .quiz-navbar-progress{flex:1 1;min-width:0;max-width:none}.quiz-session-view .navbar .dropdown{position:relative;z-index:1300}.quiz-session-view .profile-dropdown-menu{z-index:4000!important}.quiz-session-view .quiz-navbar-progress{flex:0 1 min(52vw,760px);min-width:280px;max-width:min(52vw,760px)}.quiz-session-view .quiz-navbar-progress-text{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:clamp(.68rem,1.35vh,.82rem);color:#6c757d;line-height:1.1;margin-bottom:.25rem;white-space:nowrap}.quiz-session-view .quiz-navbar-progress-bar{height:6px;margin-bottom:0!important}.quiz-session-view .quiz-card{height:100%;max-height:100%;padding:.15vh .75vw .1vh;display:grid;grid-template-rows:minmax(0,1fr) var(--quiz-answers-h);row-gap:var(--quiz-inner-gap);align-content:stretch;overflow:hidden}.quiz-session-view .quiz-card .problem-image{width:100%;height:100%;max-height:100%;object-fit:contain;margin-bottom:0;padding:.2rem}.quiz-session-view .quiz-card .answers-grid{height:var(--quiz-answers-h);max-height:var(--quiz-answers-h);gap:.45rem}.quiz-session-view .quiz-card .btn-answer{height:100%;min-height:0;padding:.25rem .5rem;align-items:center;justify-content:center}.quiz-session-view .quiz-card .btn-answer .answer-letter{width:clamp(24px,3.2vh,32px);height:clamp(24px,3.2vh,32px);font-size:clamp(.85rem,2vh,1rem)}.quiz-session-view .quiz-problem-slot{height:var(--quiz-problem-slot-h);max-height:var(--quiz-problem-slot-h);overflow:hidden}.quiz-session-view .quiz-navigation{margin-top:0;padding:0;border-top:0;height:var(--quiz-nav-h);max-height:var(--quiz-nav-h);align-items:stretch}.quiz-session-view .quiz-navigation .btn{height:100%;max-height:100%;display:inline-flex;align-items:center;justify-content:center;padding-top:0;padding-bottom:0}.quiz-session-view .quiz-navigation>.d-flex{height:100%;align-items:stretch}.quiz-session-view .quiz-navigation>.d-flex .btn{height:100%;max-height:100%;margin:0}.quiz-session-view .alert.mt-4{margin-top:0!important;max-height:5vh;overflow:auto}@media(orientation:landscape){.quiz-session-view .quiz-navbar-status{max-width:calc(100% - 6.5rem)}}@media(max-width:1100px){.quiz-session-view .quiz-navbar-status{max-width:calc(100% - 6.2rem)}}@media(max-width:575.98px)and (orientation:portrait){.quiz-session-view .quiz-navbar-status{max-width:calc(100% - 10.5rem);gap:.35rem;padding:.1rem .25rem}.quiz-session-view .quiz-navbar-progress{min-width:0;max-width:min(36vw,180px);flex-basis:min(36vw,180px)}.quiz-session-view .quiz-navbar-progress-text{font-size:clamp(.58rem,1.05vh,.68rem);gap:.25rem}.quiz-session-view .quiz-navbar-progress-text span:last-child{display:none}.quiz-session-view .quiz-timer{font-size:clamp(.62rem,1.2vh,.72rem);gap:.2rem}}@media(orientation:landscape)and (pointer:coarse){.quiz-session-view{--quiz-between-gap:0;--quiz-nav-h:0px;--quiz-problem-slot-h:var(--quiz-content-h);--quiz-answers-h:calc(var(--quiz-content-h) * 0.11);--quiz-inner-gap:calc(var(--quiz-content-h) * 0.005)}.quiz-session-view .navbar{padding-top:.2rem;padding-bottom:.2rem;min-height:2.15rem}.quiz-session-view .navbar .container{min-height:2rem}.quiz-session-view .quiz-card{padding:.05rem 2.9rem;row-gap:var(--quiz-inner-gap)}.quiz-session-view .quiz-card .problem-image{max-height:calc(var(--quiz-content-h)*.93);padding:.1rem}.quiz-session-view .quiz-card .answers-grid{height:var(--quiz-answers-h);max-height:var(--quiz-answers-h);gap:.55rem}.quiz-session-view .quiz-card .btn-answer{min-height:calc(var(--quiz-content-h)*.095)}.quiz-session-view .quiz-navigation{position:fixed;inset:0;height:0;max-height:0;padding:0;margin:0;border:0;pointer-events:none;z-index:1250}.quiz-session-view .quiz-navigation>.btn,.quiz-session-view .quiz-navigation>.d-flex .btn{position:fixed;top:50vh;transform:translateY(-50%);height:auto;min-height:2.25rem;max-height:none;padding:.45rem .55rem;pointer-events:auto;box-shadow:0 3px 10px rgba(0,0,0,.18);border-radius:999px}.quiz-session-view .quiz-navigation>.btn{left:max(.35rem,env(safe-area-inset-left))}.quiz-session-view .quiz-navigation>.d-flex{height:0}.quiz-session-view .quiz-navigation>.d-flex .btn{right:max(.35rem,env(safe-area-inset-right))}}.problem-dots{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin:1rem 0}.problem-dots .dot{width:12px;height:12px;border-radius:50%;background:#f8f9fa;border:2px solid #dee2e6;cursor:pointer;transition:all .15s ease}.problem-dots .dot:hover{border-color:#4361ee}.problem-dots .dot.answered{background:#4361ee;border-color:#4361ee}.problem-dots .dot.current{border-color:#4361ee;box-shadow:0 0 0 3px rgba(67,97,238,.2)}.results-card{background:#fff;border-radius:1rem;box-shadow:0 .125rem .25rem rgba(0,0,0,.075);padding:1.5rem;transition:all .3s ease}.results-card:hover{box-shadow:0 .5rem 1rem rgba(0,0,0,.1)}.results-card{text-align:center;padding:3rem}.results-card .score-display{font-size:4rem;font-weight:700;background:linear-gradient(135deg,#4361ee,#7209b7);-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text;margin-bottom:1rem}.results-card .score-label{font-size:1.25rem;color:#6c757d}.results-card .accuracy-display{font-size:1.5rem;color:#1a1a2e}.results-card .accuracy-display .accuracy-fraction{font-size:1.75rem}.results-card .accuracy-display .accuracy-fraction strong{color:#4cc9f0}.results-card .accuracy-display .accuracy-label{color:#6c757d;font-size:1rem}.results-card .accuracy-bar-container{max-width:400px;margin:0 auto}.results-card .accuracy-bar{height:12px;background:#f8f9fa;border-radius:6px;overflow:hidden}.results-card .accuracy-bar .accuracy-bar-fill{height:100%;background:linear-gradient(90deg,#4cc9f0,rgb(48.2575298161%,84.390539721%,95.6640388114%));border-radius:6px;transition:width .5s ease}.draft-image{position:relative}.draft-image .draft-image-hover{position:absolute;top:0;left:110%;z-index:10;width:420px;max-width:70vw;background:#fff;border:1px solid #dee2e6;border-radius:.5rem;padding:.5rem;box-shadow:0 .5rem 1rem rgba(0,0,0,.1);opacity:0;pointer-events:none;transform:translateY(-4px);transition:all .15s ease}.draft-image:hover .draft-image-hover{opacity:1;pointer-events:auto;transform:translateY(0)}.solution-card{background:#fff;border-radius:1rem;box-shadow:0 .125rem .25rem rgba(0,0,0,.075);padding:1.5rem;transition:all .3s ease}.solution-card:hover{box-shadow:0 .5rem 1rem rgba(0,0,0,.1)}.solution-card{margin-bottom:1.5rem}.solution-card .solution-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #dee2e6}.solution-card .solution-content{line-height:1.8}.solution-card .solution-content img{max-width:100%;height:auto;border-radius:.5rem;margin:1rem 0}.topic-card{background:#fff;border-radius:1rem;box-shadow:0 .125rem .25rem rgba(0,0,0,.075);padding:1.5rem;transition:all .3s ease}.topic-card:hover{box-shadow:0 .5rem 1rem rgba(0,0,0,.1)}.topic-card{cursor:pointer}.topic-card.selected{border:2px solid #4361ee;background:rgba(67,97,238,.05)}.topic-card .topic-name{font-weight:600;margin-bottom:.5rem}.topic-card .topic-description{color:#6c757d;font-size:.875rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.topic-card-static{cursor:default}.topics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.leaderboard-table{width:100%}.leaderboard-table .rank-cell{font-weight:700;color:#4361ee}.leaderboard-table .rank-cell.gold{color:gold}.leaderboard-table .rank-cell.silver{color:silver}.leaderboard-table .rank-cell.bronze{color:#cd7f32}.leaderboard-table .user-cell{display:flex;align-items:center;gap:1rem}.leaderboard-table .user-cell .avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}.profile-header{background:#fff;border-radius:1rem;box-shadow:0 .125rem .25rem rgba(0,0,0,.075);padding:1.5rem;transition:all .3s ease}.profile-header:hover{box-shadow:0 .5rem 1rem rgba(0,0,0,.1)}.profile-header{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:3rem}.profile-header .avatar-large{width:120px;height:120px;border-radius:50%;object-fit:cover;border:4px solid #4361ee;margin-bottom:1.5rem}.profile-header .profile-name{font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.profile-header .profile-email{color:#6c757d}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem;margin-top:2rem}.stat-card{background:#fff;border-radius:1rem;box-shadow:0 .125rem .25rem rgba(0,0,0,.075);padding:1.5rem;transition:all .3s ease}.stat-card:hover{box-shadow:0 .5rem 1rem rgba(0,0,0,.1)}.stat-card{text-align:center}.stat-card .stat-value{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#4361ee,#7209b7);-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text}.stat-card .stat-label{color:#6c757d;font-size:.875rem;margin-top:.25rem}.admin-sidebar{width:260px;background:#fff;box-shadow:0 .5rem 1rem rgba(0,0,0,.1);padding:1.5rem;height:calc(100vh - var(--app-navbar-height, 64px));position:fixed;left:0;top:var(--app-navbar-height,64px);z-index:1010;overflow-y:auto}@media(max-width:991px){.admin-sidebar{transform:translateX(-100%);transition:all .3s ease}.admin-sidebar.open{transform:translateX(0)}}.admin-content{margin-left:260px;padding:2rem}@media(max-width:991px){.admin-content{margin-left:0}}.admin-sidebar-backdrop{position:fixed;left:0;right:0;bottom:0;top:var(--app-navbar-height,64px);background:rgba(0,0,0,.35);z-index:1005}.admin-nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:.5rem;color:#1a1a2e;transition:all .15s ease}.admin-nav-item.active,.admin-nav-item:hover{background:rgba(67,97,238,.1);color:#4361ee}@media(max-width:991.98px){.profile-dropdown-menu{overflow-y:auto}}@media(max-width:991.98px)and (orientation:landscape){:root{--app-navbar-height:2.15rem}.navbar{padding-top:.2rem;padding-bottom:.2rem;min-height:var(--app-navbar-height)}.navbar .container,.navbar>.container{min-height:2rem}}.compact-navbar-page .navbar{padding-top:.2rem;padding-bottom:.2rem;min-height:2.15rem}.compact-navbar-page .navbar .container,.compact-navbar-page .navbar>.container{min-height:2rem}@media(max-width:991.98px){.navbar .navbar-collapse.show .mobile-menu-links{width:100%}.navbar .navbar-collapse.show .mobile-menu-links .nav-item,.navbar .navbar-collapse.show .mobile-menu-links .nav-link{text-align:center;justify-content:center}.navbar .navbar-collapse.show .navbar-auth-section{width:100%;justify-content:center;margin-top:.75rem}.navbar .navbar-collapse.show .navbar-auth-section .dropdown{width:100%;display:flex;justify-content:center}.navbar .navbar-collapse.show .navbar-auth-section .btn.btn-link{width:100%;justify-content:center}}.text-gradient{background:linear-gradient(135deg,#4361ee,#7209b7);-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text}.text-center{text-align:center}.text-muted{color:#6c757d}.mb-0{margin-bottom:0!important}.mt-auto{margin-top:auto}.w-100{width:100%}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:1rem}.spinner{width:40px;height:40px;border:4px solid #f8f9fa;border-top-color:#4361ee;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.loading-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.9);z-index:1050}@media(max-width:767px){.d-none-mobile{display:none!important}}@media(min-width:768px){.d-none-desktop{display:none!important}}.toast-container{position:fixed;top:1rem;right:1rem;z-index:1080;display:flex;flex-direction:column;gap:.5rem}.toast-item{background:#fff;border-radius:1rem;box-shadow:0 .125rem .25rem rgba(0,0,0,.075);padding:1.5rem;transition:all .3s ease}.toast-item:hover{box-shadow:0 .5rem 1rem rgba(0,0,0,.1)}.toast-item{animation:slideUp .3s ease-out;padding:1rem 1.5rem;min-width:300px;max-width:400px}.toast-item.success{border-left:4px solid #4cc9f0}.toast-item.error{border-left:4px solid #e63946}.toast-item.warning{border-left:4px solid #f72585}.toast-item.info{border-left:4px solid #4895ef}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1050;animation:fadeIn .3s ease-in-out}.modal-content{background:#fff;border-radius:1rem;box-shadow:0 .125rem .25rem rgba(0,0,0,.075);padding:1.5rem;transition:all .3s ease}.modal-content:hover{box-shadow:0 .5rem 1rem rgba(0,0,0,.1)}.modal-content{animation:slideUp .3s ease-out;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.modal-header{padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid #dee2e6}.modal-footer,.modal-header{display:flex;align-items:center;justify-content:space-between}.modal-footer{padding-top:1rem;margin-top:1rem;border-top:1px solid #dee2e6}.app-navbar{min-height:68px;box-shadow:0 1px 0 rgba(15,23,42,.04)}.app-navbar .navbar-brand img{object-fit:contain}.app-navbar .nav-link{font-weight:600;color:#334155}.app-home{background:radial-gradient(circle at 10% 0,rgba(67,97,238,.08),transparent 34rem),#f8fafc}.quiz-picker{max-width:920px}.classic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-bottom:1.25rem}.classic-tile{display:flex;align-items:center;gap:.9rem;min-height:68px;width:100%;padding:.9rem 1rem;border:2px solid #dbe4f0;border-radius:16px;background:#fff;color:#172033;font-weight:650;text-align:left;box-shadow:0 4px 0 #dbe4f0;transition:transform .12s ease,border-color .12s ease,background .12s ease,box-shadow .12s ease}.classic-tile:hover{transform:translateY(-1px);border-color:rgba(67,97,238,.55)}.classic-tile:active{transform:translateY(3px);box-shadow:0 1px 0 #dbe4f0}.classic-tile.selected{border-color:#4361ee;background:rgba(67,97,238,.075);color:rgb(7.9284552846%,21.9198469632%,87.6793878527%);box-shadow:0 4px 0 rgba(67,97,238,.35)}.classic-check{display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px;border:2px solid #cbd5e1;border-radius:9px;background:#fff;color:#fff;font-size:.9rem}.selected .classic-check{border-color:#4361ee;background:#4361ee}.start-quiz-button{min-height:58px;border-radius:16px;font-weight:800;letter-spacing:.08em;box-shadow:0 5px 0 rgb(20.5996603366%,17.941639648%,66.4505172148%)}.start-quiz-button:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 rgb(20.5996603366%,17.941639648%,66.4505172148%)}.annual-access-link,.free-quizzes-note{color:#64748b;font-size:.9rem}.resume-quiz-button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.8rem 1rem;border:1px solid #f4c95d;border-radius:13px;background:#fff8df;color:#6b4d00;text-align:left}.auth-simple-page{display:flex;align-items:flex-start;background:#f8fafc}.auth-simple-card{max-width:470px;padding:clamp(1.4rem,4vw,2.5rem);border:1px solid #e2e8f0;border-radius:22px;background:#fff;box-shadow:0 20px 50px rgba(15,23,42,.08)}.auth-code-input{height:64px;font-size:1.8rem;font-weight:750;letter-spacing:.35em;text-align:center}.app-footer{padding:1.25rem 0;border-top:1px solid #e2e8f0;background:#fff;color:#64748b;font-size:.88rem}.app-footer a{color:#475569}.app-icon-preview{display:inline-flex;align-items:center;justify-content:center;width:86px;height:86px;border-radius:22px;background:linear-gradient(145deg,#4361ee,#7209b7);color:#fff;font-size:1.7rem;font-weight:800;box-shadow:0 12px 30px rgba(67,97,238,.28)}.install-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;max-width:1000px;margin:0 auto}.install-platform{padding:1.4rem;border:1px solid #e2e8f0;border-radius:22px;background:#fff}.install-platform-heading{display:flex;align-items:center;gap:.75rem;margin-bottom:1.2rem}.platform-badge,.step-number{display:inline-flex;padding:.25rem .55rem;border-radius:999px;background:rgba(67,97,238,.1);color:#4361ee;font-size:.75rem;font-weight:700}.install-step,.install-steps{display:grid;gap:1rem}.install-step{grid-template-columns:74px 1fr;align-items:center}.phone-shot{position:relative;width:70px;height:112px;padding:8px 5px 5px;border:4px solid #182033;border-radius:17px;background:#f1f5f9;box-shadow:0 7px 16px rgba(15,23,42,.12)}.phone-notch{position:absolute;top:3px;left:50%;width:24px;height:5px;border-radius:99px;background:#182033;transform:translateX(-50%)}.phone-shot-content{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;border-radius:10px;background:linear-gradient(160deg,#fff,rgba(67,97,238,.12))}.phone-shot-content span{font-size:1.6rem}.phone-shot-content small{color:#4361ee;font-weight:800}.gamification-dashboard,.gamification-reward{padding:1.35rem;border:1px solid rgba(67,97,238,.18);border-radius:18px;background:linear-gradient(145deg,rgba(67,97,238,.07),rgba(114,9,183,.06))}.reward-xp{color:#4361ee;font-size:1.8rem;font-weight:800}.level-title{color:#4361ee;font-weight:750}.level-progress{height:13px;overflow:hidden;border-radius:999px;background:#dbe4f0}.level-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4361ee,#7209b7)}.achievement-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .7rem;border:1px solid rgba(67,97,238,.18);border-radius:999px;background:#fff;color:#334155;font-size:.82rem;font-weight:650}.mission-grid{display:grid;gap:.75rem}.mission-card{display:flex;align-items:center;gap:.85rem;padding:.9rem 1rem;border:1px solid #e2e8f0;border-radius:15px;background:#fff}.mission-card.completed{border-color:#86d6b4;background:#f0fdf7}.mission-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:rgba(67,97,238,.1);font-size:1.15rem;font-weight:800}.completed .mission-icon{background:#28a86b;color:#fff}.mission-progress{height:7px;margin-top:.45rem;overflow:hidden;border-radius:999px;background:#e8edf4}.mission-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4361ee,#7209b7)}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:.45rem}.week-day{display:grid;justify-items:center;gap:.25rem;color:#64748b}.week-day>span{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:2px solid #dbe4f0;border-radius:50%;color:#fff;font-size:.75rem;font-weight:800}.week-day>span.active{border-color:#28a86b;background:#28a86b}.achievement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.achievement-card{display:flex;align-items:center;gap:.75rem;min-height:78px;padding:.8rem;border:1px solid #e2e8f0;border-radius:15px;background:#fff}.achievement-card small{display:block;margin-top:.15rem;color:#64748b;line-height:1.25}.achievement-card.locked{opacity:.58;filter:grayscale(.45)}.achievement-card.unlocked{border-color:rgba(67,97,238,.28);box-shadow:0 4px 14px rgba(67,97,238,.08)}.achievement-emoji{font-size:1.6rem}.mastery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.mastery-card{--mastery-color:#94a3b8;padding:1rem;border:1px solid rgba(15,23,42,.09);border-radius:16px;background:#fff;box-shadow:0 7px 20px rgba(15,23,42,.05)}.mastery-card.mastery-1{--mastery-color:#38bdf8}.mastery-card.mastery-2{--mastery-color:#22c55e}.mastery-card.mastery-3{--mastery-color:#8b5cf6}.mastery-card.mastery-4{--mastery-color:#f59e0b}.mastery-label{margin-top:.15rem;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.mastery-label,.mastery-score{color:var(--mastery-color);font-weight:800}.mastery-score{font-size:1.2rem}.mastery-progress{height:8px;margin:.85rem 0 .4rem;overflow:hidden;border-radius:999px;background:#e9eef5}.mastery-progress span{display:block;height:100%;border-radius:inherit;background:var(--mastery-color)}.preview-shell{min-height:100vh;background:radial-gradient(circle at 8% 0,rgba(22,163,74,.12),transparent 32rem),#f6f8fb}.preview-topbar{position:sticky;top:0;z-index:5;border-bottom:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.preview-brand{color:#17202a;font-size:1.1rem;font-weight:900;text-decoration:none}.preview-badge{padding:.35rem .65rem;border-radius:999px;background:#ecfdf3;color:#15803d;font-size:.75rem;font-weight:800}.preview-panel{max-width:900px;margin:0 auto;padding:2rem 0 4rem}.preview-card{border:1px solid rgba(15,23,42,.08);border-radius:24px;background:#fff;box-shadow:0 22px 55px rgba(15,23,42,.08)}.classic-catalog{max-height:58vh;margin:0 -.25rem 1.5rem;padding:0 .25rem;overflow-y:auto}.classic-category{padding:1rem 0;border-bottom:1px solid #e8edf4}.classic-category:first-child{padding-top:0}.classic-category-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.classic-category-toggle{display:flex;align-items:center;gap:.65rem;padding:0;border:0;background:rgba(0,0,0,0);color:#172033;text-align:left}.latex-content{white-space:pre-wrap}.latex-display{display:block;margin:.75rem 0;overflow-x:auto;overflow-y:hidden}.latex-question{line-height:1.75}.answer-content{flex:1 1;text-align:left}.demo-answer.correct{border-color:#16a34a;background:#dcfce7}.demo-answer.incorrect{border-color:#dc2626;background:#fee2e2}.demo-question{padding:1.4rem;border-radius:18px;background:#f8fafc;font-size:1.15rem;font-weight:700}.demo-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.demo-answer{min-height:58px;border:2px solid #dce3eb;border-radius:16px;background:#fff;color:#273444;font-weight:750;text-align:left;padding:.9rem 1rem}.demo-answer.selected,.demo-answer:hover{border-color:#22a447;background:#f0fdf4}.preview-reward{padding:1.25rem;border:1px solid #bbf7d0;border-radius:18px;background:linear-gradient(135deg,#f0fdf4,#ecfeff)}.legal-page article{max-width:850px}.legal-page h2{margin-top:2rem;font-size:1.25rem}.legal-page li{margin-bottom:.4rem}@media(max-width:767.98px){.classic-grid,.install-grid{grid-template-columns:1fr}.classic-tile{min-height:62px}.app-navbar .navbar-collapse{padding:.75rem 0 1rem}.install-platform{padding:1rem}.achievement-grid,.demo-answer-grid,.mastery-grid{grid-template-columns:1fr}.preview-panel{padding-top:1rem}}.korasy-inline-image-wrap{display:block;text-align:center;margin:1rem 0}.korasy-inline-image{display:inline-block;max-width:100%;max-height:420px;width:auto;height:auto;object-fit:contain}.quiz-session-view{height:auto;max-height:none;min-height:100%;overflow:visible}.quiz-session-view .main-content{padding:1.25rem 0 2rem!important}.quiz-session-view .container,.quiz-session-view .main-content,.quiz-session-view .quiz-container{height:auto;max-height:none;overflow:visible}.quiz-session-view .quiz-container{display:block;max-width:980px;margin:0 auto}.quiz-session-view .quiz-problem-slot{height:auto;max-height:none;min-height:0;overflow:visible}.quiz-session-view .quiz-card{display:block;height:auto;max-height:none;padding:1.25rem 1rem;overflow:visible}.quiz-session-view .latex-question{margin-bottom:1.25rem!important;font-size:1.05rem;line-height:1.65}.quiz-session-view .quiz-card .answers-grid{height:auto;max-height:none;margin-top:1rem;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.quiz-session-view .quiz-card .btn-answer{height:auto;min-height:64px;padding:.75rem .9rem;justify-content:flex-start}.quiz-session-view .quiz-navigation{height:auto;max-height:none;margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb;align-items:center}.quiz-session-view .quiz-navigation .btn{height:auto;max-height:none;min-height:44px;padding:.65rem 1rem}.quiz-session-view .quiz-navigation>.d-flex{height:auto;align-items:center}@media(max-width:767.98px){.quiz-session-view .quiz-card .answers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quiz-session-view .quiz-navigation{gap:.75rem;flex-wrap:wrap}}.latex-compact{white-space:pre-line;line-height:1.35}.latex-compact .latex-display{margin:.25rem 0}.latex-compact .katex-display{margin:.2rem 0}.latex-compact .latex-text{white-space:pre-line}.solution-card{margin-bottom:1rem!important}.solution-card .quiz-card{padding-top:.75rem;padding-bottom:.75rem}.latex-solution{margin-top:.5rem!important;padding:.75rem 1rem!important}