@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:rgb(203.375,210.75,218.125);border-radius:4px}body::-webkit-scrollbar-thumb:hover{background:rgb(173.625,185.25,196.875)}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:left;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(16.5463917526,154.4329896907,197.4536082474)}.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:1rem}.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;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}.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(123.0567010309,215.1958762887,243.9432989691));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}.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:100vh;position:fixed;left:0;top:0;z-index:1030;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-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}.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:hsla(0,0%,100%,.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}