:root{--font-family:"Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--lavender-50:#faf9fe;--lavender-100:#f3f0ff;--lavender-200:#e9e3fe;--lavender-300:#ddd6fe;--lavender-400:#c4b5fd;--lavender-500:#a78bfa;--lavender-600:#8b5cf6;--lavender-700:#7c3aed;--green-bg:#dcfce7;--green-border:#22c55e;--green-text:#15803d;--green-dark:#166534;--red-bg:#fee2e2;--red-border:#ef4444;--red-text:#b91c1c;--red-dark:#991b1b;--bg-page:#fff;--bg-card:#fff;--bg-surface:#faf9fd;--bg-muted:#f3f4f6;--text-primary:#0f172a;--text-secondary:#334155;--text-muted:#64748b;--border-light:#ebe8f5;--border-subtle:#f1f1f5;--shadow-sm:0 2px 5px #0f172a0a;--shadow-card:0 8px 30px #0f172a0f, 0 1px 4px #0f172a08;--shadow-hover:0 14px 34px #0f172a14, 0 2px 6px #0f172a0a;--shadow-lavender:0 6px 20px #8b5cf62e;--shadow-top-nav:0 -4px 20px #0f172a0d;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-full:9999px;--transition:all .2s cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;min-height:100vh;font-family:var(--font-family);background-color:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;overflow-x:hidden}img,svg{max-width:100%;display:block}button,input,select,textarea{font-family:inherit}.app-layout{flex-direction:column;width:100%;min-height:100vh;display:flex;overflow-x:hidden}.auth-container{background:radial-gradient(circle at 50% 15%, var(--lavender-100) 0%, #fff 70%);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:24px 16px;display:flex}.auth-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-card);text-align:center;transition:var(--transition);padding:40px 32px}.auth-logo-wrap{border:1.5px solid var(--border-light);width:88px;height:88px;box-shadow:var(--shadow-sm);background:#fff;border-radius:20px;justify-content:center;align-items:center;margin:0 auto 20px;padding:8px;display:flex;overflow:hidden}.auth-logo-image{object-fit:contain;width:100%;height:100%}.auth-title{color:var(--text-primary);letter-spacing:-.02em;margin-bottom:8px;font-size:24px;font-weight:700}.auth-subtitle{color:var(--text-muted);margin-bottom:28px;font-size:14px;line-height:1.4}.btn-google{width:100%;min-height:48px;color:var(--text-primary);border:1.5px solid var(--lavender-200);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-sm);transition:var(--transition);background-color:#fff;justify-content:center;align-items:center;gap:12px;padding:14px 20px;font-size:15px;font-weight:600;display:flex}.btn-google:hover{background-color:var(--lavender-50);border-color:var(--lavender-400);box-shadow:var(--shadow-hover);transform:translateY(-1px)}.google-icon-svg{flex-shrink:0;width:20px;height:20px}.auth-aspirant-caption{border-top:1px dashed var(--lavender-200);flex-direction:column;align-items:center;gap:10px;margin-top:26px;padding-top:20px;display:flex}.aspirant-quote-text{color:var(--text-secondary);max-width:330px;margin:0;font-size:13px;font-style:italic;line-height:1.55}.aspirant-caption-badge{border-radius:var(--radius-full);background:var(--lavender-50);border:1px solid var(--lavender-200);color:var(--lavender-700);letter-spacing:.01em;align-items:center;gap:6px;padding:5px 12px;font-size:11.5px;font-weight:600;display:inline-flex}.aspirant-badge-icon{color:var(--lavender-600);flex-shrink:0}.auth-credit-footer{border-top:1px solid var(--border-light);color:var(--text-muted);text-align:center;margin-top:24px;padding-top:16px;font-size:12px;line-height:1.5}.credit-link{color:var(--lavender-700);transition:var(--transition);padding:2px 4px;font-weight:600;text-decoration:none;display:inline-block}.credit-link:hover{color:var(--lavender-900);text-decoration:underline;transform:translateY(-1px)}.name-form-group{text-align:left;margin-bottom:24px}.name-label{color:var(--text-secondary);margin-bottom:8px;font-size:13px;font-weight:600;display:block}.name-input{width:100%;min-height:48px;color:var(--text-primary);border:1.5px solid var(--lavender-200);border-radius:var(--radius-md);transition:var(--transition);background-color:#fff;outline:none;padding:13px 16px;font-size:16px}.name-input:focus{border-color:var(--lavender-600);box-shadow:0 0 0 4px var(--lavender-100)}.btn-primary{color:#0f172a;background-color:var(--lavender-200);border:1px solid var(--lavender-300);border-radius:var(--radius-md);cursor:pointer;width:100%;min-height:48px;box-shadow:var(--shadow-sm);transition:var(--transition);justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-size:15px;font-weight:600;display:inline-flex}.btn-primary:hover:not(:disabled){background-color:var(--lavender-300);box-shadow:var(--shadow-lavender);transform:translateY(-1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.main-app-shell{background:var(--bg-page);flex-direction:column;width:100%;min-height:100vh;display:flex;overflow-x:hidden}.dashboard-header{border-bottom:1px solid var(--border-light);z-index:40;background:#fff;justify-content:space-between;align-items:center;gap:12px;width:100%;height:68px;padding:0 32px;display:flex;position:sticky;top:0}.header-brand{color:var(--text-primary);letter-spacing:-.01em;flex-shrink:0;align-items:center;gap:10px;font-size:18px;font-weight:700;display:flex}.brand-logo-img{object-fit:contain;border:1px solid var(--lavender-200);width:32px;height:32px;box-shadow:var(--shadow-sm);background:#fff;border-radius:8px;flex-shrink:0}.desktop-nav-tabs{background:var(--lavender-50);border-radius:var(--radius-full);border:1px solid var(--border-light);align-items:center;gap:6px;padding:4px;display:flex}.nav-tab-btn{border-radius:var(--radius-full);color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;align-items:center;padding:8px 18px;font-size:14px;font-weight:600;display:inline-flex}.nav-tab-btn.active{color:var(--text-primary);box-shadow:var(--shadow-sm);background:#fff}.header-user{flex-shrink:0;align-items:center;gap:10px;display:flex}.user-badge{background:var(--lavender-100);border:1px solid var(--lavender-200);border-radius:var(--radius-full);color:var(--text-primary);align-items:center;gap:8px;max-width:180px;padding:6px 14px;font-size:13px;font-weight:600;display:flex}.user-badge-btn{background:var(--lavender-100);border:1px solid var(--lavender-300);cursor:pointer;transition:var(--transition);font-family:inherit}.user-badge-btn:hover{background:var(--lavender-200);border-color:var(--lavender-500);transform:translateY(-1px);box-shadow:0 2px 8px #8b5cf626}.user-badge-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-avatar-tiny-img{object-fit:cover;border:1.5px solid var(--lavender-400);border-radius:50%;flex-shrink:0;width:22px;height:22px}.user-avatar-emoji-dot{flex-shrink:0;justify-content:center;align-items:center;font-size:16px;line-height:1;display:inline-flex}.user-avatar-dot{background:var(--lavender-600);border-radius:50%;flex-shrink:0;width:8px;height:8px}.btn-logout{border:1px solid var(--border-light);border-radius:var(--radius-md);min-height:36px;color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:500;display:inline-flex}.btn-logout:hover{background:var(--lavender-50);color:var(--text-primary);border-color:var(--lavender-300)}.btn-secondary-action{border:1.5px solid var(--lavender-300);border-radius:var(--radius-md);min-height:36px;color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-sm);transition:var(--transition);background:#fff;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.btn-secondary-action:hover{background:var(--lavender-50);border-color:var(--lavender-400);transform:translateY(-1px)}.main-content-scroll{flex:1;width:100%;max-width:960px;margin:0 auto;padding:32px 24px 80px}.dashboard-content-wrapper{flex-direction:column;align-items:center;width:100%;display:flex}.dashboard-title-area{text-align:left;width:100%;max-width:640px;margin-bottom:24px}.dashboard-greeting{color:var(--text-primary);letter-spacing:-.02em;font-size:26px;font-weight:700}.dashboard-subtitle{color:var(--text-muted);margin-top:4px;font-size:14px;line-height:1.4}.dashboard-hero-section{width:100%;max-width:640px}.single-hero-card{border:1.5px solid var(--lavender-300);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-card);background:#fff;padding:32px 28px;position:relative;overflow:hidden}.single-hero-card:before{content:"";background:linear-gradient(90deg, var(--lavender-300), var(--lavender-600));height:6px;position:absolute;top:0;left:0;right:0}.card-top-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.card-status-badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:700;display:inline-flex}.badge-active{background:var(--lavender-100);color:var(--lavender-700);border:1px solid var(--lavender-200)}.badge-completed{color:#15803d;background:#dcfce7;border:1px solid #86efac}.attempt-score-badge{background:var(--lavender-50);border:1.5px solid var(--lavender-300);color:var(--lavender-700);border-radius:var(--radius-full);padding:5px 12px;font-size:12px;font-weight:700}.hero-card-completed{background:linear-gradient(#fafcf9 0%,#fff 100%);border-color:#bbf7d0}.hero-card-completed:before{background:linear-gradient(90deg,#86efac,#22c55e)}.large-test-title{color:var(--text-primary);margin-bottom:8px;font-size:22px;font-weight:700;line-height:1.3}.large-test-desc{color:var(--text-secondary);margin-bottom:24px;font-size:14px;line-height:1.5}.test-meta-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:28px;display:grid}.meta-stat-card{background:var(--lavender-50);border:1px solid var(--lavender-100);border-radius:var(--radius-md);align-items:center;gap:10px;padding:12px 14px;display:flex}.meta-stat-icon{border:1px solid var(--lavender-200);width:36px;height:36px;color:var(--lavender-700);background:#fff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.meta-stat-info{flex-direction:column;display:flex}.meta-stat-val{color:var(--text-primary);font-size:15px;font-weight:700}.meta-stat-lbl{color:var(--text-muted);font-size:11px}.btn-take-test-hero{background-color:var(--lavender-200);border:1.5px solid var(--lavender-300);color:#0f172a;border-radius:var(--radius-md);cursor:pointer;width:100%;min-height:50px;box-shadow:var(--shadow-sm);transition:var(--transition);justify-content:center;align-items:center;gap:8px;padding:15px 24px;font-size:15px;font-weight:700;display:flex}.btn-take-test-hero:hover{background-color:var(--lavender-300);box-shadow:var(--shadow-lavender);transform:translateY(-2px)}.completed-state-wrapper{flex-direction:column;gap:16px;margin-top:4px;display:flex}.completed-notice-box{border-radius:var(--radius-md);background:#f0fdf4;border:1.5px solid #bbf7d0;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.completed-notice-icon{flex-shrink:0;margin-top:2px}.completed-notice-text h4{color:#166534;margin-bottom:3px;font-size:14px;font-weight:700}.completed-notice-text p{color:#15803d;font-size:12px;line-height:1.4}.completed-action-row{flex-wrap:wrap;gap:10px;display:flex}.btn-completed-disabled{color:#64748b;border-radius:var(--radius-md);cursor:not-allowed;background-color:#f1f5f9;border:1.5px solid #cbd5e1;flex:1;justify-content:center;align-items:center;gap:6px;min-width:140px;min-height:46px;padding:12px 18px;font-size:14px;font-weight:700;display:inline-flex}.btn-view-rankings{flex:1;min-width:160px}.test-page-container{background-color:#fff;flex-direction:column;width:100%;min-height:100vh;display:flex;overflow-x:hidden}.test-page-header{border-bottom:1px solid var(--border-light);z-index:30;background:#fff;width:100%;position:sticky;top:0}.test-header-inner{justify-content:space-between;align-items:center;gap:10px;max-width:900px;margin:0 auto;padding:12px 20px;display:flex}.btn-back{border:1px solid var(--border-light);border-radius:var(--radius-md);min-height:36px;color:var(--text-secondary);cursor:pointer;transition:var(--transition);background:0 0;flex-shrink:0;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:600;display:inline-flex}.btn-back:hover{background:var(--lavender-50);color:var(--text-primary);border-color:var(--lavender-300)}.test-title-meta{text-align:center;flex:1;min-width:0;padding:0 4px}.test-title-text{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;display:block;overflow:hidden}.timer-badge{background:var(--lavender-100);border:1.5px solid var(--lavender-200);border-radius:var(--radius-full);color:var(--lavender-700);font-variant-numeric:tabular-nums;box-shadow:var(--shadow-sm);flex-shrink:0;align-items:center;gap:5px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-flex}.timer-badge.timer-urgent{background:var(--red-bg);border-color:var(--red-border);color:var(--red-text);animation:1s infinite alternate pulse-urgent}@keyframes pulse-urgent{0%{transform:scale(1)}to{transform:scale(1.05)}}.test-progress-bar-bg{background:var(--lavender-100);width:100%;height:4px;position:relative;overflow:hidden}.test-progress-bar-fill{background:var(--lavender-600);height:100%;transition:width .3s}.test-page-main{flex:1;justify-content:center;align-items:center;width:100%;max-width:760px;margin:0 auto;padding:32px 20px 60px;display:flex}.test-card-panel{border:1.5px solid var(--border-light);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-card);background:#fff;padding:32px 28px}.question-counter-row{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.question-count-text{color:var(--text-muted);font-size:13px}.question-count-text strong{color:var(--text-primary);font-size:15px}.test-question-heading{color:var(--text-primary);margin-bottom:24px;font-size:19px;font-weight:700;line-height:1.4}.test-options-list{flex-direction:column;gap:12px;display:flex}.test-option-item{border:1.5px solid var(--border-light);border-radius:var(--radius-md);width:100%;min-height:48px;color:var(--text-primary);text-align:left;cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-sm);background:#fff;align-items:center;gap:12px;padding:14px 18px;font-size:14px;font-weight:500;display:flex;position:relative}.test-option-item:hover:not(:disabled){border-color:var(--lavender-400);background:var(--lavender-50);transform:translateY(-1px)}.option-key-badge{background:var(--lavender-100);width:26px;height:26px;color:var(--lavender-700);transition:var(--transition);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.option-label-text{flex:1;line-height:1.4}.option-feedback-icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.test-option-item.option-correct{font-weight:600;box-shadow:0 4px 14px #22c55e2e;background-color:var(--green-bg)!important;border-color:var(--green-border)!important;color:var(--green-dark)!important}.test-option-item.option-correct .option-key-badge{background:var(--green-border);color:#fff}.test-option-item.option-correct .option-feedback-icon{color:var(--green-border)}.test-option-item.option-wrong{font-weight:600;box-shadow:0 4px 14px #ef44442e;background-color:var(--red-bg)!important;border-color:var(--red-border)!important;color:var(--red-dark)!important}.test-option-item.option-wrong .option-key-badge{background:var(--red-border);color:#fff}.test-option-item.option-wrong .option-feedback-icon{color:var(--red-border)}.test-option-item.option-dimmed{opacity:.5;cursor:default}.test-reason-box{border-radius:var(--radius-md);border:1.5px solid var(--lavender-200);background:var(--lavender-50);margin-top:18px;padding:14px 16px;animation:.3s fadeIn}.test-reason-box.reason-correct{background:#f0fdf4;border-color:#bbf7d0}.test-reason-box.reason-wrong{background:#fffbeb;border-color:#fde68a}.reason-header{align-items:center;gap:6px;margin-bottom:6px;display:flex}.reason-icon{color:var(--lavender-700);flex-shrink:0}.reason-correct .reason-icon{color:#16a34a}.reason-wrong .reason-icon{color:#d97706}.reason-title{color:var(--text-primary);text-transform:uppercase;letter-spacing:.02em;font-size:12px;font-weight:700}.reason-body{color:var(--text-secondary);font-size:13px;line-height:1.5}.test-action-row{border-top:1px solid var(--border-light);justify-content:flex-end;margin-top:20px;padding-top:16px;animation:.3s fadeIn;display:flex}.btn-next-action{align-items:center;gap:6px;width:auto;min-height:46px;padding:12px 24px;font-size:14px;font-weight:700;display:inline-flex}.test-result-card{border:1.5px solid var(--lavender-300);border-radius:var(--radius-lg);width:100%;max-width:520px;box-shadow:var(--shadow-card);text-align:center;background:#fff;padding:36px 24px}.result-trophy-box{background:var(--lavender-100);border:1.5px solid var(--lavender-200);width:64px;height:64px;color:var(--lavender-700);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.result-title{color:var(--text-primary);margin-bottom:4px;font-size:22px;font-weight:700}.result-subtitle{color:var(--text-muted);margin-bottom:24px;font-size:13px}.result-score-highlight{background:var(--lavender-50);border:1px solid var(--lavender-200);border-radius:var(--radius-lg);justify-content:center;align-items:baseline;gap:4px;margin-bottom:24px;padding:10px 24px;display:inline-flex}.score-big{color:var(--lavender-700);font-size:38px;font-weight:800;line-height:1}.score-total{color:var(--text-muted);font-size:18px;font-weight:600}.result-metrics-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:28px;display:grid}.metric-box{background:var(--lavender-50);border:1px solid var(--lavender-100);border-radius:var(--radius-md);text-align:center;flex-direction:column;gap:2px;padding:12px 8px;display:flex}.metric-label{color:var(--text-muted);font-size:11px}.metric-val{color:var(--text-primary);font-size:15px;font-weight:700}.result-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.leaderboard-detailed-wrapper{width:100%;max-width:860px;margin:0 auto;animation:.3s fadeIn}.leaderboard-header-section{text-align:center;margin-bottom:22px}.leaderboard-badge{background:var(--lavender-100);border:1px solid var(--lavender-200);border-radius:var(--radius-full);color:var(--lavender-700);align-items:center;gap:6px;margin-bottom:8px;padding:4px 12px;font-size:12px;font-weight:700;display:inline-flex}.leaderboard-title{color:var(--text-primary);letter-spacing:-.02em;margin-bottom:4px;font-size:26px;font-weight:800}.leaderboard-subtitle{color:var(--text-muted);max-width:520px;margin:0 auto;font-size:13px;line-height:1.4}.lb-kpi-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px;display:grid}.lb-kpi-card{border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:var(--transition);background:#fff;align-items:center;gap:10px;min-width:0;padding:12px 14px;display:flex}.lb-kpi-card:hover{border-color:var(--lavender-300);box-shadow:var(--shadow-card);transform:translateY(-2px)}.lb-kpi-icon-wrap{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.kpi-top-score .lb-kpi-icon-wrap{color:#d97706;background:#fef3c7}.kpi-fastest-time .lb-kpi-icon-wrap{color:#0284c7;background:#e0f2fe}.kpi-participants .lb-kpi-icon-wrap{background:var(--lavender-100);color:var(--lavender-700)}.kpi-average .lb-kpi-icon-wrap{color:#16a34a;background:#dcfce7}.lb-kpi-info{flex-direction:column;min-width:0;display:flex}.lb-kpi-val{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:800;line-height:1.2;overflow:hidden}.lb-kpi-val small{color:var(--text-muted);font-size:11px;font-weight:600}.lb-kpi-lbl{color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:10px;font-weight:600;overflow:hidden}.lb-user-standing-card{background:linear-gradient(135deg, var(--lavender-50) 0%, var(--lavender-100) 100%);border:1.5px solid var(--lavender-300);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;padding:14px 18px;display:flex}.lb-user-standing-left{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.lb-user-avatar{border:1.5px solid var(--lavender-300);width:40px;height:40px;color:var(--lavender-700);box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.lb-user-name{color:var(--text-primary);font-size:15px;font-weight:700}.lb-you-tag{background:var(--lavender-600);color:#fff;border-radius:var(--radius-full);text-transform:uppercase;padding:2px 7px;font-size:10px;font-weight:700}.lb-user-sub{color:var(--text-secondary);margin-top:2px;font-size:12px;line-height:1.4;display:block}.lb-user-standing-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.lb-standing-rank-badge{border:1px solid var(--lavender-300);border-radius:var(--radius-full);color:var(--lavender-700);box-shadow:var(--shadow-sm);background:#fff;padding:5px 12px;font-size:14px;font-weight:800}.lb-podium-section{margin-bottom:24px}.lb-section-title{color:var(--text-primary);align-items:center;gap:6px;margin-bottom:12px;font-size:14px;font-weight:700;display:flex}.lb-podium-grid{grid-template-columns:1fr 1.12fr 1fr;align-items:end;gap:12px;display:grid}.podium-card{border:1.5px solid var(--border-light);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition);background:#fff;flex-direction:column;align-items:center;padding:18px 12px;display:flex;position:relative}.podium-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-4px)}.podium-1{background:linear-gradient(#fffdf5 0%,#fff 100%);border-color:#fcd34d;padding-top:24px;padding-bottom:24px;box-shadow:0 8px 25px #f59e0b1f}.podium-2{background:linear-gradient(#f8fafc 0%,#fff 100%);border-color:#cbd5e1}.podium-3{background:linear-gradient(#fff7ed 0%,#fff 100%);border-color:#fdba74}.podium-crown-icon{color:#f59e0b;filter:drop-shadow(0 2px 5px #f59e0b66);animation:2s ease-in-out infinite floatBounce;position:absolute;top:-14px}@keyframes floatBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.podium-rank-pill{border-radius:var(--radius-full);text-transform:uppercase;align-items:center;gap:4px;margin-bottom:10px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-flex}.podium-rank-pill.gold{color:#b45309;background:#fef3c7}.podium-rank-pill.silver{color:#475569;background:#e2e8f0}.podium-rank-pill.bronze{color:#c2410c;background:#ffedd5}.podium-avatar-wrap{background:#fff;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;margin-bottom:8px;font-size:16px;font-weight:800;display:flex}.gold-glow{color:#b45309;border:2.5px solid #f59e0b;box-shadow:0 0 14px #f59e0b40}.silver-glow{color:#475569;border:2.5px solid #94a3b8;box-shadow:0 0 12px #94a3b840}.bronze-glow{color:#c2410c;border:2.5px solid #fb923c;box-shadow:0 0 12px #fb923c40}.podium-player-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin-bottom:4px;font-size:14px;font-weight:700;overflow:hidden}.podium-score-pill{background:var(--lavender-50);border:1px solid var(--lavender-200);border-radius:var(--radius-full);color:var(--text-primary);margin-bottom:4px;padding:2px 8px;font-size:11px}.podium-score-pill.gold-badge{color:#92400e;background:#fef3c7;border-color:#fde68a}.podium-time-text{color:var(--text-muted);align-items:center;gap:3px;font-size:10px;font-weight:600;display:flex}.lb-controls-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.lb-search-input-wrap{flex:1;align-items:center;min-width:200px;display:flex;position:relative}.lb-search-input-wrap svg{pointer-events:none;position:absolute;left:10px}.lb-search-input{border:1px solid var(--border-light);border-radius:var(--radius-md);width:100%;transition:var(--transition);background:#fff;outline:none;padding:8px 28px 8px 32px;font-size:13px}.lb-search-input:focus{border-color:var(--lavender-500);box-shadow:0 0 0 3px var(--lavender-100)}.lb-search-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;right:8px}.lb-filter-group{align-items:center;gap:8px;display:flex}.lb-tab-filter{background:var(--lavender-100);border-radius:var(--radius-md);border:1px solid var(--lavender-200);padding:3px;display:flex}.lb-filter-btn{color:var(--text-muted);cursor:pointer;transition:var(--transition);white-space:nowrap;background:0 0;border:none;border-radius:7px;padding:6px 10px;font-size:11px;font-weight:600}.lb-filter-btn.active{color:var(--lavender-700);box-shadow:var(--shadow-sm);background:#fff}.lb-sort-select{border:1px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:var(--transition);background:#fff;outline:none;padding:7px 10px;font-size:11px;font-weight:600}.lb-sort-select:focus{border-color:var(--lavender-500)}.lb-table-card{border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;width:100%;overflow:hidden}.lb-table-header-row{background:var(--lavender-50);border-bottom:1px solid var(--border-light);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;grid-template-columns:56px minmax(0,1fr) 110px 110px;align-items:center;gap:8px;padding:12px 18px;font-size:11px;font-weight:700;display:grid}.lb-table-body{flex-direction:column;display:flex}.lb-table-row{border-bottom:1px solid var(--border-subtle);transition:var(--transition);cursor:pointer;grid-template-columns:56px minmax(0,1fr) 110px 110px;align-items:center;gap:8px;padding:14px 18px;display:grid}.lb-table-row:last-child{border-bottom:none}.lb-table-row:hover{background-color:var(--lavender-50)}.lb-table-row.row-is-you{border-left:3px solid var(--lavender-600);background:#f5f3ff}.col-rank{align-items:center;display:flex}.lb-rank-badge{background:var(--bg-muted);width:28px;height:28px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.lb-rank-badge.rank-gold{color:#d97706;background:#fef3c7}.lb-rank-badge.rank-silver{color:#475569;background:#e2e8f0}.lb-rank-badge.rank-bronze{color:#c2410c;background:#ffedd5}.col-student{align-items:center;gap:10px;min-width:0;display:flex}.lb-row-avatar{background:var(--lavender-100);border:1px solid var(--lavender-200);width:34px;height:34px;color:var(--lavender-700);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.lb-row-player-details{flex-direction:column;min-width:0;display:flex}.lb-row-name-row{align-items:center;gap:5px;min-width:0;display:flex}.lb-player-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.lb-you-pill,.lb-you-badge{background:var(--lavender-600);color:#fff;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;margin-left:4px;padding:2px 7px;font-size:10px;font-weight:800;box-shadow:0 1px 4px #8b5cf659}.lb-table-row.row-is-you{border-left:4px solid var(--lavender-600)!important;background:linear-gradient(90deg,#f3e8ff 0%,#faf5ff 100%)!important;box-shadow:0 2px 10px #8b5cf62e!important}.lb-table-row.row-is-you .lb-player-name{color:var(--lavender-900)!important;font-weight:800!important}.lb-player-badge-tag{color:var(--text-muted);font-size:11px;font-weight:500}.col-score{justify-content:flex-start;align-items:center;display:flex}.lb-score-wrap{flex-direction:column;display:flex}.lb-score-pct{font-size:14px;font-weight:800}.score-high{color:#16a34a}.score-mid{color:var(--lavender-700)}.score-low{color:#d97706}.lb-score-raw{color:var(--text-muted);font-size:11px}.col-time{text-align:right;justify-content:flex-end;align-items:center;display:flex}.lb-time-wrap{flex-direction:column;align-items:flex-end;display:flex}.lb-time-spent{color:var(--text-primary);align-items:center;gap:4px;font-size:13px;font-weight:600;display:flex}.lb-pace-text{color:var(--text-muted);font-size:11px}.lb-empty-state,.lb-loading-state{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:40px 20px;font-size:13px;display:flex}.lb-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:90;background:#0f172a80;justify-content:center;align-items:center;padding:16px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.lb-modal-card{border-radius:var(--radius-lg);background:#fff;width:100%;max-width:460px;max-height:90vh;padding:24px;animation:.25s cubic-bezier(.16,1,.3,1) slideUp;overflow-y:auto;box-shadow:0 20px 40px #0f172a33}.logout-confirm-card{border-radius:var(--radius-lg);text-align:center;border:1px solid var(--border-light);background:#fff;width:100%;max-width:380px;padding:28px 24px;animation:.25s cubic-bezier(.16,1,.3,1) slideUp;box-shadow:0 20px 40px #0f172a40}.logout-icon-bubble{color:#dc2626;background:#fee2e2;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto 16px;display:flex}.logout-modal-title{color:var(--text-primary);margin-bottom:8px;font-size:19px;font-weight:700}.logout-modal-text{color:var(--text-secondary);margin-bottom:22px;font-size:13.5px;line-height:1.5}.logout-modal-actions{gap:12px;display:flex}.logout-modal-actions .btn-cancel{border:1.5px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:var(--transition);background:#fff;flex:1;padding:11px 16px;font-size:14px;font-weight:600}.logout-modal-actions .btn-cancel:hover{background:var(--lavender-50);border-color:var(--lavender-300);color:var(--text-primary)}.logout-modal-actions .btn-logout-confirm{border-radius:var(--radius-md);color:#fff;cursor:pointer;transition:var(--transition);background:#dc2626;border:none;flex:1;padding:11px 16px;font-size:14px;font-weight:700;box-shadow:0 2px 8px #dc262640}.logout-modal-actions .btn-logout-confirm:hover{background:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 12px #dc262659}.lb-modal-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.lb-modal-avatar{background:var(--lavender-100);border:1.5px solid var(--lavender-300);width:38px;height:38px;color:var(--lavender-700);border-radius:50%;justify-content:center;align-items:center;font-size:15px;font-weight:800;display:flex}.lb-modal-title{color:var(--text-primary);font-size:16px;font-weight:700}.lb-modal-subtitle{color:var(--text-muted);font-size:11px}.lb-modal-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:6px;display:flex}.lb-modal-close-btn:hover{background:var(--bg-muted);color:var(--text-primary)}.lb-modal-score-highlight{background:var(--lavender-50);border:1.5px solid var(--lavender-200);border-radius:var(--radius-md);align-items:center;gap:16px;margin-bottom:16px;padding:16px;display:flex}.score-circle-outer{border:3px solid var(--lavender-400);width:68px;height:68px;box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.score-circle-inner{flex-direction:column;align-items:center;display:flex}.score-circle-pct{color:var(--lavender-700);font-size:18px;font-weight:800;line-height:1}.score-circle-raw{color:var(--text-muted);font-size:10px;font-weight:600}.score-details-right{flex-direction:column;gap:3px;min-width:0;display:flex}.score-badge-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.lb-modal-pill{border:1px solid var(--lavender-200);border-radius:var(--radius-full);color:var(--text-secondary);background:#fff;padding:2px 7px;font-size:10px;font-weight:700}.score-test-name{color:var(--text-primary);font-size:14px;font-weight:700}.score-test-type{color:var(--text-muted);font-size:11px}.lb-modal-metrics-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px;display:grid}.modal-metric-card{border:1px solid var(--border-light);border-radius:var(--radius-md);background:#fff;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.metric-header{color:var(--text-muted);align-items:center;gap:5px;font-size:10px;font-weight:600;display:flex}.metric-value{color:var(--text-primary);font-size:15px;font-weight:700}.lb-modal-eval-box{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-secondary);margin-bottom:16px;padding:12px 14px;font-size:12px;line-height:1.5}.lb-modal-eval-box strong{color:var(--text-primary);margin-bottom:2px;display:block}.lb-modal-footer{justify-content:flex-end;display:flex}.mobile-bottom-nav,.admin-mobile-subnav{display:none}.admin-shell{background-color:var(--bg-surface);flex-direction:column;width:100%;min-height:100vh;display:flex;overflow-x:hidden}.admin-header{background:#fff}.admin-pill-tag{background:var(--lavender-200);border-radius:var(--radius-full);color:var(--lavender-700);text-transform:uppercase;align-items:center;gap:4px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}.admin-main-container{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:28px 24px 80px}.admin-tab-content{flex-direction:column;gap:20px;width:100%;display:flex}.admin-page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-heading{color:var(--text-primary);letter-spacing:-.02em;font-size:22px;font-weight:700}.admin-subheading{color:var(--text-muted);margin-top:2px;font-size:13px}.admin-stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;width:100%;display:grid}.admin-stat-card{border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:var(--transition);background:#fff;align-items:center;gap:14px;padding:16px 18px;display:flex}.admin-stat-card:hover{border-color:var(--lavender-300);box-shadow:var(--shadow-card);transform:translateY(-2px)}.stat-card-icon-wrap{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.icon-users{background:var(--lavender-100);color:var(--lavender-700)}.icon-tests{color:#0284c7;background:#e0f2fe}.icon-submissions{color:#16a34a;background:#dcfce7}.icon-score{color:#d97706;background:#fef3c7}.stat-card-details{flex-direction:column;min-width:0;display:flex}.stat-card-num{color:var(--text-primary);font-size:22px;font-weight:800;line-height:1.1}.stat-card-label{color:var(--text-muted);margin-top:2px;font-size:11px;font-weight:600}.admin-panel-card{border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;width:100%;padding:20px}.panel-card-title{color:var(--text-primary);margin-bottom:14px;font-size:16px;font-weight:700}.admin-table-responsive{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.admin-data-table{border-collapse:collapse;text-align:left;width:100%;min-width:480px;font-size:13px}.admin-data-table th{background:var(--lavender-50);color:var(--text-secondary);border-bottom:1.5px solid var(--border-light);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;padding:10px 14px;font-size:11px;font-weight:700}.admin-data-table td{border-bottom:1px solid var(--border-light);color:var(--text-primary);vertical-align:middle;white-space:nowrap;padding:12px 14px}.admin-data-table tr:last-child td{border-bottom:none}.admin-data-table tr:hover td{background:var(--lavender-50)}.table-badge{border-radius:var(--radius-full);padding:3px 8px;font-size:11px;font-weight:700;display:inline-block}.pass-badge{color:#16a34a;background:#dcfce7}.warn-badge{color:#d97706;background:#fef3c7}.score-badge{background:var(--lavender-100);color:var(--lavender-700)}.admin-upload-form{border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;width:100%;padding:24px}.form-two-col{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-group{flex-direction:column;margin-bottom:16px;display:flex}.form-label{color:var(--text-secondary);margin-bottom:6px;font-size:12px;font-weight:700}.form-input{border:1.5px solid var(--lavender-200);border-radius:var(--radius-md);transition:var(--transition);background:#fff;outline:none;padding:10px 12px;font-size:14px}.form-input:focus{border-color:var(--lavender-600);box-shadow:0 0 0 3px var(--lavender-100)}.json-textarea{border:1.5px solid var(--lavender-200);border-radius:var(--radius-md);width:100%;transition:var(--transition);resize:vertical;background:#faf9fd;outline:none;padding:12px 14px;font-family:Courier New,Courier,monospace;font-size:12px;line-height:1.5}.json-textarea:focus{border-color:var(--lavender-600);box-shadow:0 0 0 3px var(--lavender-100);background:#fff}.admin-alert-error{color:#991b1b;border-radius:var(--radius-md);background:#fee2e2;border:1px solid #fca5a5;align-items:center;gap:8px;margin-top:10px;padding:10px 14px;font-size:12px;font-weight:600;display:flex}.admin-alert-success{color:#166534;border-radius:var(--radius-md);background:#dcfce7;border:1px solid #86efac;align-items:center;gap:8px;margin-top:10px;padding:10px 14px;font-size:12px;font-weight:600;display:flex}.preview-questions-list{flex-direction:column;gap:12px;display:flex}.preview-q-card{background:var(--lavender-50);border:1px solid var(--lavender-200);border-radius:var(--radius-md);padding:14px 16px}.preview-q-header{align-items:flex-start;gap:8px;margin-bottom:10px;display:flex}.q-badge{background:var(--lavender-200);color:var(--lavender-700);border-radius:6px;flex-shrink:0;padding:2px 7px;font-size:11px;font-weight:800}.preview-q-text{color:var(--text-primary);font-size:14px;font-weight:700}.preview-options-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;display:grid}.preview-opt-item{border:1px solid var(--border-light);border-radius:var(--radius-md);background:#fff;justify-content:space-between;align-items:center;gap:6px;padding:8px 12px;font-size:12px;display:flex}.preview-opt-item.opt-correct{color:#166534;background:#dcfce7;border-color:#86efac;font-weight:600}.opt-key{color:var(--text-muted);font-weight:700}.correct-tag{color:#166534;align-items:center;gap:3px;font-size:10px;font-weight:700;display:inline-flex}.preview-reason-box{border:1px solid var(--lavender-200);border-radius:var(--radius-md);color:var(--text-secondary);background:#fff;padding:8px 12px;font-size:12px}.admin-search-bar{border:1.5px solid var(--lavender-200);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;align-items:center;gap:8px;width:100%;padding:8px 14px;display:flex}.admin-search-input{width:100%;color:var(--text-primary);border:none;outline:none;font-size:13px}.admin-loading-state,.admin-empty-state{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:8px;padding:32px 16px;font-size:13px;display:flex}.user-avatar-circle{background:var(--lavender-100);color:var(--lavender-700);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.spin-icon{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.dashboard-header{height:58px;padding:0 16px}.desktop-nav-tabs{display:none!important}.mobile-bottom-nav{height:calc(58px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);border-top:1px solid var(--border-light);box-shadow:var(--shadow-top-nav);z-index:50;background:#fff;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-item{height:58px;color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:600;display:flex}.bottom-nav-icon-wrap{border-radius:var(--radius-full);width:28px;height:28px;transition:var(--transition);justify-content:center;align-items:center;display:flex}.bottom-nav-item.active{color:var(--lavender-700)}.bottom-nav-item.active .bottom-nav-icon-wrap{background:var(--lavender-100);color:var(--lavender-700)}.admin-mobile-subnav{border-bottom:1px solid var(--border-light);z-index:35;background:#fff;justify-content:space-around;align-items:center;gap:8px;padding:6px 12px;display:flex;position:sticky;top:58px}.admin-subnav-btn{border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:1px solid #0000;flex:1;justify-content:center;align-items:center;gap:5px;padding:8px 6px;font-size:12px;font-weight:600;display:flex}.admin-subnav-btn.active{background:var(--lavender-100);color:var(--lavender-700);border-color:var(--lavender-200);font-weight:700}.main-content-scroll{padding:20px 16px calc(76px + env(safe-area-inset-bottom,0px)) 16px}.admin-main-container{padding:16px 16px calc(76px + env(safe-area-inset-bottom,0px)) 16px}.lb-kpi-grid{grid-template-columns:repeat(2,1fr);gap:8px}.lb-table-header-row,.lb-table-row{grid-template-columns:44px minmax(0,1fr) 85px 85px;gap:8px;padding:10px 14px}.col-score{text-align:left;justify-content:flex-start}.col-time{text-align:right;justify-content:flex-end}.form-two-col{grid-template-columns:1fr}}@media (width<=640px){.dashboard-header{padding:0 12px}.brand-logo-img{width:28px;height:28px}.brand-name-text{font-size:16px}.user-badge{max-width:100px;padding:4px 8px;font-size:12px}.btn-logout{padding:6px 8px}.btn-logout-label{display:none}.btn-header-admin,.btn-header-student-view{padding:5px 8px}.admin-btn-label,.admin-pill-tag{display:none}.single-hero-card{border-radius:var(--radius-md);padding:22px 18px}.large-test-title{font-size:19px}.large-test-desc{margin-bottom:20px;font-size:13px}.test-meta-grid{gap:10px;margin-bottom:22px}.completed-action-row{flex-direction:column;width:100%}.btn-completed-disabled,.btn-view-rankings{width:100%;min-width:unset}.lb-podium-grid{grid-template-columns:1fr;gap:10px}.podium-1{order:-1;padding-top:20px;padding-bottom:20px}.podium-card{padding:14px 12px}.lb-user-standing-card{flex-direction:column;align-items:stretch;gap:12px;padding:12px 14px}.lb-user-standing-right{border-top:1px solid var(--lavender-200);justify-content:space-between;width:100%;padding-top:8px}.lb-controls-toolbar{flex-direction:column;align-items:stretch;gap:8px}.lb-search-input-wrap{width:100%;min-width:unset}.lb-filter-group{justify-content:space-between;width:100%}.lb-tab-filter{flex:1}.lb-filter-btn{text-align:center;flex:1;padding:6px 4px;font-size:11px}.lb-sort-select{max-width:135px;padding:6px 8px;font-size:11px}.lb-table-header-row,.lb-table-row{grid-template-columns:38px minmax(0,1fr) 75px 75px;gap:6px;padding:10px 12px}.lb-player-name,.lb-score-pct{font-size:13px}.lb-time-spent{font-size:12px}.test-header-inner{padding:10px 12px}.test-page-main{padding:12px 12px calc(80px + env(safe-area-inset-bottom,0px)) 12px;align-items:flex-start}.test-card-panel{border-radius:var(--radius-md);margin-bottom:60px;padding:18px 14px}.test-question-heading{margin-bottom:14px;font-size:16px;line-height:1.4}.test-options-list{gap:9px}.test-option-item{gap:10px;min-height:44px;padding:10px 12px;font-size:13.5px}.test-action-row{padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px)) 16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1.5px solid var(--lavender-200);z-index:80;background:#fffffffa;justify-content:center;margin:0;animation:.25s cubic-bezier(.16,1,.3,1) slideUp;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 18px #0f172a1a}.btn-next-action{border-radius:var(--radius-md);justify-content:center;width:100%;max-width:460px;min-height:46px;font-size:15px;font-weight:700}.result-actions{flex-direction:column;width:100%}.result-actions .btn-primary,.result-actions .btn-secondary-action{justify-content:center;width:100%!important}.preview-options-grid{grid-template-columns:1fr}.lb-modal-card{border-radius:var(--radius-md);padding:18px 14px}}@media (width<=480px){.auth-card{padding:26px 16px}.auth-logo-wrap{width:76px;height:76px;margin-bottom:16px}.auth-title{font-size:20px}.auth-aspirant-caption{margin-top:20px;padding-top:14px}.aspirant-quote-text{font-size:12px;line-height:1.5}.test-title-text{max-width:170px}.main-content-scroll{padding:14px 10px calc(76px + env(safe-area-inset-bottom,0px)) 10px}.dashboard-greeting{font-size:22px}.btn-back-label{display:none}.btn-back{padding:6px 8px}.test-page-main{padding:10px 8px calc(80px + env(safe-area-inset-bottom,0px)) 8px;align-items:flex-start}.test-card-panel{margin-bottom:65px;padding:14px 10px 18px}.test-question-heading{margin-bottom:12px;font-size:15px;line-height:1.35}.test-options-list{gap:7px}.test-option-item{gap:8px;min-height:40px;padding:8px 10px;font-size:13px}.lb-table-header-row,.lb-table-row{grid-template-columns:32px minmax(0,1fr) 68px 68px;gap:4px;padding:8px}.lb-rank-badge{width:24px;height:24px;font-size:11px}.lb-row-avatar{width:28px;height:28px;font-size:12px}.lb-player-name{max-width:95px;font-size:12px}.lb-score-pct{font-size:12px}.lb-time-spent{font-size:11px}.lb-modal-score-highlight{text-align:center;flex-direction:column;gap:10px}.score-badge-row{justify-content:center}.lb-modal-metrics-grid{grid-template-columns:1fr}.result-score-highlight{padding:8px 18px}.score-big{font-size:32px}.result-metrics-grid{grid-template-columns:repeat(3,1fr);gap:6px}.metric-box{padding:8px 4px}.metric-val{font-size:13px}}@media (width<=360px){.auth-card{padding:22px 12px}.auth-logo-wrap{width:68px;height:68px;margin-bottom:12px}.auth-title{font-size:18px}.test-title-text{max-width:120px;font-size:12px}.timer-badge{padding:4px 8px;font-size:11.5px}.test-meta-grid,.lb-kpi-grid{grid-template-columns:1fr}.result-metrics-grid{grid-template-columns:1fr;gap:6px}.lb-table-header-row,.lb-table-row{grid-template-columns:28px minmax(0,1fr) 56px 56px;gap:3px;padding:8px 4px}.lb-player-name{max-width:70px;font-size:11px}.lb-score-pct{font-size:11px}.lb-time-spent{font-size:10px}}.profile-modal-card{border-radius:var(--radius-lg);border:1px solid var(--border-light);background:#fff;flex-direction:column;width:100%;max-width:660px;max-height:88vh;animation:.22s cubic-bezier(.16,1,.3,1) forwards modalScaleIn;display:flex;overflow:hidden;box-shadow:0 20px 50px #0f172a2e,0 4px 12px #8b5cf614}.profile-modal-header{border-bottom:1px solid var(--border-light);background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:18px 24px;display:flex}.profile-modal-header-left{align-items:center;gap:12px;display:flex}.profile-badge-icon{background:var(--lavender-100);width:38px;height:38px;color:var(--lavender-700);border:1px solid var(--lavender-200);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.profile-modal-title{color:var(--text-primary);font-size:17px;font-weight:700;line-height:1.2}.profile-modal-subtitle{color:var(--text-muted);margin-top:2px;font-size:12.5px}.profile-tab-nav{background:var(--lavender-50);border-bottom:1px solid var(--border-light);flex-shrink:0;gap:8px;padding:8px 24px 0;display:flex}.profile-tab-btn{color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:10px 16px;font-family:inherit;font-size:13.5px;font-weight:600;display:inline-flex}.profile-tab-btn:hover{color:var(--lavender-700)}.profile-tab-btn.active{color:var(--lavender-700);border-bottom-color:var(--lavender-600);font-weight:700}.profile-tab-count{background:var(--lavender-200);color:var(--lavender-700);border-radius:var(--radius-full);padding:1px 7px;font-size:11px;font-weight:700}.profile-form-body{flex-direction:column;gap:18px;padding:22px 24px;display:flex;overflow-y:auto}.profile-avatar-preview-box{background:var(--lavender-50);border-radius:var(--radius-md);border:1px solid var(--lavender-200);align-items:center;gap:18px;padding:16px 20px;display:flex}.profile-main-avatar{border:2.5px solid var(--lavender-400);width:76px;height:76px;box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.profile-avatar-image{object-fit:cover;width:100%;height:100%}.profile-avatar-emoji{-webkit-user-select:none;user-select:none;font-size:38px;line-height:1}.profile-avatar-actions{flex-direction:column;flex:1;gap:4px;display:flex}.avatar-preview-name{color:var(--text-primary);font-size:16px;font-weight:700;line-height:1.2}.avatar-preview-sub{color:var(--text-muted);font-size:12px}.avatar-preview-badge{background:var(--lavender-100);color:var(--lavender-700);border-radius:var(--radius-full);align-items:center;gap:6px;width:fit-content;margin-top:4px;padding:3px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.emoji-picker-container{flex-direction:column;gap:14px;display:flex}.profile-section-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700}.emoji-group-section{flex-direction:column;gap:8px;display:flex}.emoji-group-title{color:var(--text-muted);font-size:11.5px;font-weight:600}.emoji-grid{grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:8px;display:grid}.emoji-pill-btn{border:1.5px solid var(--border-light);cursor:pointer;height:42px;transition:var(--transition);background:#fff;border-radius:10px;justify-content:center;align-items:center;font-size:20px;display:flex;position:relative}.emoji-pill-btn:hover{background:var(--lavender-50);border-color:var(--lavender-400);transform:scale(1.08)}.emoji-pill-btn.selected{border-color:var(--lavender-600);background:var(--lavender-100);box-shadow:0 0 0 2px var(--lavender-300)}.emoji-check-dot{color:var(--lavender-700);font-size:10px;font-weight:700;position:absolute;top:2px;right:3px}.profile-name-field-group{flex-direction:column;gap:6px;display:flex}.profile-name-input{border:1.5px solid var(--lavender-200);border-radius:var(--radius-md);width:100%;transition:var(--transition);color:var(--text-primary);background:#fff;outline:none;padding:10px 14px;font-size:14px}.profile-name-input:focus{border-color:var(--lavender-600);box-shadow:0 0 0 3px var(--lavender-100)}.profile-alert-msg{border-radius:var(--radius-md);color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:500;display:flex}.profile-modal-footer{border-top:1px solid var(--border-light);justify-content:flex-end;align-items:center;gap:10px;padding-top:12px;display:flex}.btn-save-profile{background:var(--lavender-600);color:#fff;border:1px solid var(--lavender-700);border-radius:var(--radius-md);width:auto;min-height:42px;padding:8px 22px;font-weight:600}.btn-save-profile:hover:not(:disabled){background:var(--lavender-700);color:#fff}.profile-reviews-wrapper{flex-direction:column;gap:16px;padding:18px 24px 24px;display:flex;overflow-y:auto}.reviews-intro-banner{background:var(--lavender-50);border:1px solid var(--lavender-200);border-radius:var(--radius-md);align-items:flex-start;gap:12px;padding:12px 16px;display:flex}.reviews-intro-text strong{color:var(--lavender-700);font-size:13px;font-weight:700;display:block}.reviews-intro-text p{color:var(--text-secondary);margin-top:2px;font-size:12px;line-height:1.4}.profile-empty-tests{text-align:center;background:var(--lavender-50);border-radius:var(--radius-md);border:1.5px dashed var(--lavender-300);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:44px 20px;display:flex}.profile-empty-tests h4{color:var(--text-primary);font-size:15px;font-weight:700}.profile-empty-tests p{color:var(--text-muted);max-width:360px;font-size:12.5px;line-height:1.4}.reviews-list{flex-direction:column;gap:16px;display:flex}.review-test-card{border:1.5px solid var(--lavender-200);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;gap:12px;padding:16px;display:flex}.review-card-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.review-title-group{flex-direction:column;gap:4px;display:flex}.review-test-title{color:var(--text-primary);font-size:15px;font-weight:700}.review-meta-pills{align-items:center;gap:8px;display:flex}.review-type-pill{background:var(--lavender-100);color:var(--lavender-700);border-radius:6px;padding:2px 7px;font-size:11px;font-weight:600}.review-date-text{color:var(--text-muted);align-items:center;gap:4px;font-size:11.5px;display:inline-flex}.review-score-box{align-items:center;gap:8px;display:flex}.review-score-val{color:var(--text-primary);font-size:14.5px;font-weight:700}.review-score-pct{border-radius:6px;padding:2px 7px;font-size:12px;font-weight:700}.review-expiry-bar{border-radius:var(--radius-sm);align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:600;display:flex}.bar-active{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.bar-expired{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.review-questions-accordion{flex-direction:column;gap:10px;margin-top:4px;display:flex}.review-section-heading{color:var(--text-secondary);font-size:13px;font-weight:700}.review-q-items{flex-direction:column;gap:12px;display:flex}.review-q-card{border-radius:var(--radius-md);border:1px solid var(--border-light);background:var(--lavender-50);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.q-card-correct{border-left:4px solid var(--green-border)}.q-card-wrong{border-left:4px solid var(--red-border)}.review-q-header{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.review-q-number{background:var(--lavender-200);color:var(--lavender-700);border-radius:6px;flex-shrink:0;padding:2px 6px;font-size:11.5px;font-weight:700}.review-q-text{min-width:180px;color:var(--text-primary);flex:1;font-size:13px;font-weight:600;line-height:1.4}.review-q-status-badge{border-radius:6px;flex-shrink:0;align-items:center;gap:4px;padding:2px 7px;font-size:11px;font-weight:700;display:inline-flex}.badge-pass{background:var(--green-bg);color:var(--green-text)}.badge-fail{background:var(--red-bg);color:var(--red-text)}.review-options-list{flex-direction:column;gap:6px;display:flex}.review-option-row{border:1px solid var(--border-light);color:var(--text-secondary);background:#fff;border-radius:6px;align-items:center;gap:8px;padding:7px 10px;font-size:12.5px;display:flex}.opt-key-circle{background:var(--bg-muted);width:20px;height:20px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10.5px;font-weight:700;display:flex}.opt-text-val{word-break:break-word;flex:1}.opt-tag{white-space:nowrap;border-radius:4px;align-items:center;gap:3px;padding:2px 6px;font-size:10.5px;font-weight:700;display:inline-flex}.tag-correct{background:var(--green-bg);color:var(--green-text)}.tag-wrong{background:var(--red-bg);color:var(--red-text)}.opt-correct-chosen{background:var(--green-bg);border-color:var(--green-border);color:var(--green-dark);font-weight:600}.opt-wrong-chosen{background:var(--red-bg);border-color:var(--red-border);color:var(--red-dark);font-weight:600}.opt-is-correct{border-color:var(--green-border);color:var(--green-dark);background:#f0fdf4}.review-reason-box{background:#fffbeb;border:1px solid #fde68a;border-radius:6px;flex-direction:column;gap:3px;padding:8px 10px;display:flex}.review-reason-hdr{color:#92400e;align-items:center;gap:5px;font-size:11.5px;font-weight:700;display:flex}.review-reason-content{color:#78350f;font-size:12px;line-height:1.4}.review-expired-notice{color:var(--text-muted);background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex}@media (width<=640px){.profile-modal-card{border-radius:var(--radius-md);max-height:94vh}.profile-modal-header{padding:14px 16px}.profile-modal-title{font-size:15px}.profile-tab-nav{gap:4px;padding:6px 12px 0}.profile-tab-btn{gap:5px;padding:8px 10px;font-size:12px}.profile-form-body,.profile-reviews-wrapper{gap:14px;padding:14px 14px 20px}.profile-avatar-preview-box{gap:12px;padding:12px}.profile-main-avatar{width:60px;height:60px}.profile-avatar-emoji{font-size:30px}.avatar-preview-name{font-size:15px}.emoji-grid{grid-template-columns:repeat(6,1fr);gap:6px}.emoji-pill-btn{height:38px;font-size:17px}.review-card-top{flex-direction:column;gap:6px}.review-score-box{justify-content:space-between;width:100%}}.name-avatar-select-section{flex-direction:column;align-items:center;gap:10px;margin-bottom:20px;display:flex}.name-selected-avatar-preview{background:linear-gradient(135deg, var(--lavender-100) 0%, var(--lavender-200) 100%);border:3px solid var(--lavender-500);width:72px;height:72px;transition:var(--transition);border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 4px 14px #7c3aed2e}.selected-avatar-emoji-large{-webkit-user-select:none;user-select:none;font-size:36px;line-height:1}.name-avatar-picker-label{color:var(--lavender-700);text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:5px;font-size:12px;font-weight:600;display:flex}.name-emoji-grid{grid-template-columns:repeat(8,1fr);gap:6px;width:100%;display:grid}@media (width<=480px){.name-emoji-grid{grid-template-columns:repeat(8,1fr);gap:4px}}.name-emoji-btn{border-radius:var(--radius-sm);border:1.5px solid var(--lavender-200);cursor:pointer;height:38px;transition:var(--transition);background:#fff;justify-content:center;align-items:center;font-size:18px;display:flex}.name-emoji-btn:hover{background:var(--lavender-50);border-color:var(--lavender-500);transform:scale(1.12)}.name-emoji-btn.active-emoji{background:var(--lavender-100);border-color:var(--lavender-600);box-shadow:0 0 0 2px var(--lavender-400);transform:scale(1.08)}.review-latest-pill{color:#166534;background:#dcfce7;border:1px solid #86efac;border-radius:6px;padding:2px 7px;font-size:10.5px;font-weight:700}.btn-review-solutions{background:var(--lavender-600);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);border:none;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:13.5px;font-weight:700;display:inline-flex;box-shadow:0 4px 12px #7c3aed40}.btn-review-solutions:hover{background:var(--lavender-700);transform:translateY(-1px)}
