:root{--pastel-pink: #FFB6C1;--pastel-blue: #A8D8EA;--pastel-green: #B5EAD7;--pastel-yellow: #FFEAA7;--pastel-purple: #C3AED6;--pastel-orange: #FFDAB9;--pastel-coral: #FFB7B2;--bg-gradient: linear-gradient(135deg, #FFF5E4 0%, #FFE8F0 30%, #E8F4FD 60%, #F0FFF4 100%);--card-bg: rgba(255, 255, 255, .92);--text-dark: #2D3436;--text-medium: #636E72;--text-light: #B2BEC3;--shadow-soft: 0 8px 32px rgba(0, 0, 0, .08);--shadow-hover: 0 12px 40px rgba(0, 0, 0, .14);--radius: 20px;--radius-lg: 28px;--radius-sm: 12px;--transition: all .3s cubic-bezier(.4, 0, .2, 1);--accent-blue: #0984e3;--accent-purple: #6c5ce7;--accent-green: #00b894;--accent-red: #d63031;--accent-orange: #e17055}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:Vazirmatn,Tahoma,sans-serif;background:var(--bg-gradient);background-attachment:fixed;min-height:100vh;min-height:100dvh;direction:rtl;color:var(--text-dark);overflow-x:hidden;-webkit-tap-highlight-color:transparent;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.bg-shapes{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:0;overflow:hidden}.bg-shape{position:absolute;border-radius:50%;opacity:.12;animation:floatShape 22s ease-in-out infinite}.bg-shape:nth-child(1){width:320px;height:320px;background:var(--pastel-pink);top:-60px;right:-80px;animation-delay:0s}.bg-shape:nth-child(2){width:220px;height:220px;background:var(--pastel-blue);bottom:8%;left:-50px;animation-delay:-5s}.bg-shape:nth-child(3){width:260px;height:260px;background:var(--pastel-green);top:38%;right:55%;animation-delay:-10s}.bg-shape:nth-child(4){width:190px;height:190px;background:var(--pastel-yellow);bottom:-40px;right:25%;animation-delay:-15s}.bg-shape:nth-child(5){width:160px;height:160px;background:var(--pastel-purple);top:12%;left:8%;animation-delay:-8s}.bg-shape:nth-child(6){width:140px;height:140px;background:var(--pastel-orange);top:60%;right:10%;animation-delay:-12s}@keyframes floatShape{0%,to{transform:translate(0) scale(1) rotate(0)}25%{transform:translate(30px,-35px) scale(1.06) rotate(3deg)}50%{transform:translate(-25px,25px) scale(.94) rotate(-2deg)}75%{transform:translate(18px,12px) scale(1.03) rotate(1deg)}}.navbar{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:10px 16px;padding-top:max(10px,env(safe-area-inset-top,0px));padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));background:#ffffffbf;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.5)}.navbar-right,.navbar-left{display:flex;align-items:center;gap:6px}.nav-btn{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:none;border-radius:var(--radius-sm);background:transparent;font-size:1.3rem;cursor:pointer;transition:var(--transition);font-family:Vazirmatn,sans-serif}.nav-btn:hover{background:#0000000f;transform:scale(1.08)}.nav-avatar{font-size:1.5rem}.nav-admin-btn{font-size:1.1rem;opacity:.6}.nav-admin-btn:hover{opacity:1}.screen{display:none;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:calc(70px + env(safe-area-inset-top,0px)) 20px calc(28px + env(safe-area-inset-bottom,0px));position:relative;z-index:1}.screen.active{display:flex;animation:fadeInScreen .5s ease-out}@keyframes fadeInScreen{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.screen-exit{animation:fadeOutScreen .28s ease-in forwards!important}@keyframes fadeOutScreen{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-16px)}}.card{background:var(--card-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:40px 36px;max-width:540px;width:100%;text-align:center;border:1px solid rgba(255,255,255,.55);animation:cardPop .5s cubic-bezier(.34,1.56,.64,1);position:relative}.reading-card{max-width:640px}.admin-card{text-align:right}@keyframes cardPop{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}.app-title{font-size:3.6rem;font-weight:900;background:linear-gradient(135deg,#ff6b6b,#ee5a24,#f0932b,#e056a0,#a29bfe);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:6px;letter-spacing:-1px;animation:titleShimmer 4s ease-in-out infinite,titleBounce 3s ease-in-out infinite}@keyframes titleShimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes titleBounce{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.app-subtitle{font-size:.95rem;color:var(--text-medium);margin-bottom:32px;font-weight:400;letter-spacing:.5px}.screen-title{font-size:1.7rem;font-weight:700;color:var(--text-dark);margin-bottom:18px;line-height:1.6}.screen-question{font-size:1.5rem;font-weight:600;color:var(--text-dark);margin-bottom:28px;line-height:1.8}.section-title{font-size:1.15rem;font-weight:700;color:var(--text-dark);margin-bottom:14px}.mascot{font-size:4.2rem;margin-bottom:12px;display:inline-block;animation:mascotWave 2.5s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.08))}@keyframes mascotWave{0%,to{transform:rotate(0) scale(1)}15%{transform:rotate(12deg) scale(1.05)}30%{transform:rotate(-8deg) scale(1)}45%{transform:rotate(8deg) scale(1.03)}60%{transform:rotate(-5deg) scale(1)}}.input-field{width:100%;padding:14px 20px;border:2.5px solid #E8E8E8;border-radius:var(--radius);font-family:Vazirmatn,sans-serif;font-size:1.1rem;direction:rtl;text-align:right;background:#fafafa;color:var(--text-dark);transition:var(--transition);outline:none}.input-field:focus{border-color:#74b9ff;background:#fff;box-shadow:0 0 0 4px #74b9ff33}.input-field::placeholder{color:#b8b8b8}.input-small{width:auto;min-width:80px;max-width:140px;padding:8px 14px;font-size:.95rem;display:inline-block}.textarea-field{width:100%;min-height:200px;padding:16px 20px;border:2.5px solid #E8E8E8;border-radius:var(--radius);font-family:Vazirmatn,sans-serif;font-size:1.05rem;direction:rtl;text-align:right;background:#fafafa;color:var(--text-dark);transition:var(--transition);outline:none;resize:vertical;line-height:2.2}.textarea-field:focus{border-color:#74b9ff;background:#fff;box-shadow:0 0 0 4px #74b9ff33}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 36px;border:none;border-radius:var(--radius);font-family:Vazirmatn,sans-serif;font-size:1.15rem;font-weight:700;cursor:pointer;transition:var(--transition);position:relative;overflow:hidden;user-select:none;-webkit-user-select:none}.btn:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%);transition:width .5s,height .5s}.btn:active:after{width:350px;height:350px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-primary{background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff;box-shadow:0 5px 18px #ee5a244d}.btn-primary:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 28px #ee5a2466}.btn-primary:active:not(:disabled){transform:translateY(-1px) scale(.98)}.btn-secondary{background:linear-gradient(135deg,#dfe6e9,#b2bec3);color:var(--text-dark);box-shadow:0 3px 12px #00000014}.btn-secondary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #0000001f}.btn-ghost{background:transparent;color:var(--text-medium);padding:10px 24px;font-size:1rem;font-weight:600}.btn-ghost:hover{background:#0000000a;color:var(--text-dark)}.btn-danger-outline{background:transparent;color:var(--accent-red);border:2px solid var(--accent-red);padding:10px 24px;font-size:.95rem;font-weight:600;width:100%;border-radius:var(--radius-sm)}.btn-danger-outline:hover{background:#d630310f}.grade-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:100%}.btn-grade{display:flex;flex-direction:column;align-items:center;gap:6px;padding:22px 16px;border-radius:var(--radius);font-family:Vazirmatn,sans-serif;font-weight:800;color:#fff;border:none;cursor:pointer;transition:var(--transition);overflow:hidden;-webkit-user-select:none;user-select:none}.grade-emoji{font-size:2rem}.grade-label{font-size:1.15rem}.btn-grade:hover{transform:translateY(-4px) scale(1.03)}.btn-grade-1{background:linear-gradient(135deg,#74b9ff,#0984e3);box-shadow:0 5px 18px #0984e34d}.btn-grade-2{background:linear-gradient(135deg,#55efc4,#00b894);box-shadow:0 5px 18px #00b8944d}.btn-grade-3{background:linear-gradient(135deg,#ffeaa7,#fdcb6e);box-shadow:0 5px 18px #fdcb6e4d;color:#5a4e3a}.btn-grade-4{background:linear-gradient(135deg,#a29bfe,#6c5ce7);box-shadow:0 5px 18px #6c5ce74d}.btn-grade-5{background:linear-gradient(135deg,#fd79a8,#e84393);box-shadow:0 5px 18px #e843934d}.btn-grade-6{background:linear-gradient(135deg,#e17055,#d63031);box-shadow:0 5px 18px #d630314d}.btn-success{background:linear-gradient(135deg,#55efc4,#00b894);color:#fff;box-shadow:0 5px 18px #00b89459;padding:20px 50px;font-size:1.5rem;border-radius:24px}.btn-success:hover:not(:disabled){transform:translateY(-4px) scale(1.03);box-shadow:0 10px 28px #00b89473}.btn-success:active:not(:disabled){transform:scale(.96)}.btn-skip{background:#0000000f;color:var(--text-medium);padding:12px 28px;font-size:1rem;font-weight:600;border-radius:var(--radius)}.btn-skip:hover:not(:disabled){background:#0000001a;color:var(--text-dark)}.btn-group{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:16px}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%}.mode-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 18px;border-radius:var(--radius);border:3px solid transparent;cursor:pointer;transition:var(--transition);font-family:Vazirmatn,sans-serif;text-align:center}.mode-competition{background:linear-gradient(135deg,#fff5e4,#ffe8d6);border-color:#ffdab9}.mode-practice{background:linear-gradient(135deg,#e8f4fd,#d6eaf8);border-color:#a8d8ea}.mode-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.mode-icon{font-size:2.5rem}.mode-title{font-size:1.3rem;font-weight:800;color:var(--text-dark)}.mode-desc{font-size:.85rem;color:var(--text-medium);line-height:1.6}.user-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;width:100%}.user-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 10px;border-radius:var(--radius);border:2px solid #EEE;background:#fff;cursor:pointer;transition:var(--transition);font-family:Vazirmatn,sans-serif}.user-card:hover{border-color:var(--accent-blue);transform:translateY(-3px);box-shadow:0 6px 18px #0984e326}.user-card-avatar{font-size:2.2rem}.user-card-name{font-size:.95rem;font-weight:700;color:var(--text-dark)}.user-card-badge{font-size:.75rem;color:var(--text-medium);background:#f0f0f0;padding:2px 8px;border-radius:10px}.welcome-back{margin-top:20px}.welcome-back-text{font-size:1.3rem;color:var(--text-dark);margin-bottom:8px}.divider{display:flex;align-items:center;gap:14px;margin:20px 0;color:var(--text-light);font-size:.9rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#e0e0e0}.avatar-picker{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.avatar-option{width:44px;height:44px;border:2px solid #E0E0E0;border-radius:50%;background:#fff;font-size:1.4rem;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center}.avatar-option:hover{border-color:var(--accent-blue);transform:scale(1.15)}.avatar-option.selected{border-color:var(--accent-blue);background:#e8f4fd;transform:scale(1.15);box-shadow:0 0 0 3px #0984e333}.profile-avatar{font-size:5rem;cursor:pointer;margin-bottom:8px;position:relative;display:inline-block;transition:var(--transition)}.profile-avatar:hover{transform:scale(1.1)}.avatar-edit-hint{position:absolute;bottom:-4px;right:-4px;font-size:1.2rem;background:#fff;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0000001f}.reading-header{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:16px}.timer-container{display:flex;align-items:center;gap:10px}.timer-icon{font-size:2rem;animation:timerTick 1s ease-in-out infinite}@keyframes timerTick{0%,to{transform:rotate(0)}25%{transform:rotate(5deg)}75%{transform:rotate(-5deg)}}.timer-display{font-size:2.4rem;font-weight:900;color:var(--text-dark);font-variant-numeric:tabular-nums;min-width:100px;transition:color .3s ease}.timer-display.warning{color:var(--accent-orange);animation:timerPulse .7s ease-in-out infinite}.timer-display.danger{color:var(--accent-red);animation:timerPulse .4s ease-in-out infinite}@keyframes timerPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.reading-controls{display:flex;gap:8px;align-items:center}.ai-badge{font-size:.7rem;font-weight:700;padding:4px 8px;border-radius:999px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;letter-spacing:.02em}.control-btn{width:40px;height:40px;border:none;border-radius:50%;background:#0000000f;font-size:1.2rem;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center}.control-btn:hover{background:#0000001a}.progress-container{width:100%;margin-bottom:16px}.progress-bar-bg{width:100%;height:12px;background:#eee;border-radius:10px;overflow:hidden;box-shadow:inset 0 2px 4px #0000000f}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#55efc4,#00b894,#0984e3);background-size:200% 100%;border-radius:10px;transition:width .5s cubic-bezier(.4,0,.2,1);animation:progressShine 2s ease-in-out infinite}@keyframes progressShine{0%{background-position:0% 0%}to{background-position:200% 0%}}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-top:6px}.progress-text{font-size:.88rem;color:var(--text-medium);font-weight:500}.progress-skipped{font-size:.8rem;color:var(--accent-orange);font-weight:500}.reading-text{font-size:3rem;font-weight:800;color:var(--text-dark);line-height:1.9;padding:40px 16px;min-height:160px;display:flex;align-items:center;justify-content:center;word-break:break-word}.reading-text.text-medium{font-size:2.2rem}.reading-text.text-small{font-size:1.6rem;line-height:2.2}.reading-text.animate-in{animation:wordAppear .5s cubic-bezier(.34,1.56,.64,1)}@keyframes wordAppear{0%{opacity:0;transform:scale(.65) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.reading-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;width:100%}.reading-actions .btn{width:100%;max-width:100%}.pause-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;z-index:10}.pause-content{text-align:center}.pause-icon{font-size:4rem;display:block;margin-bottom:12px}.pause-content p{font-size:1.4rem;font-weight:700;margin-bottom:20px;color:var(--text-dark)}.sparkle-container{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:1000}.sparkle{position:absolute;border-radius:50%;animation:sparkleAnim 1s ease-out forwards}@keyframes sparkleAnim{0%{transform:scale(0) translateY(0) rotate(0);opacity:1}50%{transform:scale(1.3) translateY(-70px) rotate(180deg);opacity:.8}to{transform:scale(.4) translateY(-140px) rotate(360deg);opacity:0}}.confetti{position:absolute;border-radius:3px;animation:confettiAnim 2.5s ease-out forwards}@keyframes confettiAnim{0%{transform:translateY(0) rotate(0) scale(1);opacity:1}to{transform:translateY(100vh) rotate(900deg) scale(.5);opacity:0}}.star-burst{position:absolute;font-size:1.6rem;animation:starBurst .9s ease-out forwards;pointer-events:none}@keyframes starBurst{0%{transform:scale(0) translate(0);opacity:1}to{transform:scale(1.2) translate(var(--tx),var(--ty));opacity:0}}.result-emoji{font-size:5rem;margin-bottom:10px;animation:emojiPop .7s cubic-bezier(.34,1.56,.64,1);filter:drop-shadow(0 6px 12px rgba(0,0,0,.1))}@keyframes emojiPop{0%{transform:scale(0) rotate(-25deg)}to{transform:scale(1) rotate(0)}}.result-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;width:100%;margin:20px 0}.stat-card{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:var(--radius-sm);padding:16px 12px;box-shadow:0 3px 14px #0000000d;border:1px solid rgba(0,0,0,.04);transition:var(--transition)}.stat-card:hover{transform:translateY(-2px)}.stat-card.stat-highlight{background:linear-gradient(135deg,#e8f4fd,#d6eaf8);border-color:#0984e326}.stat-card.stat-large{grid-column:1 / -1}.stat-value{font-size:1.8rem;font-weight:800;color:var(--accent-blue)}.stat-label{font-size:.82rem;color:var(--text-medium);margin-top:4px;font-weight:500}.result-message{font-size:1.1rem;color:var(--text-dark);line-height:2;margin:18px 0;padding:16px 20px;background:linear-gradient(135deg,#fff5e4,#ffe8f0,#e8f4fd);border-radius:var(--radius);font-weight:500}.achievements-list{display:flex;flex-direction:column;gap:10px;width:100%;text-align:right}.achievement-card{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:var(--radius-sm);border:2px solid transparent;transition:var(--transition)}.achievement-card.earned{background:linear-gradient(135deg,#fff5e4,#fff);border-color:#ffeaa7}.achievement-card.locked{background:#f5f5f5;opacity:.6}.achievement-card.new{background:linear-gradient(135deg,#fff5e4,#ffe8d6);border-color:gold;animation:achievementPop .5s cubic-bezier(.34,1.56,.64,1)}@keyframes achievementPop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.achievement-icon{font-size:2rem;min-width:40px;text-align:center}.achievement-info{flex:1}.achievement-info strong{display:block;font-size:1rem;margin-bottom:2px}.achievement-info p{font-size:.85rem;color:var(--text-medium);margin:0}.achievement-points{font-size:.75rem;color:var(--accent-orange);font-weight:600}.achievement-check{font-size:1.2rem}.achievements-preview{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.achievement-mini{font-size:1.6rem;cursor:default}.achievement-more{font-size:.9rem;color:var(--text-medium);display:flex;align-items:center}.new-achievements{margin:16px 0;padding:16px;background:linear-gradient(135deg,#fff5e4,#fff);border-radius:var(--radius);border:2px solid #FFD700}.achievement-title{font-size:1.15rem;margin-bottom:12px;text-align:center}.streak-section{background:linear-gradient(135deg,#fff5e4,#ffe8d6);border-radius:var(--radius);padding:20px}.streak-display{display:flex;justify-content:center;gap:40px}.streak-current,.streak-best{text-align:center}.streak-number{font-size:2.5rem;font-weight:900;display:block;color:var(--accent-orange)}.streak-label{font-size:.85rem;color:var(--text-medium)}.streak-badge{font-size:.75rem;margin-right:4px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;width:100%}.session-list{display:flex;flex-direction:column;gap:8px}.session-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#f8f9fa;border-radius:var(--radius-sm);font-size:.9rem}.session-info{display:flex;align-items:center;gap:10px}.session-mode{font-size:1.2rem}.session-score{font-weight:700;color:var(--text-dark)}.session-date{color:var(--text-light);font-size:.8rem}.leaderboard-tabs{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-bottom:20px}.tab-btn{padding:8px 18px;border:2px solid #E0E0E0;border-radius:var(--radius-sm);background:#fff;font-family:Vazirmatn,sans-serif;font-size:.9rem;font-weight:600;cursor:pointer;transition:var(--transition);color:var(--text-medium)}.tab-btn:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.tab-btn.active{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.leaderboard-section{width:100%}.leaderboard-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -4px;padding:0 4px 4px}.leaderboard-table{width:100%;min-width:320px;border-collapse:separate;border-spacing:0 6px}.leaderboard-table th{background:linear-gradient(135deg,#74b9ff,#0984e3);color:#fff;padding:12px 14px;font-weight:600;font-size:.9rem}.leaderboard-table th:first-child{border-radius:0 12px 12px 0}.leaderboard-table th:last-child{border-radius:12px 0 0 12px}.leaderboard-table td{background:#fff;padding:11px 14px;font-size:.95rem;font-weight:500;border-top:1px solid #F0F0F0;border-bottom:1px solid #F0F0F0}.leaderboard-table tr td:first-child{border-radius:0 10px 10px 0;border-right:1px solid #F0F0F0}.leaderboard-table tr td:last-child{border-radius:10px 0 0 10px;border-left:1px solid #F0F0F0}.leaderboard-table tbody tr:hover td{background:#f8f9fa}.leaderboard-table tr.top-rank td{background:linear-gradient(135deg,#fffaf0,#fff)}.name-cell{display:flex;align-items:center;gap:8px}.leaderboard-avatar{font-size:1.3rem}.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;font-weight:700;font-size:.8rem}.rank-1{background:linear-gradient(135deg,gold,orange);color:#fff;box-shadow:0 2px 8px #ffa5004d}.rank-2{background:linear-gradient(135deg,silver,#a0a0a0);color:#fff}.rank-3{background:linear-gradient(135deg,#cd7f32,#b8860b);color:#fff}.rank-other{background:#f0f0f0;color:var(--text-medium)}.empty-leaderboard{text-align:center;padding:28px;color:var(--text-medium);font-size:1rem;font-weight:500}.category-tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.category-tab{padding:6px 16px;border:2px solid #E0E0E0;border-radius:20px;background:#fff;font-family:Vazirmatn,sans-serif;font-size:.85rem;font-weight:600;cursor:pointer;transition:var(--transition);color:var(--text-medium)}.category-tab:hover{border-color:var(--accent-purple)}.category-tab.active{background:var(--accent-purple);color:#fff;border-color:var(--accent-purple)}.text-input-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.word-count{font-size:.85rem;color:var(--text-medium);font-weight:500}.toggle-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.85rem;color:var(--text-medium);font-weight:500;-webkit-user-select:none;user-select:none}.toggle-label input{display:none}.toggle-switch{width:40px;height:22px;background:#ddd;border-radius:11px;position:relative;transition:var(--transition)}.toggle-switch:after{content:"";position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:var(--transition);box-shadow:0 1px 3px #00000026}.toggle-label input:checked+.toggle-switch{background:var(--accent-blue)}.toggle-label input:checked+.toggle-switch:after{right:20px}.admin-tabs{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.admin-tab{padding:8px 16px;border:2px solid #E0E0E0;border-radius:var(--radius-sm);background:#fff;font-family:Vazirmatn,sans-serif;font-size:.85rem;font-weight:600;cursor:pointer;transition:var(--transition);color:var(--text-medium)}.admin-tab:hover{border-color:var(--accent-blue)}.admin-tab.active{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.admin-section{width:100%}.settings-grid{display:flex;flex-direction:column;gap:12px}.setting-item{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.setting-item label{font-weight:600;min-width:80px;font-size:.95rem}.setting-hint{font-size:.8rem;color:var(--text-light)}.admin-actions{display:flex;flex-direction:column;gap:8px}.grade-selector{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.error-text{color:var(--accent-red);font-size:.9rem;font-weight:600}.success-text{color:var(--accent-green);font-size:.9rem;font-weight:600}.loading-text{font-size:1.05rem;color:var(--text-medium);padding:36px 20px;font-weight:500;display:flex;flex-direction:column;align-items:center;gap:12px}.loading-spinner{width:32px;height:32px;border:3px solid #E0E0E0;border-top-color:var(--accent-blue);border-radius:50%;animation:spin .7s linear infinite}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-20{margin-bottom:20px}.mb-24{margin-bottom:24px}.mb-32{margin-bottom:32px}.text-hint{font-size:.88rem;color:var(--text-medium);margin-top:4px;font-weight:400}.shake{animation:shakeAnim .45s ease-in-out}@keyframes shakeAnim{0%,to{transform:translate(0)}20%{transform:translate(-10px)}40%{transform:translate(10px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.bounce{animation:bounceAnim .5s cubic-bezier(.34,1.56,.64,1)}@keyframes bounceAnim{0%{transform:scale(1)}40%{transform:scale(.9)}to{transform:scale(1)}}@media(pointer:coarse){.nav-btn,.control-btn,.font-size-btn,.tab-btn,.admin-tab{min-width:44px;min-height:44px}.btn-grade,.mode-card,.user-card{min-height:48px}.reading-actions .btn{min-height:52px;font-size:1.2rem}.btn:active:not(:disabled),.btn-grade:active,.mode-card:active{transform:scale(.98)}}@media(max-width:768px){.screen.active{justify-content:flex-start;padding-top:calc(64px + env(safe-area-inset-top,0px));padding-left:max(14px,env(safe-area-inset-left,0px));padding-right:max(14px,env(safe-area-inset-right,0px));padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}.input-field,.textarea-field,select.input-field{font-size:16px}.navbar-title-btn{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem}.reading-header{flex-wrap:wrap;gap:12px;justify-content:center}.timer-container{width:100%;justify-content:center}.reading-controls{width:100%;justify-content:center;flex-wrap:wrap}.font-size-controls{flex-wrap:wrap}.font-size-btn{min-width:44px;padding:10px 14px}.setting-item{flex-direction:column;align-items:stretch;text-align:right}.setting-item label{min-width:0}.setting-item .input-field,.setting-item select{width:100%;max-width:none}.admin-tabs,.leaderboard-tabs,.grade-selector{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;justify-content:flex-start;padding-bottom:4px;scrollbar-width:none}.admin-tabs::-webkit-scrollbar,.leaderboard-tabs::-webkit-scrollbar,.grade-selector::-webkit-scrollbar{display:none}.admin-tab,.tab-btn{flex-shrink:0}.session-restore-actions{flex-direction:column}.session-restore-actions .btn{width:100%}}@media(max-width:600px){.card{padding:28px 20px;border-radius:var(--radius)}.app-title{font-size:2.6rem}.screen-title{font-size:1.35rem}.screen-question{font-size:1.2rem}.reading-text{font-size:2.2rem;padding:28px 12px}.reading-text.text-medium{font-size:1.6rem}.reading-text.text-small{font-size:1.2rem}.timer-display{font-size:1.8rem}.grade-grid{grid-template-columns:1fr 1fr;gap:10px}.btn-grade{padding:16px 10px}.grade-emoji{font-size:1.5rem}.grade-label{font-size:.95rem}.mode-grid{grid-template-columns:1fr}.btn-success{font-size:1.3rem;padding:16px 40px}.result-stats{grid-template-columns:repeat(2,1fr)}.btn-group{flex-direction:column;width:100%}.btn-group .btn{width:100%}.mascot{font-size:3.2rem}.user-grid{grid-template-columns:repeat(2,1fr)}.leaderboard-tabs{gap:4px}.tab-btn{padding:6px 12px;font-size:.8rem}.admin-tabs{gap:4px}.admin-tab{padding:6px 10px;font-size:.78rem}.navbar{padding:8px 12px}.nav-btn{width:36px;height:36px;font-size:1.1rem}.stat-value{font-size:1.5rem}.stat-label{font-size:.75rem}.reading-card{padding:24px 16px}.pause-overlay{border-radius:var(--radius)}.nav-settings-menu{left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));min-width:0;width:auto}}@media(max-width:380px){.app-title{font-size:2.2rem}.reading-text{font-size:1.8rem}.card{padding:22px 14px}.grade-grid{grid-template-columns:1fr}}@media(min-width:601px)and (max-width:1024px){.screen{padding:calc(80px + env(safe-area-inset-top,0px)) 32px calc(32px + env(safe-area-inset-bottom,0px))}.card{max-width:620px;padding:40px 36px}.reading-card{max-width:680px}.admin-card{max-width:720px}.reading-text{font-size:3rem}.grade-grid{grid-template-columns:repeat(3,1fr);gap:14px}.mode-grid{grid-template-columns:1fr 1fr;gap:16px}.result-stats{grid-template-columns:repeat(4,1fr)}.user-grid{grid-template-columns:repeat(3,1fr)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}}@media(max-height:500px)and (orientation:landscape){.screen.active{justify-content:flex-start;padding-top:calc(56px + env(safe-area-inset-top,0px));padding-bottom:12px}.mascot{font-size:2.4rem;margin-bottom:4px}.app-title{font-size:2rem}.reading-text{font-size:1.6rem!important;min-height:80px;padding:16px 8px}.reading-card{padding:16px}.timer-display{font-size:1.5rem}}.btn:focus-visible,.btn-grade:focus-visible,.input-field:focus-visible,.textarea-field:focus-visible,.nav-btn:focus-visible,.tab-btn:focus-visible,.user-card:focus-visible,.avatar-option:focus-visible,.mode-card:focus-visible{outline:3px solid #74b9ff;outline-offset:3px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media print{.bg-shapes,.sparkle-container,.navbar{display:none!important}}.section-subtitle{font-size:1rem;font-weight:600;color:var(--text-medium);margin-bottom:12px}.admin-flash{padding:10px 16px;border-radius:var(--radius-sm);background:#ffffffb3;text-align:center;animation:fadeSlideIn .35s ease}.admin-add-category{padding:20px;border-radius:var(--radius);background:linear-gradient(135deg,#a8d8ea26,#c5aed61f);border:1px dashed rgba(108,92,231,.25)}.add-category-row{display:grid;grid-template-columns:1fr 1fr 120px auto;gap:10px;align-items:center}@media(max-width:600px){.add-category-row{grid-template-columns:1fr}}.card{animation:cardEntrance .55s cubic-bezier(.34,1.56,.64,1)}@keyframes cardEntrance{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0000001f;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#0003}.skip-link{position:absolute;top:-100px;right:16px;z-index:1000;padding:10px 16px;background:var(--accent-purple);color:#fff;border-radius:var(--radius-sm);text-decoration:none;font-weight:600;transition:top .2s}.skip-link:focus{top:16px;outline:3px solid var(--pastel-yellow)}.offline-banner{position:fixed;top:calc(56px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);z-index:99;display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;max-width:calc(100% - 32px);box-shadow:var(--shadow-soft);animation:fadeSlideIn .35s ease}.offline-banner-offline{background:linear-gradient(135deg,#ffeaa7,#fdcb6e);color:#6c5c2e}.offline-banner-sync{background:linear-gradient(135deg,#a8d8ea,#74b9ff);color:#2d3436}.offline-banner-dismiss{background:none;border:none;cursor:pointer;padding:4px 8px;font-size:1rem;opacity:.7}.offline-warning{padding:10px 14px;border-radius:var(--radius-sm);background:#ffeaa780;color:#6c5c2e;font-size:.9rem;text-align:center}.privacy-note{font-size:.8rem;color:var(--text-light);text-align:center;line-height:1.6}.parent-gate-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#2d343673;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeSlideIn .25s ease}.parent-gate-modal{background:var(--card-bg);border-radius:var(--radius-lg);padding:28px 24px;max-width:400px;width:100%;box-shadow:var(--shadow-hover)}.parent-gate-hint{padding:8px 12px;background:#6c5ce71a;border-radius:var(--radius-sm);font-size:.88rem;color:var(--accent-purple)}.textarea-locked{background:#00000008;cursor:pointer}.navbar-title-btn{background:none;border:none;font-family:inherit;font-size:.95rem;font-weight:700;color:var(--text-dark);cursor:pointer;padding:6px 12px;border-radius:var(--radius-sm)}.navbar-title-btn:focus-visible{outline:2px solid var(--accent-purple)}.nav-settings-menu{position:absolute;top:100%;left:12px;z-index:110;background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow-hover);min-width:180px;overflow:hidden;animation:fadeSlideIn .2s ease}.nav-menu-item{display:block;width:100%;padding:12px 16px;border:none;background:none;font-family:inherit;font-size:.95rem;text-align:right;cursor:pointer;transition:var(--transition)}.nav-menu-item:hover{background:#a8d8ea40}.nav-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:105}.session-restore-banner{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:98;background:var(--card-bg);padding:16px 20px;border-radius:var(--radius);box-shadow:var(--shadow-hover);max-width:calc(100% - 32px);text-align:center}.session-restore-actions{display:flex;gap:10px;justify-content:center;margin-top:12px}.btn-sm{padding:8px 16px;font-size:.88rem}.reading-greeting{text-align:center;font-weight:600;color:var(--accent-purple);margin-bottom:12px}.font-size-controls{display:flex;justify-content:center;gap:8px;margin-bottom:16px}.font-size-btn{padding:6px 12px;border:2px solid rgba(0,0,0,.08);border-radius:var(--radius-sm);background:#fff9;font-family:inherit;font-weight:700;cursor:pointer;transition:var(--transition)}.font-size-btn.active{border-color:var(--accent-purple);background:#6c5ce71f;color:var(--accent-purple)}.font-size-small{font-size:1.6rem!important}.font-size-medium{font-size:2.2rem!important}.font-size-large{font-size:2.8rem!important}.font-size-auto{font-size:2.4rem}.verify-hint{text-align:center;font-size:.95rem;color:var(--accent-purple);margin:12px 0;min-height:1.4em}.btn-tts-word{width:100%;min-height:48px;margin:12px 0 8px;padding:12px 20px;border:2px solid rgba(9,132,227,.35);border-radius:var(--radius);background:linear-gradient(135deg,#74b9ff33,#0984e31f);color:var(--accent-blue);font-family:inherit;font-size:1rem;font-weight:700;cursor:pointer;transition:var(--transition)}.btn-tts-word:hover:not(:disabled){background:linear-gradient(135deg,#74b9ff59,#0984e333)}.btn-tts-word:disabled{opacity:.5;cursor:not-allowed}.speech-auto-toggle{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--text-medium);margin-bottom:12px;cursor:pointer}.speech-auto-toggle input{accent-color:var(--accent-blue)}.audio-engine-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:4px 0 12px;font-size:.78rem;font-weight:700}.engine-ok,.engine-warn{padding:4px 10px;border-radius:999px}.engine-ok{background:#00b8941f;color:var(--accent-green)}.engine-warn{background:#e170551f;color:var(--accent-orange)}.repeat-instruction{width:100%;margin:8px 0 12px;padding:12px 14px;border-radius:var(--radius-sm);background:#ffeaa752;border:1px solid rgba(225,112,85,.18);color:var(--text-dark);font-size:.9rem;line-height:1.9;text-align:center}.repeat-instruction strong{color:var(--accent-purple);font-weight:900}.repeat-instruction span{color:var(--accent-orange);font-size:.82rem}.repeat-instruction small{display:block;margin-top:4px;color:var(--text-medium);font-size:.78rem}.speech-status-panel{width:100%;margin:8px 0 16px;padding:14px 16px;border-radius:var(--radius);border:2px solid rgba(108,92,231,.2);background:#ffffffa6;text-align:right;transition:var(--transition)}.speech-status-panel.phase-listening{border-color:#d6303180;background:linear-gradient(135deg,#ff767526,#fffc);animation:listenGlow 1.2s ease-in-out infinite}.speech-status-panel.phase-preparing,.speech-status-panel.phase-transcribing{border-color:#fdcb6e99;background:linear-gradient(135deg,#ffeaa759,#ffffffd9)}.speech-status-panel.phase-success{border-color:#00b89480;background:linear-gradient(135deg,#b5ead773,#ffffffe6)}.speech-status-panel.phase-fail{border-color:#d6303166;background:linear-gradient(135deg,#ff76751f,#ffffffe0)}@keyframes listenGlow{0%,to{box-shadow:0 0 #d6303133}50%{box-shadow:0 0 0 8px #d6303114}}.speech-status-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.speech-status-label{font-weight:800;font-size:1rem;color:var(--text-dark);flex:1}.speech-status-ai{font-size:.75rem;font-weight:700;padding:3px 8px;border-radius:999px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.speech-spinner{width:22px;height:22px;border:3px solid rgba(253,203,110,.4);border-top-color:var(--accent-orange);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.mic-wave{display:flex;align-items:flex-end;gap:3px;height:24px;flex-shrink:0}.mic-wave-bar{display:block;width:4px;height:8px;background:var(--accent-red);border-radius:2px;animation:waveBar .6s ease-in-out infinite alternate}@keyframes waveBar{0%{height:6px;opacity:.5}to{height:22px;opacity:1}}.speech-compare{display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px dashed rgba(0,0,0,.08)}.speech-compare-row{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;font-size:.92rem}.speech-compare-key{color:var(--text-medium);font-weight:600;min-width:100px}.speech-compare-expected{color:var(--accent-purple);font-size:1.05rem}.speech-compare-row.match-ok strong{color:var(--accent-green)}.speech-compare-row.match-fail strong{color:var(--accent-red)}.speech-compare-pending{color:var(--text-light);font-style:italic}.speech-error-msg{color:var(--accent-red);font-size:.88rem;font-weight:600}.speech-correction-hint{font-size:.85rem;color:var(--accent-orange);line-height:1.6}.btn-hold-read{width:100%;min-height:58px;font-size:1.15rem;font-weight:800;border:none;border-radius:var(--radius);cursor:pointer;transition:var(--transition);user-select:none;touch-action:none;-webkit-user-select:none}.btn-hold-read.phase-idle,.btn-hold-read.phase-fail{background:linear-gradient(135deg,#a29bfe,#6c5ce7);color:#fff;box-shadow:0 6px 20px #6c5ce759}.btn-hold-read.phase-listening{background:linear-gradient(135deg,#ff7675,#d63031);color:#fff;box-shadow:0 6px 24px #d6303173;transform:scale(1.02);animation:holdPulse .8s ease-in-out infinite}.btn-hold-read.phase-preparing,.btn-hold-read.phase-transcribing{background:linear-gradient(135deg,#fdcb6e,#e17055);color:#fff;cursor:wait}.btn-hold-read.phase-success{background:linear-gradient(135deg,#55efc4,#00b894);color:#fff}.btn-hold-read:disabled{opacity:.85;cursor:not-allowed}@keyframes holdPulse{0%,to{transform:scale(1.02)}50%{transform:scale(1.05)}}.btn-hold-read:active:not(:disabled){transform:scale(.98)}.speech-toolbar{width:100%;margin:16px 0 8px;padding:16px;border-radius:var(--radius);background:linear-gradient(135deg,#a8d8ea33,#c5aed626);border:2px solid rgba(108,92,231,.15)}.speech-toolbar-ai{background:linear-gradient(135deg,#667eea26,#764ba21f);border-color:#667eea59}.speech-toolbar-compact{margin:12px 0;padding:12px}.speech-toolbar-title{font-weight:800;font-size:1rem;color:var(--text-dark);margin-bottom:4px}.speech-toolbar-hint{font-size:.82rem;color:var(--text-medium);margin-bottom:14px;line-height:1.6}.speech-toolbar-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.btn-speech{min-height:52px;font-size:1.05rem;font-weight:800;border-radius:var(--radius);border:none;cursor:pointer;transition:var(--transition)}.btn-tts{background:linear-gradient(135deg,#74b9ff,#0984e3);color:#fff;box-shadow:0 4px 14px #0984e34d}.btn-asr{background:linear-gradient(135deg,#a29bfe,#6c5ce7);color:#fff;box-shadow:0 4px 14px #6c5ce74d}.btn-asr.listening{animation:micPulse 1s ease-in-out infinite}@keyframes micPulse{0%,to{transform:scale(1);box-shadow:0 4px 14px #6c5ce74d}50%{transform:scale(1.03);box-shadow:0 6px 22px #6c5ce78c}}.btn-speech:disabled{opacity:.55;cursor:not-allowed}.btn-speech:active:not(:disabled){transform:scale(.98)}.speech-toggles{display:flex;flex-direction:column;gap:8px;text-align:right}.speech-toggle{display:flex;align-items:center;gap:10px;font-size:.85rem;color:var(--text-medium);cursor:pointer;-webkit-user-select:none;user-select:none}.speech-toggle input{width:18px;height:18px;accent-color:var(--accent-purple);flex-shrink:0}.speech-engine-note{margin-top:10px;font-size:.75rem;color:var(--accent-purple);font-weight:600}@media(max-width:480px){.speech-toolbar-buttons{grid-template-columns:1fr}}.save-status{text-align:center;padding:8px 14px;border-radius:var(--radius-sm);font-size:.9rem;margin-bottom:16px}.save-status-saving{background:#a8d8ea4d}.save-status-saved{background:#b5ead766;color:var(--accent-green)}.save-status-offline{background:#ffeaa766}.mode-selected{outline:3px solid var(--accent-purple);outline-offset:2px}.mode-detail{display:block;margin-top:8px;font-size:.82rem}.btn-grade.selected{outline:3px solid var(--accent-purple);outline-offset:3px;transform:scale(1.03)}.review-card .review-word{margin:24px 0}.error-boundary-card{margin-top:80px}.admin-user-list{list-style:none}.admin-user-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:var(--radius-sm);background:#fff9;margin-bottom:8px}.admin-user-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.audit-log-list{list-style:none;max-height:360px;overflow-y:auto}.audit-log-item{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:10px 12px;border-bottom:1px solid rgba(0,0,0,.06);font-size:.88rem}.audit-action{font-weight:600;color:var(--text-dark)}.audit-time{grid-column:2;grid-row:1 / 3;font-size:.8rem;color:var(--text-light);white-space:nowrap}.control-btn.active{background:#6c5ce726}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:focus-visible{outline:2px solid var(--accent-purple);outline-offset:2px}
