@import"https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&display=swap";@tailwind base;@tailwind components;@tailwind utilities;:root{--color-bg-start: #0a1022;--color-bg-mid: #10162d;--color-bg-end: #0f1428;--color-text-main: #f8fafc;--color-text-secondary: #c7d2fe;--color-text-neutral: #94a3b8;--color-card-bg-start: rgba(20, 28, 50, .92);--color-card-bg-end: rgba(16, 22, 40, .82);--color-card-border: rgba(148, 163, 184, .18);--color-option-bg-start: rgba(20, 28, 50, .75);--color-option-bg-end: rgba(16, 22, 40, .65);--color-option-border: rgba(148, 163, 184, .22);--color-option-hover-bg-start: rgba(79, 134, 255, .2);--color-option-hover-bg-end: rgba(79, 134, 255, .12);--color-nav-num-bg-start: rgba(20, 28, 50, .92);--color-nav-num-bg-end: rgba(16, 22, 40, .7);--color-nav-num-border: rgba(148, 163, 184, .24);--color-back-btn-bg: rgba(20, 28, 50, .65);--color-back-btn-color: #e2e8f0;--color-back-btn-border: rgba(148, 163, 184, .22);--color-menu-btn-shadow: rgba(79, 134, 255, .35);--color-primary: #4f86ff;--color-secondary: #6aa3ff;--color-primary-light: #7aa7ff;--color-success: #38d39f;--color-error: #f87171;--color-review-wrong: #fca5a5;--color-review-correct: #a7f3d0;--color-warning: #fbbf24;--color-combo-low: #fbbf24;--color-combo-med: #f97316;--color-combo-high: #ef4444;--color-combo-god: #a855f7;--font-main: "Sora", "Trebuchet MS", "Segoe UI", sans-serif;--vh: 100vh;--nav-control-height: 36px}body.light-mode{background:#f8fafc!important;background-color:#f8fafc!important;color:#0f172a;--color-bg-start: #f8fafc;--color-bg-mid: #e2e8f0;--color-bg-end: #cbd5e1;--color-text-main: #0f172a;--color-text-secondary: #334155;--color-text-neutral: #64748b;--color-card-bg-start: rgba(255, 255, 255, .95);--color-card-bg-end: rgba(255, 255, 255, .9);--color-card-border: rgba(203, 213, 225, .8);--color-option-bg-start: rgba(255, 255, 255, .8);--color-option-bg-end: rgba(255, 255, 255, .6);--color-option-border: rgba(203, 213, 225, .8);--color-option-hover-bg-start: rgba(59, 130, 246, .15);--color-option-hover-bg-end: rgba(59, 130, 246, .05);--color-nav-num-bg-start: #ffffff;--color-nav-num-bg-end: #f1f5f9;--color-nav-num-border: rgba(203, 213, 225, .8);--color-back-btn-bg: rgba(255, 255, 255, .8);--color-back-btn-color: #0f172a;--color-back-btn-border: rgba(203, 213, 225, .8);--color-menu-btn-shadow: rgba(37, 99, 235, .25);--color-primary: #2563eb;--color-primary-light: #3b82f6}body.light-mode .menuButton.list-style{background:#fff;border-color:#94a3b859;color:#0f172a;box-shadow:0 10px 24px #94a3b833}@media (hover: hover){body.light-mode .menuButton.list-style:hover{background:#f8fafc;transform:translateY(-2px);box-shadow:0 16px 32px #94a3b84d;border-color:var(--color-primary)}}body.light-mode .menuButton.primary-style{background:linear-gradient(145deg,#f1f5f9f2,#e2e8f0e6);border-color:#94a3b873;color:#0f172a;box-shadow:0 14px 30px #94a3b859}@media (hover: hover){body.light-mode .menuButton.primary-style:hover{border-color:#3b82f673;box-shadow:0 20px 40px #94a3b873;transform:translateY(-2px)}}body.light-mode .menuButton.list-style span{color:#0f172a}body.light-mode .menuButton.list-style.danger-style{background:linear-gradient(180deg,#fff1f2,#ffe4e6);border-color:#ef444459}body.light-mode .menuButton.list-style.danger-style span{color:#991b1b}body.light-mode .menuButton.list-style.danger-style .list-icon{color:#ef4444}body.light-mode .test-details{color:#0f172a}body.light-mode .test-details span{background:#0f172a0a;border-color:#94a3b859}.card.stacked-card{position:relative;z-index:10;margin-bottom:4rem;transition:all .3s cubic-bezier(.34,1.56,.64,1);transform:translateY(0);box-shadow:0 22px 60px #000000b3,0 14px 0 -1px #ffffff26,0 14px #1e293b,0 28px 0 -3px #ffffff1a,0 28px 0 -2px #0f172a}.card.stacked-card.stack-level-1{transform:translateY(0);box-shadow:0 22px 60px #000000b3,0 14px 0 -1px #ffffff26,0 14px #1e293b!important}.card.stacked-card.stack-level-0{transform:translateY(0);box-shadow:0 20px 60px #0009!important;margin-bottom:1.5rem}body.light-mode .card.stacked-card{background:#fff;border-color:#cbd5e1;transform:translateY(0);box-shadow:0 18px 45px #2563eb33,0 14px 0 -1px #94a3b8,0 14px #f1f5f9,0 28px 0 -3px #94a3b8,0 28px 0 -2px #e2e8f0;border-radius:32px}body.light-mode .card.stacked-card.stack-level-1{transform:translateY(0);box-shadow:0 18px 45px #2563eb33,0 14px 0 -1px #94a3b8,0 14px #f1f5f9!important;border-radius:32px!important}body.light-mode .card.stacked-card.stack-level-0{transform:translateY(0);box-shadow:0 15px 40px #2563eb26!important;border-radius:32px!important}@media (hover: hover){.card.stacked-card:hover{transform:translateY(-5px);box-shadow:0 30px 80px #000c,0 25px 0 -1px #ffffff26,0 25px #1e293b,0 50px 0 -3px #ffffff1a,0 50px 0 -2px #0f172a}.card.stacked-card.stack-level-1:hover{transform:translateY(-5px);box-shadow:0 30px 70px #000000b3,0 25px 0 -1px #ffffff26,0 25px #1e293b!important}body.light-mode .card.stacked-card:hover{transform:translateY(-5px);box-shadow:0 25px 60px #2563eb40,0 25px 0 -1px #94a3b8,0 25px #f1f5f9,0 50px 0 -3px #94a3b8,0 50px 0 -2px #e2e8f0}body.light-mode .card.stacked-card.stack-level-1:hover{transform:translateY(-5px);box-shadow:0 25px 60px #2563eb40,0 25px 0 -1px #94a3b8,0 25px #f1f5f9!important}}body.light-mode .top-navbar,body.light-mode .navbar,body.light-mode .appHeader{background:#ffffffe6;border:1px solid rgba(148,163,184,.4);box-shadow:0 8px 20px #94a3b840}body.light-mode .menuBackButton,body.light-mode .theme-toggle-btn,body.light-mode .userBadge,body.light-mode .sync-status,body.light-mode .user-badge{border:1px solid rgba(148,163,184,.35)!important;background:#fff!important;box-shadow:0 8px 18px #94a3b833}@supports (-webkit-touch-callout: none){.top-navbar,.navbar,.appHeader{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#101628eb!important;transform:translateZ(0);-webkit-backface-visibility:hidden}body.light-mode .top-navbar,body.light-mode .navbar,body.light-mode .appHeader{background:#fffffff2!important}.user-badge{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#101628d9!important;transform:translateZ(0);-webkit-backface-visibility:hidden}}.theme-toggle-btn{border:1px solid rgba(255,255,255,.12);transition:all .3s ease}@media (hover: hover){.theme-toggle-btn:hover{border-color:#3b82f673;background:#1e293bb3;transform:scale(1.1)}}.admin-tabs{display:flex;gap:.5rem;padding:.5rem;background:var(--color-card-bg);border-radius:16px;margin-bottom:1.5rem;border:1px solid var(--color-card-border);overflow-x:auto}.admin-tabs .navButton{flex:1;white-space:nowrap;background:#ffffff08;border:1px solid transparent;transition:all .2s ease}.admin-tabs .navButton:not(.primary):hover{background:#ffffff14;border-color:#ffffff1a}.admin-tabs .navButton.primary{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border:none;box-shadow:0 4px 15px #3b82f64d}.admin-card{background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:12px;padding:.6rem 1rem;margin-bottom:.4rem;display:flex;justify-content:space-between;align-items:center;transition:all .2s ease}.admin-card-content{flex:1;min-width:0;display:flex;align-items:center;gap:1rem}.admin-card-meta{display:flex;align-items:center;gap:.6rem;flex-shrink:0}.admin-card-question{flex:1;font-weight:500;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-text-main)}.admin-badge{padding:2px 8px;border-radius:6px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.badge-sps{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.2)}.badge-stt{background:#ec489926;color:#f472b6;border:1px solid rgba(236,72,153,.2)}.badge-hidden{background:#94a3b81a;color:#94a3b8;border:1px solid rgba(148,163,184,.2)}.admin-actions{display:flex;gap:.4rem;margin-left:1rem}@media (max-width: 768px){.admin-card{flex-direction:column;align-items:stretch;padding:.8rem}.admin-card-content{flex-direction:column;align-items:flex-start;gap:.4rem;margin-bottom:.8rem}.admin-card-question{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.admin-actions{margin-left:0;justify-content:flex-end;padding-top:.6rem;border-top:1px solid var(--color-card-border)}}.btn-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);color:var(--color-text-secondary);cursor:pointer;font-size:1rem;transition:all .2s ease}@media (hover: hover){.btn-icon:hover{background:#ffffff1a;border-color:#fff3;color:var(--color-text-main);transform:scale(1.05)}}.btn-icon.btn-edit:hover{color:var(--color-primary-light);border-color:var(--color-primary)}.btn-icon.btn-delete:hover{color:var(--color-error);border-color:var(--color-error)}.form-input-style{width:100%;padding:.8rem 1rem;border-radius:12px;background:#ffffff0d;color:var(--color-text-main);border:1px solid var(--color-card-border);font-size:.95rem;font-family:inherit;transition:all .2s ease}.form-input-style:focus{outline:none;border-color:var(--color-primary);background:#ffffff14;box-shadow:0 0 0 3px #3b82f626}.form-input-style::placeholder{color:var(--color-text-secondary);opacity:.55}.form-input-style option{color:#0f172a;background:#fff}.admin-section-card{background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:20px;padding:1.5rem}.admin-section-title{font-size:1.2rem;font-weight:700;margin-bottom:1rem;color:var(--color-text-main);display:flex;align-items:center;gap:.5rem}.admin-description{font-size:.85rem;color:var(--color-text-secondary);margin-bottom:1rem;line-height:1.5}.user-management{background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:20px;padding:1.5rem}.admin-table-wrapper{width:100%;overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;min-width:720px;color:var(--color-text-main)}.admin-table th,.admin-table td{padding:.9rem 1rem;text-align:left;border-bottom:1px solid var(--color-card-border);font-size:.9rem}.admin-table th{font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.admin-table tbody tr:hover{background:#ffffff0a}.admin-loading{text-align:center;padding:2rem;color:var(--color-text-secondary)}.admin-input,.admin-select{width:100%;padding:.6rem .8rem;border-radius:10px;border:1px solid var(--color-card-border);background:#ffffff0d;color:var(--color-text-main);font-size:.9rem;font-family:inherit}.class-badge,.role-badge{display:inline-flex;align-items:center;padding:.3rem .7rem;border-radius:999px;border:1px solid rgba(255,255,255,.15);background:#ffffff14;font-size:.75rem;font-weight:600;text-transform:uppercase}.role-badge.admin{border-color:#3b82f666;background:#3b82f633;color:#93c5fd}.role-badge.user{border-color:#10b98166;background:#10b98133;color:#6ee7b7}.admin-actions{display:flex;gap:.5rem;flex-wrap:wrap}.edit-btn,.save-btn,.cancel-btn{border-radius:10px;padding:.5rem .9rem;border:1px solid transparent;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease}.edit-btn{background:#3b82f633;border-color:#3b82f666;color:#bfdbfe}.save-btn{background:#22c55e33;border-color:#22c55e73;color:#86efac}.cancel-btn{background:#ef444433;border-color:#ef444466;color:#fecaca}@media (hover: hover){.edit-btn:hover,.save-btn:hover,.cancel-btn:hover{transform:translateY(-1px);filter:brightness(1.1)}}body.light-mode .admin-tabs{background:#fff;border-color:#e2e8f0;box-shadow:0 2px 8px #0000000a}body.light-mode .admin-tabs .navButton{background:#f8fafc;color:#475569}body.light-mode .admin-tabs .navButton:not(.primary):hover{background:#f1f5f9;border-color:#cbd5e1}body.light-mode .admin-tabs .navButton.primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 4px 12px #2563eb4d}body.light-mode .admin-toolbar{background:#f8fafc;border:1px solid #e2e8f0}body.light-mode .admin-toolbar input[type=text]{background:#fff;color:#0f172a;border-color:#cbd5e1}body.light-mode .admin-card{background:#fff;border-color:#e2e8f0;color:#0f172a;box-shadow:0 2px 10px #0000000d}@media (hover: hover){body.light-mode .admin-card:hover{background:#f8fafc;box-shadow:0 5px 15px #00000014}body.light-mode .btn-icon:hover{background:#e2e8f0;color:#0f172a}body.light-mode .admin-toolbar .navButton:hover{background:#f1f5f9}}body.light-mode .admin-badge.badge-num{background:#e2e8f0;color:#475569;border-color:#cbd5e1}body.light-mode .question-text{color:#0f172a}body.light-mode .btn-icon{background:#f1f5f9;color:#64748b;border-color:#cbd5e1}body.light-mode .form-input-style{background:#fff;color:#0f172a;border-color:#cbd5e1}body.light-mode .form-input-style:focus{background:#fff;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb33}body.light-mode .admin-section-card,body.light-mode .user-management{background:#fff;border-color:#e2e8f0;box-shadow:0 2px 10px #0000000d}body.light-mode .admin-table tbody tr:hover{background:#f8fafc}body.light-mode .admin-input,body.light-mode .admin-select{background:#fff;color:#0f172a;border-color:#cbd5e1}body.light-mode .class-badge,body.light-mode .role-badge{background:#f1f5f9;border-color:#e2e8f0;color:#475569}body.light-mode .role-badge.admin{background:#3b82f626;border-color:#3b82f64d;color:#1d4ed8}body.light-mode .role-badge.user{background:#10b9811f;border-color:#10b9814d;color:#047857}body.light-mode .edit-btn{background:#3b82f61f;border-color:#3b82f640;color:#1d4ed8}body.light-mode .save-btn{background:#22c55e1f;border-color:#22c55e40;color:#15803d}body.light-mode .cancel-btn{background:#ef44441f;border-color:#ef444440;color:#b91c1c}body.light-mode .admin-toolbar .navButton{background:#fff;color:#0f172a;border:1px solid #cbd5e1}body.light-mode .admin-toolbar .navButton.primary,body.light-mode .navButton.primary,body.light-mode .submitTopButton{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;box-shadow:0 4px 12px #2563eb66;font-weight:700}@media (hover: hover){body.light-mode .admin-toolbar .navButton.primary:hover,body.light-mode .navButton.primary:hover,body.light-mode .submitTopButton:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-2px);box-shadow:0 6px 16px #2563eb80}}body.light-mode .logoText,body.light-mode .backArrowBtn{color:#0f172a}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;background-color:var(--color-bg-start);background-image:radial-gradient(circle at 15% 10%,rgba(80,120,255,.18),transparent 45%),radial-gradient(circle at 85% 20%,rgba(56,211,159,.14),transparent 40%),linear-gradient(135deg,var(--color-bg-start) 0%,var(--color-bg-mid) 50%,var(--color-bg-end) 100%);background-attachment:fixed;background-size:cover;font-family:var(--font-main);color:var(--color-text-main);transition:background-color .4s ease,color .4s ease;user-select:none;-webkit-user-select:none;cursor:default;scrollbar-gutter:stable;min-height:-webkit-fill-available;overflow:hidden;position:fixed;top:0;left:0;right:0;bottom:0;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}button,input,textarea,select{font-family:var(--font-main)}::-webkit-scrollbar{display:none}*{-ms-overflow-style:none;scrollbar-width:none}body.light-mode{background:var(--color-bg-start)!important;background-color:var(--color-bg-start)!important}#root{width:100%;height:100%;display:flex;flex-direction:column;padding-top:0;overflow:hidden;background-color:var(--color-bg-start);background-image:radial-gradient(circle at 15% 10%,rgba(80,120,255,.18),transparent 45%),radial-gradient(circle at 85% 20%,rgba(56,211,159,.14),transparent 40%),linear-gradient(135deg,var(--color-bg-start) 0%,var(--color-bg-mid) 50%,var(--color-bg-end) 100%);min-height:-webkit-fill-available}body.light-mode #root{background:#f8fafc;background-image:none;min-height:-webkit-fill-available}body.keyboard-mode-active,body.keyboard-mode-active *{cursor:none!important}.container{max-width:960px;width:100%;margin:0 auto;padding:1rem;padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:0!important;height:100vh;height:var(--vh, 100vh);scrollbar-width:none;overflow-y:auto;-webkit-overflow-scrolling:touch;background:transparent;backface-visibility:hidden;transform:translateZ(0)}@supports (-webkit-touch-callout: none){html,body{position:relative;height:auto;min-height:100%;overflow-y:auto;overscroll-behavior-y:auto;background-attachment:scroll}#root{height:auto;min-height:100dvh;overflow:visible;background-color:var(--color-bg-start);background-image:radial-gradient(circle at 15% 10%,rgba(80,120,255,.18),transparent 45%),radial-gradient(circle at 85% 20%,rgba(56,211,159,.14),transparent 40%),linear-gradient(135deg,var(--color-bg-start) 0%,var(--color-bg-mid) 50%,var(--color-bg-end) 100%)}.container{height:auto;min-height:var(--vh, 100vh);min-height:100dvh;overflow:visible;-webkit-overflow-scrolling:auto}.modalOverlay{top:0;right:0;bottom:0;left:0;width:100vw;height:100dvh;min-height:100dvh;box-sizing:border-box}}.quizContentWrapper{max-width:960px;width:100%;margin:0 auto;padding:0 1rem;padding-bottom:max(5rem,calc(env(safe-area-inset-bottom) + 3rem))!important;display:flex;flex-direction:column}@media (max-width: 768px){.keyboard-hints,.fullscreenHint{display:none!important}}.card-enter-animation{animation:cardFadeIn .2s ease-out forwards;will-change:opacity,transform}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.actionButtons{backface-visibility:hidden;transform:translateZ(0);transition:opacity .1s ease-out}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutLeft{0%{transform:translate(0);opacity:1}to{transform:translate(-100%);opacity:0}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.slide-in-right{animation:slideInRight .15s cubic-bezier(0,0,.2,1) forwards}.slide-in-left{animation:slideInLeft .15s cubic-bezier(0,0,.2,1) forwards}@keyframes pulseBtn{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes glow{0%,to{box-shadow:0 0 15px #3b82f64d}50%{box-shadow:0 0 35px #3b82f699}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px) rotate(-2deg)}40%{transform:translate(8px) rotate(2deg)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.shake{animation:shake .4s cubic-bezier(.36,.07,.19,.97) both;border-color:var(--color-error)!important;box-shadow:0 0 30px #ef444466!important}@keyframes popIn{0%{transform:translate(-50%,-50%) scale(0);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes flameFlicker{0%{transform:scale(1) rotate(-3deg);opacity:.8}to{transform:scale(1.1) rotate(3deg);opacity:1}}@keyframes pump{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}body.modal-open{overflow:hidden;touch-action:none}body.modal-open .container{overflow:hidden!important;-webkit-overflow-scrolling:auto}.modalOverlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000d9;display:flex;align-items:center;justify-content:center;z-index:5000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal{background:var(--color-card-bg-start);border:1px solid var(--color-card-border);border-radius:18px;padding:2rem;max-width:450px;width:90%;text-align:center;box-shadow:0 15px 50px #00000080;animation:fadeIn .3s ease-out}.modal h3{margin-bottom:1rem;font-size:1.5rem}.modal p{color:var(--color-text-secondary);margin-bottom:2rem}.modalButtons{display:flex;justify-content:space-around;gap:1rem}.modalButtons .navButton{flex:1;min-width:120px}.top-navbar,.navbar,.appHeader{width:100%;max-width:1100px;position:relative;z-index:1000;margin:0 auto 1rem;padding:.85rem 1.2rem;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(150deg,#141c32e0,#0e1424bd);border-radius:18px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 14px 30px #070a1673;flex-shrink:0;border:1px solid rgba(148,163,184,.18)}.navbar-group{display:flex;align-items:center;gap:.7rem}.top-navbar.navbar-tiered{justify-content:flex-start;gap:.8rem}.top-navbar.navbar-tiered .nav-status{gap:.5rem;min-width:0;--nav-control-height: 30px}.top-navbar.navbar-tiered .nav-status .subjectBadgeGroup{gap:.4rem}.top-navbar.navbar-tiered .nav-status .modeBadge{font-size:.82rem;padding:0 .7rem}.top-navbar.navbar-tiered .nav-status .timer{font-size:.85rem;padding:0 .7rem}.top-navbar.navbar-tiered .nav-actions{margin-left:auto}.subjectBadgeGroup{display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap}.subjectBadgeDivider{opacity:.5;font-weight:700}.modeBadge{display:inline-flex;align-items:center;gap:.35rem;height:var(--nav-control-height);padding:0 .8rem;box-sizing:border-box;border-radius:10px;background:#3b82f626;border:1px solid rgba(59,130,246,.4);color:var(--color-primary-light);font-size:.9rem;font-weight:800}.modeBadgeIcon{font-size:1rem;line-height:1}.mobile-only{display:none}.title{font-size:clamp(2rem,8vw,2.8rem);font-weight:800;text-align:center;background:linear-gradient(135deg,var(--color-primary-light),var(--color-secondary),#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:.3rem 0 .5rem;letter-spacing:-1px}.subjectGrid{display:grid;gap:1.5rem;width:100%;max-width:800px;margin:2.5rem auto}.menuColumn{display:flex;flex-direction:column;align-items:center;width:100%;max-width:920px;gap:1rem;margin:0 auto}.alert-box{width:100%;display:flex;align-items:center;flex-wrap:nowrap;gap:.9rem;padding:.95rem 1.3rem;min-height:56px;border-radius:16px;background:linear-gradient(135deg,#141c32f2,#1e305cb3);border:1px solid rgba(79,134,255,.35);box-shadow:0 12px 30px #070a1659;position:relative;overflow:hidden;transition:all .25s ease}.alert-box:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(79,134,255,.12),rgba(56,211,159,.08),transparent 60%);opacity:.9;pointer-events:none}.alert-box:after{content:"";position:absolute;left:-35%;top:-60%;width:60%;height:200%;background:radial-gradient(circle,rgba(79,134,255,.25),transparent 60%);filter:blur(10px);pointer-events:none}.alert-box__icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#4f86ff59,#10b9812e);border:1px solid rgba(79,134,255,.45);box-shadow:0 8px 18px #070a1659;font-size:1.2rem;flex-shrink:0;position:relative;z-index:1}.alert-box__icon--ringing{animation:bellRing 1.6s ease-in-out infinite;transform-origin:50% 5%}@keyframes bellRing{0%{transform:rotate(0)}5%{transform:rotate(10deg)}10%{transform:rotate(-10deg)}15%{transform:rotate(8deg)}20%{transform:rotate(-8deg)}25%{transform:rotate(6deg)}30%{transform:rotate(-6deg)}35%{transform:rotate(4deg)}40%{transform:rotate(-4deg)}45%{transform:rotate(2deg)}50%{transform:rotate(0)}to{transform:rotate(0)}}@media (prefers-reduced-motion: reduce){.alert-box__icon--ringing{animation:none}}.alert-box__content{display:flex;flex-direction:column;gap:.1rem;min-width:0;position:relative;z-index:1}.alert-box__title{font-weight:800;font-size:1rem;letter-spacing:-.2px;line-height:1.1}.alert-box__subtitle{color:var(--color-text-secondary);font-size:.85rem;line-height:1.25}.alert-box__cta{margin-left:auto;padding:.35rem .8rem;border-radius:999px;border:1px solid rgba(79,134,255,.45);background:#4f86ff26;color:#cfe1ff;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;position:relative;z-index:1;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;height:28px}body.light-mode .alert-box{background:linear-gradient(135deg,#fff,#eef2ff);border-color:#3b82f659;box-shadow:0 10px 22px #2563eb26}body.light-mode .alert-box__subtitle{color:#475569}body.light-mode .alert-box__cta{background:#2563eb1f;border-color:#2563eb4d;color:#1d4ed8}.alert-box--clickable{cursor:pointer}@media (hover: hover){.alert-box--clickable:hover{transform:translateY(-1px);box-shadow:0 16px 36px #070a1673;border-color:#4f86ff8c}.alert-box--clickable:hover .alert-box__cta{background:#4f86ff40;border-color:#4f86ff99}}@media (max-width: 560px){.alert-box{flex-wrap:wrap;gap:.6rem}.alert-box__cta{width:100%;text-align:center;margin-left:0}}@media (min-width: 900px){.alert-box{padding:1rem 1.5rem;min-height:64px}.alert-box__icon{width:46px;height:46px}.alert-box__cta{height:30px;font-size:.8rem}}.menuGrid{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.menuSpanFull{grid-column:1 / -1}.menuButton{width:100%;border:1px solid rgba(148,163,184,.2);border-radius:20px;padding:1.6rem;cursor:pointer;background:linear-gradient(160deg,#141c32e6,#101628b3);color:#fff;font-size:1.1rem;font-weight:700;transition:all .25s ease;box-shadow:0 14px 30px #070a1666;position:relative;overflow:hidden;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;z-index:1}.menuButton:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}@media (hover: hover){.menuButton:hover{transform:translateY(-2px);box-shadow:0 16px 34px #080c1a73;border-color:#3b82f680}.menuButton:hover:before{left:100%}}.menuButton.selected{background:#141c32e6;box-shadow:0 0 0 2px #4f86ff73;transform:translateY(-2px)}.menuButton.list-style{aspect-ratio:auto;min-height:92px;padding:1.2rem 1.6rem;font-size:1rem;display:flex;justify-content:flex-start;align-items:center;width:100%;margin-top:0;background:linear-gradient(155deg,#141c32d1,#101628b3);border:1px solid rgba(148,163,184,.18);text-align:left;box-shadow:0 12px 24px #070a1659;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.menuButton.list-style:after{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.05),transparent 55%);opacity:.7;transition:opacity .3s ease;pointer-events:none}@media (hover: hover){.menuButton.list-style:hover{background:#141c32e6;transform:translateY(-2px);border-color:#4f86ff73;box-shadow:0 18px 36px #070a1673}.menuButton.list-style:hover:after{opacity:1}}@media (max-width: 700px){.menuGrid{grid-template-columns:1fr}}.list-icon{font-size:1.35rem;width:44px;height:44px;margin-right:1.1rem;min-width:44px;text-align:center;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#ffffff1a,#ffffff05);border:1px solid rgba(255,255,255,.12)}.menuButton.primary-style{aspect-ratio:auto!important;min-height:130px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:1.6rem 2.2rem;background:linear-gradient(165deg,#1e305cf5,#0e1424c7);border:1px solid rgba(79,134,255,.4);box-shadow:0 20px 48px #070a168c,0 0 0 1px #4f86ff38,0 12px 30px #4f86ff47}.test-icon-container{position:absolute;top:50%;right:24px;transform:translateY(-50%);font-size:2rem;color:var(--color-success);background:linear-gradient(160deg,#38d39f59,#10b98133);border:1px solid rgba(56,211,159,.5);width:52px;height:52px;border-radius:16px;display:grid;place-items:center;box-shadow:0 14px 26px #070a1666}.test-details{display:flex;gap:.6rem;margin-top:.7rem;font-size:.85rem;color:#ffffffd1;font-weight:600}.test-details span{padding:.25rem .7rem;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.14)}.test-details span{display:flex;align-items:center;gap:.3rem}.menuButton.danger-style{background:linear-gradient(150deg,#4b121ab3,#370c1499);border-color:#f8717159;color:var(--color-error);justify-content:space-between;box-shadow:0 16px 32px #1e070e80}@media (hover: hover){.menuButton.danger-style:hover{background:#991b1b66}}.menuButton.danger-style span:not(.list-icon){color:var(--color-text-main)}.menuButton.danger-style .list-icon{color:var(--color-error)}.duelLobby{width:100%;max-width:980px;margin:0 auto;padding:1.5rem 1rem 2rem;display:flex;flex-direction:column;gap:1rem}.duelPanel{background:linear-gradient(155deg,#141c32d1,#101628b3);border:1px solid rgba(148,163,184,.18);border-radius:20px;padding:1.1rem 1.3rem;box-shadow:0 12px 24px #070a1659;display:flex;flex-direction:column;gap:.8rem}.duelPanelHeader{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.duelPanelTitle{font-weight:700;font-size:1.05rem;display:flex;align-items:center;gap:.5rem;padding-bottom:.2rem}.duelPanelIcon{width:28px;height:28px;border-radius:10px;background:#3b82f626;border:1px solid rgba(59,130,246,.35);display:inline-flex;align-items:center;justify-content:center;font-size:1rem}.duelPanelMeta{color:var(--color-text-secondary);font-size:.85rem}.duelList{display:flex;flex-direction:column;gap:.6rem}.duelRow{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .8rem;border-radius:14px;background:#0f172a8c;border:1px solid rgba(148,163,184,.12)}.duelRowMain{display:flex;flex-direction:column;gap:.2rem}.duelRowIdentity{display:flex;align-items:center;gap:.6rem}.duelAvatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary) 0%,#3b82f6 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;box-shadow:0 2px 6px #0003;flex-shrink:0}.duelRowName{font-weight:600}.duelRowHint{color:var(--color-text-secondary);font-size:.85rem}.duelRowActions{display:flex;align-items:center;gap:.6rem}.duelStatsGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.duelStatCard{background:#0f172a8c;border:1px solid rgba(148,163,184,.12);border-radius:14px;padding:.7rem .9rem;text-align:center}.duelStatValue{font-size:1.2rem;font-weight:700}.duelStatLabel{font-size:.8rem;color:var(--color-text-secondary)}.duelSettingsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.duelSettingsRow{display:flex;flex-wrap:wrap;gap:.6rem}.duelRangeRow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.duelLabel{display:block;margin-bottom:.35rem;font-size:.85rem;color:var(--color-text-secondary)}.duelAlert{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border-radius:16px;background:#f8717126;border:1px solid rgba(248,113,113,.3)}.duelEmpty{color:var(--color-text-secondary);font-size:.95rem;padding:.4rem 0}@media (max-width: 700px){.duelStatsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.duelSettingsGrid{grid-template-columns:1fr}.duelRow{flex-direction:row;align-items:center}.duelRowMain{flex:1;min-width:0}.duelRowActions{width:auto}}.badge{background:#f871712e;color:#fca5a5;border:1px solid rgba(248,113,113,.5);font-size:.75rem;font-weight:700;padding:.2rem .6rem;border-radius:999px;box-shadow:0 6px 14px #1e070e73}.history-footer-btn{margin:1.5rem auto 0;padding:.8rem 1.2rem;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;border-radius:12px;background:#0f172a99;border:1px solid rgba(148,163,184,.18);color:var(--color-text-secondary);font-size:.9rem;font-weight:600;width:fit-content;position:relative;overflow:hidden;transition:all .3s ease;box-shadow:0 8px 18px #080c1a40}.history-footer-btn:before{content:"";position:absolute;top:0;left:-120%;width:120%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transition:left .5s ease}@media (hover: hover){.history-footer-btn:hover{background:#1e293bb3;border-color:#3b82f673;transform:translateY(-1px);box-shadow:0 12px 26px #080c1a66}.history-footer-btn:hover:before{left:120%}}.history-footer-btn.selected{border-color:#3b82f699;color:var(--color-text-main);box-shadow:0 0 0 2px #3b82f659,0 8px 18px #080c1a40}body.light-mode .history-footer-btn{background:#fff;border-color:#94a3b859;color:#0f172a;box-shadow:0 8px 18px #94a3b840}@media (hover: hover){body.light-mode .history-footer-btn:hover{background:#f8fafc;border-color:var(--color-primary);box-shadow:0 12px 24px #94a3b84d}}body.light-mode .history-footer-btn.selected{box-shadow:0 0 0 2px #2563eb4d,0 10px 20px #94a3b840}.clearMistakesIcon{opacity:.7;transition:opacity .2s,transform .2s}@media (hover: hover){.clearMistakesIcon:hover{opacity:1;transform:scale(1.1)}}.menuBackButton{background:#101628b3;border:1px solid rgba(148,163,184,.22);color:var(--color-text-main);height:var(--nav-control-height);padding:0 1rem;border-radius:14px;font-size:.95rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;box-sizing:border-box;box-shadow:0 10px 22px #070a1659}@media (hover: hover){.menuBackButton:hover{background:#1e293bb3;border-color:#3b82f673}}.logout-btn{font-size:.8rem;padding:.3rem .6rem;opacity:.8;background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3);border-radius:6px;cursor:pointer}@media (hover: hover){.logout-btn:hover{opacity:1;background:#ef444433}}.theme-toggle-btn{background:#101628b3;border:1px solid rgba(148,163,184,.22);font-size:1.2rem;cursor:pointer;padding:.3rem;display:flex;align-items:center;justify-content:center;transition:transform .2s,border-color .2s,background .2s;box-shadow:0 10px 22px #070a1659;border-radius:14px}.user-badge{background:#101628b3!important;border:1px solid rgba(148,163,184,.22)!important;border-radius:16px!important;box-shadow:0 12px 24px #070a1659!important;-webkit-backdrop-filter:blur(14px)!important;backdrop-filter:blur(14px)!important}@supports (-webkit-touch-callout: none){.user-badge{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#101628d9!important;transform:translateZ(0);-webkit-backface-visibility:hidden}}@media (hover: hover){.theme-toggle-btn:hover{transform:scale(1.1)}}.submitTopButton,.navButton{border:none;border-radius:14px;padding:.9rem 1.8rem;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);min-height:48px;position:relative;overflow:hidden}.submitTopButton{background:linear-gradient(135deg,var(--color-primary),#2563eb);color:#fff;box-shadow:0 4px 15px #3b82f666;padding:.7rem 1.5rem;font-size:.95rem}@media (hover: hover){.submitTopButton:hover{transform:translateY(-2px)}}.navButton{background:#3b82f626;color:var(--color-primary-light);border:2px solid rgba(59,130,246,.3)}body.light-mode .navButton{background:#2563eb0d;border:1px solid rgba(37,99,235,.3);color:var(--color-primary)}@media (hover: hover){.navButton:hover{background:#3b82f640;border-color:#3b82f699;transform:translateY(-1px)}body.light-mode .navButton:hover{background:#2563eb26;border-color:var(--color-primary)}}.navButton.primary{background:linear-gradient(135deg,var(--color-primary),#2563eb);color:#fff;border:none;box-shadow:0 8px 25px #3b82f680}body.light-mode .navButton.primary,body.light-mode .submitTopButton{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;box-shadow:0 6px 20px #2563eb59;font-weight:800}@media (hover: hover){body.light-mode .navButton.primary:hover,body.light-mode .submitTopButton:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 8px 25px #2563eb80}}.navButton:disabled{opacity:.5;cursor:not-allowed;transform:none}.settingsModal{max-width:500px}.smartGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.smartOptionButton{background:var(--color-card-bg-start);border:2px solid var(--color-card-border);border-radius:12px;padding:1rem;color:var(--color-text-main);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .3s}@media (hover: hover){.smartOptionButton:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 5px 15px #0003}}.progressBarContainer{width:100%;height:8px;background:#ffffff26;border-radius:10px;margin:1rem 0 .5rem;overflow:hidden;position:relative}body.light-mode .progressBarContainer{background:#0000001a}.progressBarFill{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);transition:width .5s cubic-bezier(.4,0,.2,1);border-radius:10px}.progressText{text-align:right;font-size:.8rem;color:var(--color-text-neutral);font-weight:500;margin-bottom:.5rem}.timer{font-weight:700;background:linear-gradient(135deg,#3b82f626,#6366f11a);border:2px solid rgba(59,130,246,.5);color:var(--color-primary-light);padding:0 1.1rem;border-radius:12px;font-size:.95rem;display:inline-flex;align-items:center;justify-content:center;height:var(--nav-control-height);box-sizing:border-box;line-height:1;min-width:5.2ch;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}body.light-mode .timer{background:linear-gradient(135deg,#2563eb1a,#3b82f60d);border-color:#2563eb66;color:var(--color-primary)}.timerWarning{color:#fbbf24!important;border-color:#fbbf2480!important;animation:pulse 1.5s infinite}.timerDanger{color:#ff6b6b!important;border-color:#ef444499!important;animation:blink .8s infinite}.flashcardHeader{display:flex;justify-content:space-between;align-items:center;background:#0f172a66;border:1px solid rgba(148,163,184,.15);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);border-radius:32px;padding:.8rem 1.2rem;margin-bottom:1rem;transition:border-color .3s ease;position:relative;gap:.5rem;overflow:hidden;backface-visibility:hidden;transform:translateZ(0)}.flashcardHeader.combo-low{border-color:#fbbf244d}.flashcardHeader.combo-med{border-color:#f9731666}.flashcardHeader.combo-high{border-color:#ef444480}body.light-mode .flashcardHeader{background:linear-gradient(135deg,var(--color-card-bg-start) 0%,var(--color-card-bg-end) 100%);border-color:var(--color-card-border);box-shadow:0 15px 50px #2563eb1a}.statItem{display:flex;flex-direction:column;align-items:center;flex:0 0 auto;min-width:0;text-align:center}.statItem:first-child{margin-right:auto;align-items:flex-start;text-align:left}.statItem:last-child{margin-left:auto;align-items:flex-end;text-align:right}.statLabel{font-size:.65rem;text-transform:uppercase;color:var(--color-text-neutral);font-weight:700;letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;text-align:inherit}.statValue{font-size:1.1rem;font-weight:800;color:var(--color-text-main);white-space:nowrap;width:100%;text-align:inherit}.statValue-anim{position:relative;animation:countPop .45s ease}.statValue-anim:after{content:attr(data-prev);position:absolute;left:0;right:0;top:0;text-align:inherit;color:#fbbf24cc;animation:countFlyOut .45s ease;pointer-events:none}@keyframes countFlyOut{0%{transform:translateY(0);opacity:.7}to{transform:translateY(-16px);opacity:0}}@keyframes countPop{0%{transform:translateY(6px) scale(.98);opacity:.6}to{transform:translateY(0) scale(1);opacity:1}}.comboContainer{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.4rem;animation:popIn .4s cubic-bezier(.175,.885,.32,1.275);z-index:5}.comboFlame{font-size:1.6rem;filter:drop-shadow(0 0 8px rgba(251,191,36,.4));animation:flameFlicker 1s infinite alternate;transform-origin:center bottom}.comboCount{font-size:1.4rem;font-weight:900;background:linear-gradient(135deg,#fbbf24,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-style:italic;line-height:1;min-width:5.2ch;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}@media (max-width: 480px){.flashcardHeader{padding:.6rem 1.2rem;border-radius:32px;flex-wrap:nowrap;row-gap:.35rem;align-items:center;justify-content:space-between}.statItem{align-items:center;text-align:center;flex:0 0 auto}.statItem:first-child{margin-right:auto;margin-left:0;align-items:flex-start;text-align:left}.statItem:last-child{margin-left:auto;margin-right:0;align-items:flex-end;text-align:right}.statValue{font-size:1rem}.statLabel{font-size:.6rem}.comboFlame{font-size:1.3rem}.comboCount{font-size:1.1rem}.comboContainer{gap:.2rem}}.combo-med .comboFlame{font-size:2.2rem;filter:drop-shadow(0 0 15px rgba(249,115,22,.6));animation:pump .8s infinite}.combo-med .comboCount{background:linear-gradient(135deg,#f59e0b,#ef4444);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-size:2rem;text-shadow:0 0 10px rgba(249,115,22,.3)}.combo-high .comboFlame{font-size:2.8rem;filter:drop-shadow(0 0 25px rgba(168,85,247,.8));animation:pump .4s infinite}.combo-high .comboCount{background:linear-gradient(135deg,#ef4444,#a855f7);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-size:2.5rem;animation:pump .4s infinite}.card{padding:clamp(1.5rem,4vw,2.2rem);border-radius:32px;background:linear-gradient(135deg,var(--color-card-bg-start) 0%,var(--color-card-bg-end) 100%);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);border:1px solid var(--color-card-border);box-shadow:0 20px 60px #00000080;margin-bottom:1.5rem;margin-top:1rem;overflow:hidden;width:100%;min-height:400px;display:flex;flex-direction:column}.questionCardContent{width:100%;height:100%;display:flex;flex-direction:column;transform:translate3d(var(--swipe-x, 0px),0,0) rotate(var(--swipe-rot, 0deg));transition:var(--swipe-transition, none);will-change:transform;backface-visibility:hidden;perspective:1000px}body.light-mode .card{box-shadow:0 15px 50px #2563eb1a;border-color:#fffc}.questionHeader{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.5rem}.questionText{font-size:clamp(1.2rem,5vw,1.6rem);font-weight:700;line-height:1.5;letter-spacing:-.5px}.imageWrapper{position:relative;cursor:zoom-in;width:100%}.questionImage{width:100%;height:200px;object-fit:contain;border-radius:12px;border:2px solid rgba(59,130,246,.2);background:#0003;transition:all .3s ease}body.light-mode .questionImage{background:#fffc}@media (hover: hover){.imageWrapper:hover .questionImage{border-color:#3b82f680;transform:scale(1.01)}body.light-mode .imageWrapper:hover .questionImage{border-color:var(--color-primary)}}@media (min-width: 768px){.questionHeader{flex-direction:row;align-items:flex-start;gap:2rem}.questionText{flex:1}.imageWrapper{flex:0 0 40%;max-width:400px}.questionImage{height:auto;max-height:300px}}.fullscreenHint{position:absolute;bottom:10px;right:10px;background:#000000b3;color:#fff;padding:4px 8px;border-radius:6px;font-size:.75rem;pointer-events:none}.options{display:flex;flex-direction:column;gap:.8rem;margin-top:1.2rem;padding:0 4px}.optionButton{width:100%;min-height:60px;border:1px solid var(--color-option-border);border-radius:14px;padding:1.2rem 1.6rem;background:linear-gradient(135deg,var(--color-option-bg-start) 0%,var(--color-option-bg-end) 100%);color:var(--color-text-secondary);text-align:left;font-size:1.05rem;cursor:pointer;transition:all .2s cubic-bezier(.34,1.56,.64,1);font-weight:500;outline:none;box-sizing:border-box}body.light-mode .optionButton{color:#334155;font-weight:600}.optionButton:focus-visible{outline:3px solid var(--color-primary-light);outline-offset:2px;border-color:var(--color-primary-light)}@media (hover: hover){.optionButton:hover{background:linear-gradient(135deg,var(--color-option-hover-bg-start) 0%,var(--color-option-hover-bg-end) 100%);border-color:#3b82f680;transform:translate(4px)}body.light-mode .optionButton:hover{border-color:var(--color-primary)}}.optionButton.selected{border-color:var(--color-primary);background:linear-gradient(135deg,#3b82f666,#3b82f633);box-shadow:inset 0 0 0 1px var(--color-primary),0 0 25px #3b82f680;outline:none;transition:all .2s ease}.optionButton.correct{border-color:var(--color-success)!important;background:linear-gradient(135deg,#22c55e66,#22c55e33)!important;color:#fff!important;outline:none;transition:all .2s ease;box-shadow:inset 0 0 0 1px var(--color-success),0 0 25px #22c55e80}.optionButton.wrong{border-color:var(--color-error)!important;background:linear-gradient(135deg,#ef444466,#ef444433)!important;color:#fff!important;outline:none;transition:all .2s ease;box-shadow:inset 0 0 0 1px var(--color-error),0 0 25px #ef444480}body.light-mode .optionButton.selected{border-color:var(--color-primary);background:#3b82f633;box-shadow:inset 0 0 0 1px var(--color-primary),0 0 15px #3b82f64d;outline:none}body.light-mode .optionButton.correct{background:#22c55e33!important;color:#064e3b!important;box-shadow:inset 0 0 0 1px var(--color-success),0 0 15px #22c55e4d;outline:none}body.light-mode .optionButton.wrong{background:#ef444433!important;color:#7f1d1d!important;box-shadow:inset 0 0 0 1px var(--color-error),0 0 15px #ef44444d;outline:none}.percentIndicator{display:inline-block;margin-left:1rem;font-weight:700;color:var(--color-text-main);padding:.2rem .5rem;border-radius:4px;font-size:.9rem;background:#ffffff1a}.actionButtons{display:flex;gap:1.2rem;margin-top:2rem;margin-bottom:.6rem;flex-wrap:wrap}.actionButtons.spaced{justify-content:space-between}.actionButtons.right{justify-content:flex-end}.navigatorWrapper{width:100%;display:flex;justify-content:center;overflow:hidden;padding:0;margin-top:.5rem}.compactNavigator{display:flex;gap:8px;padding:15px 10px;overflow-x:auto;overflow-y:hidden;max-width:100%;touch-action:pan-x;scrollbar-width:none;cursor:grab;user-select:none;-webkit-user-select:none}.compactNavigator::-webkit-scrollbar{display:none}.compactNavigator.grabbing{cursor:grabbing;scroll-behavior:auto}.compactNavigator.grabbing .navNumber{pointer-events:none;transform:scale(1)}.navNumber{width:44px;height:44px;flex-shrink:0;border-radius:10px;background:var(--color-nav-num-bg-start);color:var(--color-text-secondary);border:1px solid var(--color-nav-num-border);font-weight:600;font-size:.9rem;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.175,.885,.32,1.275);cursor:pointer;position:relative;touch-action:none}body.light-mode .navNumber{color:#64748b}@media (hover: hover){.navNumber:hover{border-color:var(--color-primary-light);transform:translateY(-3px) scale(1.05);z-index:10}body.light-mode .navNumber:hover{border-color:var(--color-primary);color:var(--color-primary)}}.navNumber.current{background:var(--color-primary);color:#fff;border-color:var(--color-primary-light);transform:scale(1.15);box-shadow:0 4px 15px #3b82f680;z-index:5}body.light-mode .navNumber.current{border-color:transparent;box-shadow:0 4px 12px #2563eb66}.navNumber.answered{background:#3b82f633;border-color:#3b82f680;color:var(--color-primary-light)}body.light-mode .navNumber.answered{background:#2563eb1a;border-color:#2563eb4d;color:var(--color-primary)}.navNumber.current.answered{background:var(--color-primary);border-color:var(--color-primary-light);color:#fff}body.light-mode .navNumber.current,body.light-mode .navNumber.current.answered{color:#fff}.resultScreen{text-align:center;padding:2rem 1rem;animation:fadeIn .6s ease-out;max-width:800px;margin:0 auto;width:100%}.score-circle-container{position:relative;width:200px;height:200px;margin:0 auto 2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 0 30px #3b82f633}body.light-mode .score-circle-container{box-shadow:0 0 30px #2563eb26}.score-circle-inner{width:170px;height:170px;border-radius:50%;background:var(--color-bg-start);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2;box-shadow:inset 0 0 20px #00000080}body.light-mode .score-circle-inner{background:#f8fafc;box-shadow:inset 0 0 20px #0000000d}.score-percentage{font-size:3rem;font-weight:900;background:linear-gradient(135deg,var(--color-primary-light),var(--color-secondary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1;min-width:5.2ch;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.score-fraction{font-size:1rem;color:var(--color-text-neutral);margin-top:.5rem;font-weight:600}.review-header-title{text-align:left;margin-bottom:1.5rem;font-size:1.4rem;font-weight:800;color:var(--color-text-main);display:flex;align-items:center;gap:.5rem}.reviewList{display:flex;flex-direction:column;gap:1rem;margin-top:0}.review-item{background:var(--color-card-bg-end);border:1px solid var(--color-card-border);border-radius:16px;padding:1.2rem;text-align:left;position:relative;overflow:hidden;transition:transform .2s ease;border-left:5px solid transparent}@media (hover: hover){.review-item:hover{transform:translateY(-2px);border-color:#94a3b866}}.review-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.review-number{font-size:.9rem;font-weight:700;color:var(--color-text-neutral);margin-bottom:.3rem;display:block}.review-question-text{font-size:1.1rem;font-weight:600;color:var(--color-text-main);line-height:1.4}.review-status-icon{font-size:1.5rem;margin-left:1rem;flex-shrink:0}.review-answers-grid{display:grid;grid-template-columns:1fr;gap:.5rem;background:#0000001a;padding:1rem;border-radius:12px}body.light-mode .review-answers-grid{background:#00000008}.review-answer-row{display:flex;align-items:center;gap:.5rem;font-size:.95rem}.label-correct{color:var(--color-success);font-weight:700;min-width:70px}.label-wrong{color:var(--color-error);font-weight:700;min-width:70px}.text-val{color:var(--color-text-secondary)}.text-val.highlight{color:var(--color-text-main);font-weight:600}.reviewSearchInput{padding:1rem;width:100%;max-width:600px;margin:1rem auto 2rem;display:block;border-radius:12px;border:1px solid var(--color-nav-num-border);background:#0003;color:var(--color-text-main);font-size:1.1rem}body.light-mode .reviewSearchInput{background:#fff9}.reviewGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;margin-top:1rem;padding:.5rem}@media (max-width: 768px){.reviewGrid{grid-template-columns:1fr}}.reviewCard{background:linear-gradient(135deg,var(--color-card-bg-start) 0%,var(--color-card-bg-end) 100%);border:1px solid var(--color-card-border);border-radius:24px;padding:1.2rem;display:flex;flex-direction:column;height:100%;transition:all .3s ease;box-shadow:0 10px 30px #0003;min-height:250px}body.light-mode .reviewCard{box-shadow:0 10px 30px #2563eb1a}.reviewHeader{color:var(--color-primary-light);font-weight:700;margin-bottom:1rem;font-size:1.05rem;line-height:1.4}.reviewImageWrapper{width:100%;margin:.8rem 0;border-radius:12px;overflow:hidden;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);cursor:zoom-in}body.light-mode .reviewImageWrapper{background:#00000008;border-color:#00000014}.reviewImage{width:100%;height:180px;object-fit:contain;display:block}.reviewAnswer{color:var(--color-text-secondary);margin-top:.75rem;line-height:1.7;font-size:.95rem}.correctText{color:var(--color-review-correct);font-weight:700}.wrongText{color:var(--color-review-wrong)}.subjectSelectorContainer{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;width:100%;padding:1rem 1rem .5rem}.subjectContent{text-align:center;width:100%;max-width:1200px}.subjectTitle{font-size:clamp(2rem,5vw,3.5rem);font-weight:900;margin-bottom:.5rem;background:linear-gradient(135deg,var(--color-primary-light),var(--color-secondary),#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-1px}.subjectSubtitle{font-size:1.2rem;color:var(--color-text-neutral);margin-bottom:3rem}.subjectGrid{display:grid;width:100%;justify-content:center;padding-bottom:0;grid-template-columns:1fr;gap:1.5rem;max-width:500px;margin:0 auto}.subjectButton{width:100%;height:100%;min-height:220px;padding:2rem 1rem;background:linear-gradient(145deg,#1e293b99,#1e293b4d);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:24px;box-shadow:0 15px 35px #0003;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);color:var(--color-text-main);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden}.subjectButton:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at top right,rgba(59,130,246,.1),transparent 60%);opacity:0;transition:opacity .4s ease}body.light-mode .subjectButton{background:linear-gradient(145deg,#ffffffe6,#fff9);border-color:#fffc;box-shadow:0 15px 35px #0000000d}@media (hover: hover){.subjectButton:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 25px 50px #0000004d;border-color:#3b82f666}body.light-mode .subjectButton:hover{box-shadow:0 25px 50px #2563eb26;border-color:var(--color-primary)}.subjectButton:hover:before{opacity:1}.subjectButton:hover .subjectIcon{transform:scale(1.1) rotate(5deg)}}.subjectButton.selected{border-color:var(--color-primary);box-shadow:0 0 0 4px #3b82f64d,0 20px 40px #0006;transform:translateY(-8px)}.subjectIcon{font-size:3.5rem;margin-bottom:1rem;filter:drop-shadow(0 4px 6px rgba(0,0,0,.1));transition:transform .4s ease}.subjectName{font-size:1.5rem;font-weight:800;margin-bottom:.5rem;letter-spacing:-.5px}.subjectDesc{font-size:.95rem;color:var(--color-text-secondary);line-height:1.5;opacity:.9;max-width:90%}.subjectButton.uploadButton{background:#1e293b4d;border:2px dashed rgba(148,163,184,.3);box-shadow:none}.subjectButton.uploadButton:before{background:radial-gradient(circle at top right,rgba(139,92,246,.15),transparent 60%)}body.light-mode .subjectButton.uploadButton{background:#ffffff4d;border-color:#94a3b866}@media (hover: hover){.subjectButton.uploadButton:hover{border-color:var(--color-secondary);background:#8b5cf60d;transform:translateY(-5px);box-shadow:0 15px 35px #8b5cf61a}}.uploadError{margin:1.5rem auto 0;padding:.8rem 1.2rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:12px;color:var(--color-error);max-width:500px;animation:shake .4s ease-in-out}@media (min-width: 950px){.subjectGrid{grid-template-columns:repeat(3,1fr);width:fit-content;max-width:100%;margin-left:auto;margin-right:auto;gap:2rem}.subjectButton{min-height:320px;padding:2.5rem 1.5rem}.subjectIcon{font-size:4.5rem;margin-bottom:1.5rem}.subjectName{font-size:1.8rem}.subjectDesc{font-size:1rem}}@media (max-width: 600px){.subjectSelectorContainer{align-items:center;padding-top:max(1rem,env(safe-area-inset-top));height:auto}.container{padding:.5rem;padding-top:env(safe-area-inset-top)}.top-navbar{margin-top:0;margin-bottom:.6rem;padding:.5rem .8rem}.quizContentWrapper{padding-top:0}.card{margin-top:0}.title{margin-top:0;margin-bottom:.5rem;font-size:1.8rem}.appHeader{border-radius:0}.admin-card{flex-direction:column;align-items:flex-start}.admin-actions{width:100%;justify-content:flex-end;margin-top:10px;border-top:1px solid rgba(255,255,255,.1);padding-top:10px}.subject-menu-header{flex-direction:column;align-items:flex-start;padding:.5rem;gap:.8rem}.mobile-hide-text,.desktop-name{display:none}.mobile-name{display:inline}.mobile-hidden{display:none!important}.mobile-only{display:inline-flex}.logout-text{display:none}.logout-icon{display:inline-block;font-size:1.2rem;font-weight:700;line-height:1}.logout-btn{padding:0!important;width:32px;height:32px;justify-content:center}.navbar-group{gap:.4rem!important}.top-navbar.navbar-tiered{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"primary actions" "status status";row-gap:.35rem;column-gap:.6rem}.top-navbar.navbar-tiered .nav-primary{grid-area:primary;align-self:center}.top-navbar.navbar-tiered .nav-actions{grid-area:actions;justify-self:end;align-self:center}.top-navbar.navbar-tiered .nav-status{grid-area:status;justify-content:center;width:100%;padding-top:.2rem;border-top:1px solid rgba(148,163,184,.18);flex-wrap:wrap;row-gap:.3rem}.top-navbar.navbar-tiered .subjectBadgeGroup{white-space:normal;flex-wrap:wrap;justify-content:center}.subjectButton{flex-direction:row;align-items:center;justify-content:flex-start;text-align:left;min-height:auto;padding:1.2rem 1.5rem;gap:1.5rem}.subjectIcon{margin-bottom:0;font-size:2.5rem;flex-shrink:0}.subjectName{font-size:1.3rem;margin-bottom:.1rem}.subjectDesc{font-size:.85rem}.subjectButton.uploadButton{justify-content:flex-start}.flashcardHeader{padding:.6rem 1.2rem;border-radius:32px}}.historyPage{position:relative}.historyTitle{text-shadow:0 10px 30px rgba(15,23,42,.55)}.historyStatsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.9rem;margin:.6rem 0 1.8rem}.historyStatCard{background:linear-gradient(145deg,#182136f2,#141b2dd9);border:1px solid rgba(148,163,184,.18);border-radius:16px;padding:1rem .9rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.historyStatCard:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 55%);opacity:.5;pointer-events:none}@media (hover: hover){.historyStatCard:hover{transform:translateY(-3px);box-shadow:0 14px 30px #0f172a66;border-color:#94a3b84d}}.historyStatCardHighlight{background:linear-gradient(140deg,#fbbf2438,#f59e0b1f);border-color:#fbbf2459;box-shadow:0 10px 24px #f59e0b26}.historyStatIcon{font-size:1.4rem;width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.12)}.historyStatContent{display:flex;flex-direction:column;align-items:center;gap:.25rem}.historyStatValue{font-size:1.35rem;font-weight:800;color:var(--color-text-main);letter-spacing:-.3px}.historyStatLabel{font-size:.68rem;text-transform:uppercase;letter-spacing:.6px;color:var(--color-text-neutral);font-weight:600;text-align:center}.historyChartCard{background:linear-gradient(145deg,#151c2ef2,#0f1524eb);border:1px solid rgba(148,163,184,.2);border-radius:22px;padding:1.6rem;margin-bottom:2rem;position:relative;overflow:hidden;box-shadow:0 20px 50px #080c1a73}.historyChartCard:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top,rgba(59,130,246,.14),transparent 60%);pointer-events:none}.historyChartTitle{margin:0 0 1.2rem;text-align:center;font-size:1.05rem;font-weight:700;color:var(--color-text-main);letter-spacing:.2px}.historyChartCanvas{height:240px;width:100%}.historyListHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.3rem .3rem .8rem;border-bottom:1px solid rgba(255,255,255,.08)}.historyListTitle{font-size:1.1rem;margin:0;color:var(--color-text-main)}.historyPageInfo{font-size:.8rem;color:var(--color-text-neutral);font-weight:600;padding:.35rem .6rem;border-radius:999px;border:1px solid rgba(148,163,184,.2);background:#0f172a59}.historyEmpty{text-align:center;padding:3rem 1rem;background:linear-gradient(135deg,var(--color-card-bg-start) 0%,var(--color-card-bg-end) 100%);border-radius:20px;border:1px solid var(--color-card-border);box-shadow:0 12px 30px #0003}.historyEmptyIcon{font-size:3rem;margin-bottom:1rem;opacity:.6}.historyEmpty p{color:var(--color-text-neutral);font-size:1rem;margin:0}.historyList{display:flex;flex-direction:column;gap:.7rem}.historyItem{background:linear-gradient(135deg,var(--color-card-bg-start) 0%,var(--color-card-bg-end) 100%);border:1px solid rgba(148,163,184,.18);border-radius:16px;padding:.95rem 1.2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;animation:slideUp .3s ease both;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;overflow:hidden}.historyItem:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;background:var(--score-color, var(--color-primary));opacity:.6;border-radius:999px}.historyItem:hover{transform:translateY(-2px);box-shadow:0 10px 20px #00000040;border-color:#94a3b859}.historyItemLeft{display:flex;align-items:center;gap:.9rem;flex:1;min-width:0}.historyItemIcon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;border:1px solid;flex-shrink:0}.historyItemInfo{display:flex;flex-direction:column;gap:.2rem;min-width:0}.historyItemMode{font-weight:700;font-size:.95rem;color:var(--color-text-main);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.historyItemSubject{font-size:.75rem;font-weight:600;color:var(--color-text-neutral);background:#ffffff14;padding:.15rem .5rem;border-radius:6px}body.light-mode .historyItemSubject{background:#0000000f}.historyItemDate{font-size:.75rem;color:var(--color-text-neutral)}.historyItemRight{display:flex;align-items:center;gap:.8rem}.historyItemScore{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;padding:.35rem .6rem;border-radius:12px;background:#0f172a59;border:1px solid rgba(255,255,255,.08);min-width:64px}.historyItemPercent{font-size:1.3rem;font-weight:800}.historyItemFraction{font-size:.75rem;color:var(--color-text-neutral)}.historyDeleteBtn{background:#ffffff0f;border:1px solid transparent;cursor:pointer;font-size:1.1rem;opacity:.6;padding:8px;transition:opacity .2s,transform .2s,background .2s,border-color .2s;color:var(--color-text-main);border-radius:10px}.historyItem:hover .historyDeleteBtn{opacity:.9}.historyDeleteBtn:hover{opacity:1;transform:scale(1.05);background:#ef44441f;border-color:#ef444459;color:var(--color-error)}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.historyStatsGrid{grid-template-columns:repeat(3,1fr);gap:.6rem}.historyStatCard{padding:.8rem .5rem;border-radius:12px}.historyStatIcon{font-size:1.2rem;width:32px;height:32px}.historyStatValue{font-size:1.1rem}.historyStatLabel{font-size:.6rem}.historyChartCanvas{height:210px}}@media (max-width: 480px){.historyStatsGrid{grid-template-columns:repeat(2,1fr)}.historyStatCardHighlight{grid-column:span 2}.historyItem{padding:.8rem 1rem;border-radius:14px}.historyItemIcon{width:38px;height:38px;font-size:1.2rem;border-radius:10px}.historyItemMode{font-size:.9rem}.historyItemPercent{font-size:1.1rem}.historyItemRight{gap:.6rem}.historyDeleteBtn{padding:6px;font-size:1rem}}body.light-mode .historyTitle{text-shadow:0 8px 20px rgba(148,163,184,.6)}body.light-mode .historyStatCard{background:linear-gradient(145deg,#fff,#f1f5f9);border-color:#cbd5e1e6}body.light-mode .historyStatCard:after{background:linear-gradient(180deg,rgba(37,99,235,.08),transparent 55%)}body.light-mode .historyStatIcon{background:#2563eb14;border-color:#2563eb2e}body.light-mode .historyChartCard{background:linear-gradient(145deg,#fff,#eef2f7);border-color:#cbd5e1e6;box-shadow:0 14px 30px #94a3b859}body.light-mode .historyChartCard:before{background:radial-gradient(circle at top,rgba(37,99,235,.12),transparent 60%)}body.light-mode .historyListHeader{border-bottom-color:#94a3b859}body.light-mode .historyPageInfo{background:#fff;border-color:#94a3b899;color:#475569}body.light-mode .historyItem{border-color:#cbd5e1cc}body.light-mode .historyItemScore{background:#e2e8f0b3;border-color:#cbd5e1cc}body.light-mode .historyDeleteBtn{background:#94a3b826;color:#475569}.historyPagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;padding:1rem}.historyPaginationBtn{background:linear-gradient(135deg,var(--color-card-bg-start) 0%,var(--color-card-bg-end) 100%);border:1px solid var(--color-card-border);border-radius:10px;padding:.6rem 1rem;color:var(--color-text-main);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.historyPaginationBtn:hover:not(:disabled){border-color:var(--color-primary);transform:translateY(-1px)}.historyPaginationBtn:disabled{opacity:.4;cursor:not-allowed}.historyPaginationDots{display:flex;gap:.5rem}.historyPaginationDot{width:10px;height:10px;border-radius:50%;background:var(--color-card-border);border:none;cursor:pointer;transition:all .2s;padding:0}.historyPaginationDot.active{background:var(--color-primary);transform:scale(1.2)}.historyPaginationDot:hover:not(.active){background:var(--color-text-neutral)}@media (max-width: 480px){.historyPagination{gap:.6rem;padding:.8rem}.historyPaginationBtn{padding:.5rem .8rem;font-size:.8rem}}.reviewControls{display:flex;flex-direction:column;gap:.8rem;margin-bottom:1.5rem}.reviewPageInfo{font-size:.9rem;color:var(--color-text-neutral);text-align:center}.reviewPagination{display:flex;justify-content:center;align-items:center;gap:.8rem;margin-top:2rem;padding:1rem;flex-wrap:wrap}.reviewPaginationBtn{background:linear-gradient(135deg,var(--color-card-bg-start) 0%,var(--color-card-bg-end) 100%);border:1px solid var(--color-card-border);border-radius:10px;padding:.6rem 1rem;color:var(--color-text-main);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.reviewPaginationBtn:hover:not(:disabled){border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.reviewPaginationBtn:disabled{opacity:.4;cursor:not-allowed}.reviewPaginationCurrent{font-size:1rem;font-weight:700;color:var(--color-text-main);padding:0 .5rem}@media (max-width: 480px){.reviewPagination{gap:.5rem;padding:.8rem}.reviewPaginationBtn{padding:.5rem .7rem;font-size:.8rem}.reviewPaginationCurrent{font-size:.9rem}}.loadingScreen{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-bg);background-image:var(--color-bg-gradient);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.loadingCard{background:#ffffff0d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:2rem;padding:3rem 2rem;text-align:center;max-width:400px;width:100%;box-shadow:0 20px 50px #0000004d;animation:cardAppear .5s cubic-bezier(.16,1,.3,1)}.loadingSpinner{width:60px;height:60px;border:4px solid rgba(59,130,246,.1);border-top:4px solid var(--color-primary);border-radius:50%;margin:0 auto 1.5rem;animation:spin 1s linear infinite}.loadingCard h2{font-size:1.5rem;font-weight:800;margin-bottom:.75rem;background:var(--color-primary-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.loadingCard p{color:var(--color-text-secondary);font-size:.95rem;margin-bottom:2rem}.loadingProgressBarContainer{width:100%;height:8px;background:#ffffff0d;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.loadingProgressBarFill{height:100%;background:var(--color-primary-gradient);border-radius:4px;transition:width .3s ease-out}.loadingProgressText{font-size:.85rem;font-weight:700;color:var(--color-primary-light)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes cardAppear{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 900px){.card{height:auto!important;min-height:0!important;overflow:visible!important;display:flex;flex-direction:column}.card .actionButtons,.card button{margin-bottom:5px;flex-shrink:0}}.subject-menu-layout{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2rem;width:100%;max-width:1200px;margin:0 auto;min-height:calc(var(--vh, 100vh) - 120px)}.subject-menu-main{flex:1;width:100%;max-width:1200px;display:flex;flex-direction:column;align-items:center;justify-content:center}.leaderboard-desktop{display:none;width:100%;max-width:420px;margin-top:1rem}.leaderboard-panel{background:linear-gradient(135deg,var(--color-card-bg-start) 0%,var(--color-card-bg-end) 100%);border:1px solid var(--color-card-border);border-radius:24px;padding:1.1rem 1.3rem;color:var(--color-text-main);box-shadow:0 18px 45px #00000059;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.leaderboard-panel h3{margin:0;font-size:1.15rem;font-weight:800;letter-spacing:-.2px}.leaderboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem}.leaderboard-state{color:var(--color-text-neutral);font-size:.95rem;padding:.6rem 0}.leaderboard-state.error{color:var(--color-error)}.leaderboard-list{display:flex;flex-direction:column;gap:.7rem}.leaderboard-row{display:flex;gap:.9rem;padding:.9rem 1rem;border-radius:16px;background:var(--color-card-bg-end);border:1px solid var(--color-card-border);border-left:4px solid transparent;transition:transform .2s ease,border-color .2s ease,background .2s ease}@media (hover: hover){.leaderboard-row:hover{transform:translateY(-2px);border-color:#94a3b873;background:#1e293b8c}body.light-mode .leaderboard-row:hover{border-color:#94a3b880;background:#f8fafc}}.leaderboard-rank{width:42px;display:flex;align-items:center;justify-content:center;font-size:1.3rem}.leaderboard-rank-number{font-weight:700;color:var(--color-text-neutral)}.leaderboard-medal{font-size:1.5rem}.leaderboard-info{flex:1;display:flex;flex-direction:column;gap:.4rem}.leaderboard-topline{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.leaderboard-name{font-weight:700;font-size:1rem}.leaderboard-total{font-weight:700;color:var(--color-primary-light);font-size:.95rem}.leaderboard-details{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--color-text-secondary)}.leaderboard-detail-group{display:flex;flex-wrap:wrap;gap:.6rem}.leaderboard-detail-label{font-weight:600;color:var(--color-text-main)}.leaderboard-mobile-button{display:flex;margin-top:.6rem;width:fit-content;border:1px solid rgba(251,191,36,.45);border-radius:14px;padding:.55rem .9rem;background:linear-gradient(135deg,#fbbf2433,#f59e0b1f);color:#fef3c7;font-weight:700;font-size:.85rem;letter-spacing:.15px;cursor:pointer;transition:all .2s ease;align-items:center;justify-content:center;gap:.4rem;box-shadow:0 8px 18px #1e12044d}.leaderboard-mobile-button:hover{background:linear-gradient(135deg,#fbbf244d,#f59e0b33);border-color:#fbbf2499;transform:translateY(-1px);box-shadow:0 12px 24px #1e120466}.leaderboard-full{width:100%}body.light-mode .leaderboard-panel{background:linear-gradient(135deg,var(--color-card-bg-start) 0%,var(--color-card-bg-end) 100%);border-color:var(--color-card-border);color:#0f172a;box-shadow:0 12px 30px #94a3b840}body.light-mode .leaderboard-row{background:#fff;border-color:#e2e8f0}.leaderboard-row.current-user{border-color:#3b82f673;background:#3b82f61f;box-shadow:0 10px 24px #3b82f633}body.light-mode .leaderboard-row.current-user{border-color:#2563eb59;background:#2563eb14;box-shadow:0 10px 20px #2563eb1f}body.light-mode .leaderboard-rank-number{color:#64748b}body.light-mode .leaderboard-total{color:var(--color-primary)}body.light-mode .leaderboard-details{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--color-text-secondary)}body.light-mode .leaderboard-detail-label{color:#0f172a}body.light-mode .leaderboard-mobile-button{background:linear-gradient(135deg,#fbbf2438,#f59e0b1f);color:#7c2d12;border-color:#f59e0b73;box-shadow:0 8px 18px #d9770640}body.light-mode .leaderboard-mobile-button:hover{background:linear-gradient(135deg,#fbbf2452,#f59e0b33);border-color:#f59e0b99;box-shadow:0 12px 24px #d977064d}@media (min-width: 1024px){.leaderboard-desktop{display:none;position:static;max-height:none;overflow-y:auto}}@media (max-width: 1023px){.subject-menu-layout{flex-direction:column}.leaderboard-mobile-button{align-items:center;justify-content:center;gap:.5rem;max-width:500px;margin-left:auto;margin-right:auto}}.duelMatch{width:100%;max-width:980px;margin:0 auto;padding:1.5rem 1rem 2.5rem;display:flex;flex-direction:column;gap:1rem}.duelMatchHeader{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:1rem 1.2rem;border-radius:20px;background:linear-gradient(155deg,#141c32e0,#101628bf);border:1px solid rgba(79,134,255,.35);box-shadow:0 14px 30px #070a1673}.duelMatchPlayer{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.duelMatchPlayer:last-child{align-items:flex-end;text-align:right}.duelMatchName{font-weight:600}.duelMatchScore{font-size:1.6rem;font-weight:800}.duelMatchScoreline{font-size:1.35rem;font-weight:800;letter-spacing:.03em}.duelMatchCenter{display:flex;flex-direction:column;align-items:center;gap:.35rem}.duelMatchRound{font-size:.95rem;color:var(--color-text-secondary)}.duelMatchTimer{font-weight:700;padding:.3rem .8rem;border-radius:999px;background:#3b82f626;border:1px solid rgba(59,130,246,.4)}.duelMatchTimer.is-opponent-answered{animation:duelTimerPing .6s ease-out 1}@keyframes duelTimerPing{0%{transform:scale(1);box-shadow:0 0 #3b82f600}35%{transform:scale(1.18);box-shadow:0 0 18px #3b82f6bf}70%{transform:scale(1.08);box-shadow:0 0 10px #3b82f673}to{transform:scale(1);box-shadow:0 0 #3b82f600}}.duelMatchTimer.is-warning{background:#f59e0b33;border-color:#f59e0b80;color:#fbbf24}.duelMatchTimer.is-danger{background:#ef444433;border-color:#ef444480;color:#f87171}.duelMatchPhase{font-size:.85rem;color:var(--color-text-secondary)}.duelMatchCard{margin-top:0}.duelMatchLoading{padding:2rem;text-align:center;color:var(--color-text-secondary)}.duelMatchStatus{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.duelMatchStatusBlock{background:#0f172a8c;border:1px solid rgba(148,163,184,.12);border-radius:14px;padding:.8rem;display:flex;flex-direction:column;gap:.3rem}.duelMatchStatusLabel{font-size:.8rem;color:var(--color-text-secondary)}.duelMatchStatusValue{font-weight:700;font-size:1rem}.duelMatchStatusValue.is-correct{color:var(--color-success)}.duelMatchStatusValue.is-wrong{color:var(--color-error)}.duelMatchFinish{text-align:center;padding:1.2rem;border-radius:20px;border:1px solid rgba(59,130,246,.35);background:linear-gradient(160deg,#1e305cd9,#0e1424bf);display:flex;flex-direction:column;gap:.6rem;align-items:center}.duelMatchFinishTitle{font-size:1.3rem;font-weight:800}.duelMatchFinishMeta{color:var(--color-text-secondary);font-size:.9rem}.duelMatchEmpty{text-align:center;color:var(--color-text-secondary);padding:2rem}@media (max-width: 700px){.duelMatchHeader{grid-template-columns:1fr 1fr;grid-template-areas:"me opp" "center center";text-align:center;padding:.7rem .9rem;gap:.6rem}.duelMatchPlayer{grid-area:me;align-items:center;text-align:center}.duelMatchPlayer:last-child{grid-area:opp;align-items:center;text-align:center}.duelMatchCenter{grid-area:center}.duelMatchName{font-size:.9rem}.duelMatchScore{font-size:1.25rem}.duelMatchScoreline{font-size:1.05rem}.duelMatchRound{font-size:.8rem}.duelMatchTimer{font-size:.85rem;padding:.2rem .6rem}.duelMatchPhase{font-size:.8rem}.duelMatchStatus{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.duelMatchStatusBlock:last-child{grid-column:1 / -1}.duelMatchStatusBlock{padding:.6rem}.duelMatchStatusValue{font-size:.95rem}}body.light-mode .duelMatchHeader{background:linear-gradient(155deg,#ffffffeb,#f1f5f9e6);border-color:#94a3b88c;box-shadow:0 12px 28px #0f172a14}body.light-mode .duelMatchRound,body.light-mode .duelMatchPhase{color:#475569}body.light-mode .duelMatchTimer{background:#2563eb1f;border-color:#2563eb59;color:var(--color-primary)}body.light-mode .duelMatchTimer.is-warning{background:#f59e0b33;border-color:#f59e0b73;color:#d97706}body.light-mode .duelMatchTimer.is-danger{background:#ef44442e;border-color:#ef444466;color:#dc2626}body.light-mode .duelMatchLoading,body.light-mode .duelMatchEmpty{color:#64748b}body.light-mode .duelMatchFinish{background:linear-gradient(160deg,#fffffff5,#e2e8f0e6);border-color:#94a3b880;box-shadow:0 12px 28px #0f172a14}body.light-mode .duelMatchFinishMeta{color:#64748b}body.light-mode .duelPanel{background:linear-gradient(155deg,#fffffff5,#f1f5f9e6);border-color:#94a3b873;box-shadow:0 12px 24px #0f172a14}body.light-mode .duelPanelMeta,body.light-mode .duelRowHint,body.light-mode .duelLabel,body.light-mode .duelEmpty,body.light-mode .duelStatsLabel{color:#64748b}body.light-mode .duelPanelIcon{background:#2563eb1f;border-color:#2563eb59;color:var(--color-primary)}body.light-mode .duelRow{background:#f1f5f9e6;border-color:#94a3b859}body.light-mode .duelStatCard{background:#ffffffe6;border-color:#94a3b84d;box-shadow:0 6px 14px #0f172a0f}body.light-mode .duelAlert{background:#f871711f;border-color:#f8717159}body.light-mode .duelInviteBell{background:#2563eb1f;border-color:#2563eb59;color:var(--color-primary);box-shadow:0 8px 16px #2563eb1f}body.light-mode .duelInviteButton{background:#2563eb1f;border-color:#2563eb59;color:var(--color-primary)}body.light-mode .duelInviteButton:hover:not(:disabled){background:#2563eb33;border-color:#2563eb80}body.light-mode .duelLeagueCard{background:transparent}body.light-mode .leagueShield{background:linear-gradient(165deg,#fff9,#e2e8f0f2);border-color:#94a3b866;box-shadow:0 10px 20px #0f172a1f}body.light-mode .leagueShield:after{border-top-color:#e2e8f0f2}body.light-mode .leagueShieldInner{border-color:#94a3b840}body.light-mode .duelLeagueProgressTrack{background:#94a3b859}.duelLeagueCard{display:flex;align-items:center;gap:1rem;padding:.6rem .2rem}.leagueShield{position:relative;width:88px;height:100px;padding:6px;border-radius:18px;border:1px solid rgba(255,255,255,.22);background:linear-gradient(165deg,#ffffff14,#00000059);box-shadow:0 10px 24px #070a1673;flex-shrink:0}.leagueShield:after{content:"";position:absolute;bottom:-12px;left:50%;transform:translate(-50%);border-left:22px solid transparent;border-right:22px solid transparent;border-top:12px solid rgba(15,23,42,.9)}.leagueShieldInner{width:100%;height:100%;border-radius:14px;border:1px solid rgba(255,255,255,.2);background:radial-gradient(circle at 30% 20%,#ffffff59,#0003),linear-gradient(160deg,var(--league-color),rgba(0,0,0,.5));display:flex;align-items:center;justify-content:center}.leagueEmblem{font-size:1.8rem;filter:drop-shadow(0 6px 12px rgba(0,0,0,.35))}.duelLeagueInfo{display:flex;flex-direction:column;gap:.4rem;flex:1}.duelLeagueName{font-size:1.1rem;font-weight:700}.duelLeagueTrophies{color:var(--color-text-secondary);font-size:.95rem}.duelLeagueProgress{display:flex;flex-direction:column;gap:.35rem}.duelLeagueProgressTrack{width:100%;height:10px;background:#0f172a8c;border-radius:999px;border:1px solid rgba(148,163,184,.18);overflow:hidden}.duelLeagueProgressFill{height:100%;border-radius:inherit;box-shadow:0 6px 16px #0003}.duelLeagueProgressText{font-size:.85rem;color:var(--color-text-secondary)}@media (max-width: 700px){.duelLeagueCard{flex-direction:row;align-items:center}.leagueShield{margin-bottom:0}}.duelStatsRow{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.duelStatsItem{display:flex;align-items:baseline;gap:.35rem;padding:.1rem 0}.duelStatsValue{font-weight:700;font-size:1rem}.duelStatsLabel{font-size:.85rem;color:var(--color-text-secondary)}@media (max-width: 700px){.duelStatsRow{gap:.6rem 1rem}}.duelLeagueHeader{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.duelLeagueTrophy{display:flex;align-items:baseline;gap:.35rem}.duelLeagueProgressLabels{display:flex;justify-content:space-between;font-size:.8rem;color:var(--color-text-secondary)}.duelMatchFinishDelta{font-size:1.1rem;font-weight:700}.duelMatchFinishDelta.is-positive{color:var(--color-success)}.duelMatchFinishDelta.is-negative{color:var(--color-error)}.duelRowMeta{display:flex;align-items:center;gap:.4rem;margin-left:.4rem}.duelLeagueMini{width:26px;height:26px;border-radius:50%;background:linear-gradient(150deg,var(--league-color),rgba(0,0,0,.6));display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:.9rem;border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 10px #00000040}.duelTrophyMini{font-size:.85rem;color:var(--color-text-secondary);font-weight:600}@media (max-width: 700px){.duelRowMeta{margin-left:0}}.duelInviteButton{width:32px;height:32px;border-radius:10px;border:1px solid rgba(59,130,246,.4);background:#3b82f626;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:1rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.duelInviteButton:disabled{opacity:.5;cursor:default}@media (hover: hover){.duelInviteButton:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 14px #3b82f659}}.duelRowNameBlock{display:flex;flex-direction:column;gap:.25rem}.duelRowMeta{margin-left:0}.duelPendingPulse{display:inline-flex;align-items:center;gap:.35rem;color:var(--color-primary-light);font-weight:600;animation:duelPulse 1.4s ease-in-out infinite}@keyframes duelPulse{0%,to{opacity:.6}50%{opacity:1}}.duelInviteHeader{display:flex;align-items:center;gap:.7rem}.duelInviteBell{width:40px;height:40px;border-radius:12px;background:#3b82f626;border:1px solid rgba(59,130,246,.35);display:flex;align-items:center;justify-content:center;font-size:1.2rem;animation:bellPulse .6s ease-in-out infinite}@keyframes bellPulse{0%{transform:rotate(0)}25%{transform:rotate(-6deg)}50%{transform:rotate(0)}75%{transform:rotate(6deg)}to{transform:rotate(0)}}.duelInviteBellStatic{animation:none}.duelMatchOpponent{align-items:flex-end}.duelOpponentBanner{display:flex;align-items:center;gap:.5rem}.duelOpponentBanner.is-score-ping{animation:duelScorePing .6s ease-out 1}@keyframes duelScorePing{0%{transform:scale(1);filter:drop-shadow(0 0 0 rgba(34,197,94,0))}35%{transform:scale(1.1);filter:drop-shadow(0 0 18px rgba(34,197,94,.95))}70%{transform:scale(1.04);filter:drop-shadow(0 0 12px rgba(34,197,94,.6))}to{transform:scale(1);filter:drop-shadow(0 0 0 rgba(34,197,94,0))}}.duelOpponentDetails{display:flex;flex-direction:column;gap:.2rem}@media (max-width: 700px){.duelMatchOpponent{align-items:center}.duelOpponentBanner{justify-content:center}}.duelMatchSelf{align-items:flex-start}@media (max-width: 700px){.duelMatchSelf{align-items:center}}
