@import"https://fonts.googleapis.com/css2?family=Rajdhani:wght@400;500;600;700&family=Orbitron:wght@700;900&display=swap";@import"https://fonts.googleapis.com/css2?family=Orbitron:wght@700;900&display=swap";.login-root{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:#080f1e;font-family:Rajdhani,sans-serif}.login-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.login-panel{position:relative;z-index:1;width:100%;max-width:400px;padding:0 24px 40px;display:flex;flex-direction:column;align-items:center;animation:panel-enter .8s cubic-bezier(.16,1,.3,1) both}@keyframes panel-enter{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.login-fixed-top{position:fixed;top:24px;left:50%;transform:translate(-50%);z-index:10;animation:logo-enter .9s cubic-bezier(.16,1,.3,1) .1s both}@keyframes logo-enter{0%{opacity:0;transform:translate(-50%) scale(.85) translateY(-10px)}to{opacity:1;transform:translate(-50%) scale(1) translateY(0)}}.login-logo{width:90px;height:auto;filter:drop-shadow(0 0 16px rgba(78,209,197,.35))}.login-brand{text-align:center;margin-bottom:36px;animation:brand-enter .9s cubic-bezier(.16,1,.3,1) .2s both}@keyframes brand-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.login-title{font-family:Orbitron,monospace;font-size:28px;font-weight:900;color:#e8edf5;letter-spacing:4px;margin:0 0 8px;line-height:1}.login-title span{color:#4ed1c5}.login-sub{font-size:13px;font-weight:500;color:#4a5e78;letter-spacing:2px;text-transform:uppercase;margin:0}.login-sub sub{font-size:9px}.login-card{width:100%;background:#0d15261f;border:1px solid rgba(78,209,197,.22);border-radius:4px;padding:32px 28px 28px;-webkit-backdrop-filter:blur(4px) saturate(1.1);backdrop-filter:blur(4px) saturate(1.1);position:relative;animation:card-enter .9s cubic-bezier(.16,1,.3,1) .3s both;box-shadow:0 0 0 1px #4ed1c50f inset,0 24px 60px #00000080}@keyframes card-enter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.login-card-line{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#4ed1c5,#2563eb,transparent);border-radius:4px 4px 0 0}.login-card:before,.login-card:after{content:"";position:absolute;width:12px;height:12px;border-color:#4ed1c580;border-style:solid}.login-card:before{bottom:-1px;left:-1px;border-width:0 0 1px 1px}.login-card:after{bottom:-1px;right:-1px;border-width:0 1px 1px 0}.login-form{display:flex;flex-direction:column}.login-form-label{font-size:10px;font-weight:700;letter-spacing:2.5px;color:#4ed1c5;margin:0 0 10px}.login-input-wrap{position:relative;display:flex;align-items:center;margin-bottom:10px}.login-input-icon{position:absolute;left:14px;font-size:18px;color:#4a5e78;font-weight:600;-webkit-user-select:none;user-select:none}.login-input{width:100%;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:3px;padding:13px 14px 13px 34px;font-size:16px;font-family:Rajdhani,sans-serif;font-weight:600;color:#e8edf5;outline:none;transition:border-color .2s,background .2s,box-shadow .2s;letter-spacing:1px}.login-input:not(.login-input--otp){padding-left:34px}.login-input:focus{border-color:#4ed1c599;background:#4ed1c50a;box-shadow:0 0 0 3px #4ed1c514,0 0 16px #4ed1c51a}.login-input::placeholder{color:#2d3f55}.login-input--otp{padding:16px 14px;font-size:32px;font-family:Orbitron,monospace;font-weight:700;letter-spacing:14px;text-align:center;margin-bottom:10px}.login-hint{font-size:12px;color:#3d5066;margin:0 0 20px;line-height:1.5;font-weight:500}.login-hint strong{color:#94a3b8}.login-error{background:#7f1d1d4d;border:1px solid rgba(239,68,68,.35);color:#fca5a5;border-radius:3px;padding:10px 14px;font-size:13px;font-weight:500;margin-bottom:16px;letter-spacing:.3px}.login-btn{width:100%;padding:14px;border:none;border-radius:3px;font-family:Orbitron,monospace;font-size:12px;font-weight:700;letter-spacing:3px;cursor:pointer;transition:all .2s;margin-bottom:10px;position:relative;overflow:hidden;background:linear-gradient(135deg,#1a3f6e,#2273b9 50%,#1a3f6e);color:#e8edf5;box-shadow:0 0 20px #2273b959}.login-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(78,209,197,.15),transparent);opacity:0;transition:opacity .2s}.login-btn:hover:not(:disabled):before{opacity:1}.login-btn:hover:not(:disabled){box-shadow:0 0 30px #2273b98c,0 0 12px #2273b940;transform:translateY(-1px)}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.5;cursor:default}.login-btn--ghost{background:transparent;border:1px solid rgba(255,255,255,.08);color:#4a5e78;box-shadow:none;font-size:11px}.login-btn--ghost:hover:not(:disabled){border-color:#4ed1c54d;color:#94a3b8;box-shadow:none;transform:none}.login-btn--ghost:before{display:none}.login-btn-loading{display:flex;align-items:center;justify-content:center;gap:6px}.login-btn-loading span{display:block;width:5px;height:5px;border-radius:50%;background:#4ed1c5;animation:dot-bounce .8s ease-in-out infinite}.login-btn-loading span:nth-child(2){animation-delay:.15s}.login-btn-loading span:nth-child(3){animation-delay:.3s}@keyframes dot-bounce{0%,80%,to{transform:scale(.7);opacity:.4}40%{transform:scale(1);opacity:1}}.login-fixed-bottom{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:10;display:flex;flex-direction:column;align-items:center;gap:8px;animation:footer-enter 1s ease .6s both}@keyframes footer-enter{0%{opacity:0}to{opacity:1}}.login-footer-label{font-size:10px;font-weight:500;letter-spacing:2px;color:#1e2d40;text-transform:uppercase;white-space:nowrap}.login-footer-logo{width:110px;height:auto;opacity:.7;filter:brightness(1.8);transition:opacity .2s}.login-footer-logo:hover{opacity:.4}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,system-ui,sans-serif;background:#0b1120;color:#e2e8f0;min-height:100vh}.app-header{position:sticky;top:0;z-index:100;background:#0d1526;border-bottom:1px solid #1e293b}.app-header-inner{position:relative;display:flex;align-items:center;justify-content:space-between;max-width:800px;margin:0 auto;padding:0 16px;height:52px}.header-center{position:absolute;left:50%;transform:translate(-50%);font-family:Orbitron,Segoe UI,monospace;font-size:13px;font-weight:700;letter-spacing:6px;color:#4ed1c5;-webkit-user-select:none;user-select:none}.header-center-btn{background:none;border:none;padding:0;margin:0;cursor:pointer}.header-left{display:flex;align-items:center;gap:8px}.header-logo{display:flex;align-items:center;text-decoration:none;cursor:pointer}.header-logo-img{height:36px;width:auto;opacity:.9;transition:opacity .15s}.header-logo:hover .header-logo-img{opacity:1}.breadcrumbs{display:flex;align-items:center;gap:4px}.crumb-sep{color:#475569;font-size:13px;margin:0 2px}.crumb-link{background:none;border:none;color:#60a5fa;font-size:13px;cursor:pointer;padding:0;text-decoration:none}.crumb-link:hover{text-decoration:underline}.crumb-current{color:#94a3b8;font-size:13px}.header-logo-btn{background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center}.header-right{display:flex;align-items:center;gap:12px;min-width:80px;justify-content:flex-end}.header-back{color:#475569;font-size:13px}.font-size-ctrl{display:flex;align-items:center;gap:4px}.font-size-btn{background:none;border:1px solid #1e293b;color:#64748b;font-family:inherit;font-size:11px;font-weight:700;line-height:1;padding:5px 7px;border-radius:6px;cursor:pointer;transition:border-color .15s,color .15s}.font-size-btn:hover:not(:disabled){border-color:#4ed1c5;color:#4ed1c5}.font-size-btn:disabled{opacity:.35;cursor:default}.sidemenu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;animation:overlay-in .2s ease}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.sidemenu{position:absolute;left:0;top:0;bottom:0;width:260px;background:#0d1526;border-right:1px solid #1e293b;display:flex;flex-direction:column;animation:sidemenu-in .25s cubic-bezier(.16,1,.3,1)}@keyframes sidemenu-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.sidemenu-logo{padding:28px 24px 20px;border-bottom:1px solid #1e293b}.sidemenu-logo img{width:110px;height:auto}.sidemenu-nav{flex:1;padding:16px 12px;display:flex;flex-direction:column;gap:4px}.sidemenu-item{display:flex;align-items:center;gap:10px;background:none;border:none;color:#94a3b8;font-size:14px;font-weight:600;font-family:inherit;padding:10px 12px;border-radius:8px;cursor:pointer;text-align:left;transition:background .15s,color .15s}.sidemenu-item:hover{background:#1e293b;color:#f1f5f9}.sidemenu-icon{font-size:16px;opacity:.6}.sidemenu-footer{padding:16px 24px 28px;border-top:1px solid #1e293b}.sidemenu-logout{width:100%;background:none;border:1px solid #1e293b;color:#475569;font-size:13px;font-weight:600;font-family:inherit;padding:10px;border-radius:8px;cursor:pointer;transition:border-color .15s,color .15s}.sidemenu-logout:hover{border-color:#ef4444;color:#fca5a5}.sidemenu-stats-title{font-size:10px;font-weight:600;letter-spacing:1.5px;color:#475569;text-transform:uppercase;padding:12px 20px 8px}.sidemenu-stats-list{list-style:none;margin:0;padding:0 0 8px;overflow-y:auto;flex:1}.sidemenu-stat-row{display:flex;flex-direction:column;gap:5px;padding:10px 20px;cursor:pointer;transition:background .15s}.sidemenu-stat-row:hover{background:#ffffff0a}.sidemenu-stat-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.sidemenu-stat-name{font-size:12px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidemenu-stat-nums{font-size:11px;color:#475569;flex-shrink:0}.sidemenu-stat-bar-wrap{width:100%;height:4px;background:#1e293b;border-radius:2px}.sidemenu-stat-bar{height:100%;background:#3b82f6;border-radius:2px;transition:width .3s}.app-main{min-height:calc(100vh - 52px);zoom:var(--font-scale, 100%)}.page{display:flex;flex-direction:column;align-items:center;padding:20px 16px 40px}.badge{display:inline-block;background:#1e3a5f;color:#60a5fa;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:4px 12px;border-radius:20px;margin-bottom:10px;border:1px solid #2563eb44}.btn{border:none;border-radius:11px;padding:13px 28px;font-size:15px;font-weight:700;cursor:pointer;transition:opacity .15s,transform .1s;width:100%;font-family:inherit}.btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:default;transform:none}.btn-primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff}.btn-secondary{background:#1e293b;color:#94a3b8;border:1px solid #334155;margin-top:10px}.btn-back{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;color:#475569;padding:4px 0;font-size:13px;font-weight:600;letter-spacing:.3px;cursor:pointer;font-family:inherit;transition:color .15s}.btn-back:hover{color:#94a3b8}.btn-back-arrow{font-size:16px;line-height:1;transition:transform .15s}.btn-back:hover .btn-back-arrow{transform:translate(-3px)}.form-label{display:block;font-size:13px;color:#94a3b8;margin-bottom:8px}.form-input{width:100%;background:#1e293b;border:1.5px solid #334155;border-radius:9px;padding:11px 14px;font-size:15px;color:#f1f5f9;font-family:inherit;transition:border-color .15s;outline:none;margin-bottom:14px}.form-input:focus{border-color:#3b82f6}.form-input::placeholder{color:#475569}.form-input-otp{font-size:28px;letter-spacing:12px;text-align:center;font-weight:700}.error-msg{background:#7f1d1d33;border:1px solid #ef444455;color:#fca5a5;border-radius:9px;padding:10px 14px;font-size:13px;margin-bottom:14px}.pill{border-radius:20px;padding:3px 11px;font-weight:600;font-size:12px}.pill-blue{background:#1e293b;color:#60a5fa}.pill-muted{background:#1e293b;color:#94a3b8}.dash-list{display:flex;flex-direction:column;gap:6px;width:100%;max-width:600px}.dash-card{display:flex;align-items:center;gap:16px;background:#0d1829;border:1px solid #1a2540;border-radius:10px;padding:10px 14px;text-align:left;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;font-family:inherit;width:100%}.dash-card:hover:not(:disabled){border-color:#2273b9;background:#0c1a30;box-shadow:0 2px 12px #2273b91f}.dash-card--locked{cursor:default;opacity:.38}.dash-card-index{font-size:11px;font-weight:700;color:#1e3050;font-family:Orbitron,monospace;letter-spacing:1px;flex-shrink:0;width:22px}.dash-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.dash-card-name{font-size:16px;font-weight:600;color:#e2e8f0;line-height:1.3}.dash-card-meta{display:flex;align-items:center;gap:5px;font-size:11px;color:#3d5272;flex-wrap:wrap}.meta-sep{color:#1e3050}.meta-wrong{color:#ef4444;opacity:.7}.meta-correct{color:#22c55e;opacity:.7}.dash-card-bar-wrap{width:100%;height:3px;background:#111e30;border-radius:2px}.dash-card-bar{height:100%;border-radius:2px;transition:width .4s}.dash-card-pct{font-size:15px;font-weight:700;font-family:Orbitron,monospace;flex-shrink:0;min-width:38px;text-align:right}.uskoro{font-size:10px;font-weight:700;letter-spacing:1px;background:#1e293b;color:#475569;padding:2px 7px;border-radius:4px;flex-shrink:0}.subject-screen{max-width:480px;width:100%;padding-top:0}.subject-screen h2{font-size:22px;font-weight:700;color:#f1f5f9;margin:0 0 20px}.subject-screen .desc{font-size:13px;color:#64748b;margin-bottom:24px}.stats-row{display:flex;gap:12px;margin-bottom:28px;width:100%}.stat-item{flex:1;background:#0d1829;border:1px solid #1e293b;border-radius:10px;padding:16px 12px;text-align:center}.stat-item .val{font-size:26px;font-weight:700;color:#f1f5f9;line-height:1}.stat-item .lbl{font-size:10px;color:#64748b;margin-top:6px;letter-spacing:1px;text-transform:uppercase}.stat-item.blue .val{color:#60a5fa}.stat-item.amber .val{color:#fbbf24}.stat-item.muted .val{color:#94a3b8}.stat-item{position:relative}.stat-item .lbl{display:flex;align-items:center;justify-content:center}.stat-info-btn{position:absolute;top:6px;right:6px;background:none;border:1px solid #334155;color:#475569;border-radius:50%;width:14px;height:14px;font-size:9px;line-height:1;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;transition:border-color .15s,color .15s}.stat-info-btn:hover{border-color:#60a5fa;color:#93c5fd}.stat-info-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#0f172a;border:1px solid #1e293b;border-radius:6px;padding:10px 14px;font-size:12px;color:#94a3b8;line-height:1.5;white-space:nowrap;z-index:10;box-shadow:0 4px 16px #0006}.stat-info-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#1e293b}.session-length-picker{margin-bottom:20px}.picker-label{font-size:12px;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.picker-options{display:flex;gap:8px}.picker-btn{background:#111827;border:1px solid #1e293b;color:#94a3b8;font-size:15px;font-weight:600;padding:8px 20px;border-radius:8px;cursor:pointer;transition:border-color .15s,color .15s}.picker-btn:hover{border-color:#3b82f6;color:#e2e8f0}.picker-btn.active{border-color:#3b82f6;color:#60a5fa;background:#1e3a5f33}.quiz-screen{max-width:640px;width:100%;padding-top:0}.quiz-title{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#475569;margin-bottom:12px;display:flex;align-items:center;gap:10px}.quiz-title-badge{font-size:10px;letter-spacing:1px;color:#f59e0b;background:#f59e0b1a;border:1px solid rgba(245,158,11,.25);border-radius:4px;padding:2px 7px;text-transform:uppercase}.progress-wrap{background:#1e293b;border-radius:99px;height:6px;margin-bottom:10px;overflow:hidden}.progress-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#2563eb,#60a5fa);transition:width .4s ease}.meta-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#475569;margin-bottom:16px;gap:8px}.question-card{background:#111827;border:1px solid #1e293b;border-radius:16px;padding:26px 26px 22px;margin-bottom:12px}.q-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.q-number{font-size:11px;font-weight:700;letter-spacing:1.5px;color:#3b82f6;text-transform:uppercase}.q-text{font-size:15px;font-weight:500;color:#f1f5f9;line-height:1.65;margin-bottom:20px}.q-image{display:block;max-width:100%;height:auto;border-radius:10px;border:1px solid #1e293b;margin-bottom:20px}.answers{display:flex;flex-direction:column;gap:9px}.answer-btn{background:#1e293b;border:2px solid #334155;border-radius:11px;padding:12px 16px;text-align:left;font-size:14px;color:#cbd5e1;cursor:pointer;transition:all .14s;line-height:1.5;font-family:inherit;width:100%}.answer-btn:hover:not(:disabled){border-color:#3b82f6;background:#1e3a5f;color:#e2e8f0}.answer-btn.correct{background:#14532d44;border-color:#22c55e;color:#86efac}.answer-btn.wrong{background:#7f1d1d44;border-color:#ef4444;color:#fca5a5}.answer-btn:disabled{cursor:default}.feedback-bar{border-radius:10px;padding:11px 16px;font-size:14px;font-weight:500;margin-bottom:12px;line-height:1.5}.feedback-bar.correct{background:#14532d33;border:1px solid #22c55e55;color:#86efac}.feedback-bar.wrong{background:#7f1d1d33;border:1px solid #ef444455;color:#fca5a5}.next-btn{background:#2563eb;color:#fff;border:none;border-radius:11px;padding:13px 28px;font-size:15px;font-weight:700;cursor:pointer;width:100%;transition:opacity .15s;font-family:inherit}.next-btn:hover{opacity:.88}.results-screen{max-width:480px;width:100%;padding-top:0;display:flex;flex-direction:column}.results-pct{font-size:56px;font-weight:800;line-height:1;font-family:Orbitron,monospace;margin-bottom:6px}.results-sub{font-size:13px;color:#475569;margin-bottom:24px;letter-spacing:.3px}.results-bar-wrap{width:100%;height:4px;background:#1e293b;border-radius:2px;margin-bottom:28px}.results-bar{height:100%;border-radius:2px;transition:width .4s}.results-actions{display:flex;flex-direction:column;gap:10px}.review-screen{max-width:660px;width:100%;padding-top:0}.review-screen h2{font-size:17px;color:#f1f5f9;margin:0 0 20px;padding:0}.review-item{background:#111827;border:1px solid #1e293b;border-radius:13px;padding:18px;margin-bottom:12px}.review-item .q-number{margin-bottom:5px}.review-item .q-text{font-size:13px;margin-bottom:12px}.review-item .q-image{margin-bottom:12px}.review-answer{padding:9px 13px;border-radius:8px;font-size:13px;margin-bottom:5px}.review-answer .tag{font-size:10px;font-weight:700;letter-spacing:1px;opacity:.7;margin-bottom:2px}.review-answer.correct .tag.correct{color:#4ade80;opacity:1}.review-answer.wrong{background:#7f1d1d33;border:1px solid #ef444455;color:#fca5a5}.review-answer.correct{background:#14532d33;border:1px solid #22c55e55;color:#86efac}@media (max-width: 480px){.question-card{padding:18px 14px}.q-text{font-size:14px}.results-pct{font-size:40px}.dash-list{max-width:100%}}
