/* ── Typing Dark Theme — ai-saas-tools-2 ── */
*,*::before,*::after{box-sizing:border-box;}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:#050D1A;color:#e2e8f0;margin:0;min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased;}
#app{width:100%;}
.main-wrapper{flex:1;padding:20px 24px 60px;min-height:70vh;width:100%;max-width:1200px;margin:0 auto;}

/* ── Layout ── */
.lesson-layout{display:flex;gap:20px;min-height:60vh;}
.lesson-sidebar{width:240px;flex-shrink:0;background:#0A1628;border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:16px;overflow-y:auto;max-height:75vh;}
.lesson-main{flex:1;min-width:0;}

/* ── Sidebar ── */
.sidebar-section{margin-bottom:20px;}
.sidebar-section-title{font-size:0.75rem;text-transform:uppercase;letter-spacing:1.5px;color:rgba(255,255,255,0.35);padding:0 8px;margin-bottom:8px;font-weight:700;}
.sidebar-btn{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;border-radius:8px;background:transparent;color:rgba(255,255,255,0.6);font-size:0.9rem;cursor:pointer;transition:all 0.2s;text-align:left;margin-bottom:2px;font-family:inherit;}
.sidebar-btn:hover{background:rgba(99,102,241,0.1);color:#e2e8f0;}
.sidebar-btn.active{background:rgba(99,102,241,0.15);color:#818CF8;font-weight:600;border-left:3px solid #6366F1;}
.sidebar-btn-icon{width:22px;text-align:center;font-size:0.85rem;}
.sidebar-btn .check{margin-left:auto;color:#22c55e;font-size:0.85rem;}

/* ── Typing area ── */
.typing-area{background:#0A1628;border:1px solid rgba(255,255,255,0.1);border-radius:12px;padding:24px;margin-bottom:20px;}

/* ── Typing prompt container ── */
.typing-prompt{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:24px;align-items:flex-start;align-content:flex-start;}
.typing-prompt::-webkit-scrollbar{display:none;}
/* ── Char boxes (letter mode) ── */
.char-box{width:52px;height:60px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-family:'Courier New',monospace;font-weight:700;border-radius:10px;border:2px solid rgba(255,255,255,0.1);background:#071422;color:rgba(255,255,255,0.25);transition:all 0.2s;}
.char-box.correct{border-color:#22c55e;color:#22c55e;background:rgba(34,197,94,0.08);}
.char-box.wrong{border-color:#ef4444;color:#ef4444;background:rgba(239,68,68,0.08);}
.char-box.current{border-color:#6366F1;color:#e2e8f0;background:rgba(99,102,241,0.1);box-shadow:0 0 16px rgba(99,102,241,0.3);animation:pulse-glow 1.5s ease-in-out infinite;}
.char-box.pending{color:rgba(255,255,255,0.15);}
@keyframes pulse-glow{0%,100%{box-shadow:0 0 8px rgba(99,102,241,0.2);}50%{box-shadow:0 0 20px rgba(99,102,241,0.4);}}

/* ── Word/sentence display ── */
.text-display{font-family:'Courier New',monospace;font-size:1.4rem;line-height:2;text-align:center;word-spacing:6px;min-height:80px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:2px;}
.text-display .char{display:inline-block;padding:2px 1px;border-radius:3px;transition:all 0.15s;}
.text-display .char.correct{color:#22c55e;}
.text-display .char.wrong{color:#ef4444;background:rgba(239,68,68,0.1);}
.text-display .char.current{color:#e2e8f0;border-bottom:2px solid #6366F1;background:rgba(99,102,241,0.1);}
.text-display .char.pending{color:rgba(255,255,255,0.2);}

/* ── Test text display ── */
.test-text-display{position:relative;font-family:inherit;font-size:1.35rem;line-height:2;height:260px;padding:20px 24px;background:#071422;border:1px solid rgba(255,255,255,0.08);border-radius:12px;margin-bottom:12px;overflow:hidden;cursor:text;white-space:pre-wrap;word-break:break-word;color:#e2e8f0;}
.test-typing-area{width:100%;height:260px;padding:16px 18px;background:#0A1628;border:1px solid #cbd5e1;border-radius:10px;color:#e2e8f0;font-size:1.35rem;outline:none;resize:none;overflow-y:auto;transition:border-color 0.2s;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:rgba(99,102,241,0.4) #071422;}
.test-text-display .char{transition:none;}
.test-text-display .char.correct{color:#22c55e;}
.test-text-display .char.wrong{color:#ef4444;background:rgba(239,68,68,0.1);border-radius:2px;}
.test-text-display .char.current{border-bottom:2px solid #6366F1;background:rgba(99,102,241,0.1);color:#e2e8f0;}
.test-text-display .char.pending{color:rgba(255,255,255,0.7);}

/* ── Typing input ── */
.typing-input{width:100%;padding:14px 18px;background:#071422;border:1px solid rgba(255,255,255,0.12);border-radius:10px;color:#e2e8f0;font-size:1.1rem;font-family:'Courier New',monospace;outline:none;transition:border-color 0.2s;}
.typing-input:focus{border-color:#6366F1;box-shadow:0 0 0 3px rgba(99,102,241,0.15);}
#testInput{width:100%;padding:14px 18px;background:#071422;border:1px solid rgba(255,255,255,0.12);border-radius:10px;color:#e2e8f0;font-size:1.35rem;font-family:inherit;outline:none;resize:none;transition:border-color 0.2s;}
#testInput:focus{border-color:#6366F1;box-shadow:0 0 0 3px rgba(99,102,241,0.12);}

/* ── Result / Dashboard ── */
.stat-card{background:#0A1628;border:1px solid rgba(255,255,255,0.1);border-radius:12px;padding:18px 16px;display:flex;justify-content:space-between;align-items:flex-start;}
.stat-card-label{font-size:0.75rem;color:rgba(255,255,255,0.5);margin-bottom:10px;line-height:1.4;}
.stat-card-value{font-size:2rem;font-weight:800;color:#e2e8f0;}
.stat-card-icon{color:rgba(255,255,255,0.35);margin-top:2px;}
.result-info-box{background:#0A1628;border:1px solid rgba(255,255,255,0.1);border-radius:12px;padding:18px 24px;margin-bottom:16px;}
.result-info-text{font-size:0.88rem;color:#d1d5db;}
.result-info-label{font-weight:700;color:#e2e8f0;}
.result-title{font-size:1.9rem;font-weight:800;color:#e2e8f0;margin:0;}
.result-comparison-box{background:#0A1628;border:1px solid rgba(255,255,255,0.1);border-radius:12px;padding:20px;margin-bottom:16px;}
.comparison-col-title{font-size:0.8rem;color:#e2e8f0;font-weight:700;margin-bottom:8px;}
.comparison-inner{background:#071422;border:1px solid rgba(255,255,255,0.1);border-radius:8px;overflow-y:auto;max-height:400px;font-size:1.05rem;padding:8px 0;line-height:2;color:#e2e8f0;}
.result-home-btn{padding:12px 32px;background:#071422;border:1px solid rgba(255,255,255,0.1);color:rgba(255,255,255,0.65);border-radius:10px;font-size:0.9rem;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;}
.result-home-btn:hover{background:#0A1628;border-color:rgba(255,255,255,0.2);}
body.light-mode .stat-card{background:#ffffff;border-color:#e2e8f0;}
body.light-mode .stat-card-label{color:#64748b;}
body.light-mode .stat-card-value{color:#1e293b;}
body.light-mode .stat-card-icon{color:#94a3b8;}
body.light-mode .result-info-box{background:#ffffff;border-color:#e2e8f0;}
body.light-mode .result-info-text{color:#475569;}
body.light-mode .result-info-label{color:#1e293b;}
body.light-mode .result-title{color:#1e293b;}
body.light-mode .result-comparison-box{background:#ffffff;border-color:#e2e8f0;}
body.light-mode .comparison-col-title{color:#1e293b;}
body.light-mode .comparison-inner{background:#f8fafc;border-color:#e2e8f0;color:#1e293b;}
body.light-mode .result-home-btn{background:#f1f5f9;border-color:#e2e8f0;color:#475569;}
body.light-mode .result-home-btn:hover{background:#e2e8f0;}

/* ── Progress ── */
.progress-container{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.progress-bar{flex:1;height:8px;background:rgba(255,255,255,0.08);border-radius:10px;overflow:hidden;}
.progress-fill{height:100%;background:linear-gradient(90deg,#6366F1,#22c55e);border-radius:10px;transition:width 0.3s ease;}
.progress-text{font-size:0.8rem;color:rgba(255,255,255,0.45);white-space:nowrap;}

/* ── Visual Keyboard ── */
.keyboard-container{position:relative;width:100%;}
.keyboard{background:#0F1E30;border-radius:16px;padding:18px;box-shadow:0 4px 24px rgba(0,0,0,0.4),inset 0 1px 0 rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);}
.keyboard-row{display:flex;justify-content:center;gap:6px;margin-bottom:6px;}
.keyboard-row:last-child{margin-bottom:0;}
.key{min-width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:#1B3A5C;border:1px solid rgba(255,255,255,0.12);border-radius:9px;font-size:1.15rem;font-weight:600;color:#e2e8f0;box-shadow:0 2px 4px rgba(0,0,0,0.3),0 2px 0 rgba(0,0,0,0.4);transition:all 0.15s;position:relative;cursor:default;user-select:none;}
.key .sub{position:absolute;top:4px;left:7px;font-size:0.68rem;color:rgba(255,255,255,0.35);font-weight:500;}
.key.highlight{background:linear-gradient(135deg,#818CF8,#6366F1);color:#fff;border-color:#6366F1;box-shadow:0 4px 16px rgba(99,102,241,0.5);transform:translateY(-2px);}
.key.pressed{transform:translateY(1px);box-shadow:0 1px 2px rgba(0,0,0,0.3);background:#0F1E30;}
.key.correct-key{background:linear-gradient(135deg,#4ade80,#22c55e);color:#fff;border-color:#22c55e;}
.key.wrong-key{background:linear-gradient(135deg,#f87171,#ef4444);color:#fff;border-color:#ef4444;animation:shake 0.3s ease;}
@keyframes shake{0%,100%{transform:translateX(0);}25%{transform:translateX(-3px);}75%{transform:translateX(3px);}}
.key.finger-pinky-l{border-bottom:3px solid #f97316;}
.key.finger-ring-l{border-bottom:3px solid #eab308;}
.key.finger-middle-l{border-bottom:3px solid #22c55e;}
.key.finger-index-l{border-bottom:3px solid #6366F1;}
.key.finger-index-r{border-bottom:3px solid #8b5cf6;}
.key.finger-middle-r{border-bottom:3px solid #ec4899;}
.key.finger-ring-r{border-bottom:3px solid #f43f5e;}
.key.finger-pinky-r{border-bottom:3px solid #06b6d4;}
.key.finger-thumb{border-bottom:3px solid rgba(255,255,255,0.3);}
.key.backspace{min-width:110px;font-size:0.8rem;}
.key.tab{min-width:86px;font-size:0.8rem;}
.key.capslock{min-width:100px;font-size:0.8rem;}
.key.enter{min-width:118px;font-size:0.8rem;}
.key.shift-l{min-width:136px;font-size:0.8rem;}
.key.shift-r{min-width:136px;font-size:0.8rem;}
.key.space{min-width:380px;}
.finger-legend{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:14px;padding:8px;}
.finger-legend-item{display:flex;align-items:center;gap:6px;font-size:0.72rem;color:rgba(255,255,255,0.5);font-weight:500;}
.finger-legend-dot{width:11px;height:11px;border-radius:50%;}

/* ── Stats bar ── */
.stats-bar{display:flex;justify-content:center;gap:24px;margin-bottom:16px;flex-wrap:wrap;}
.stat-item{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#071422;border:1px solid rgba(255,255,255,0.08);border-radius:10px;}
.stat-value{font-size:1.2rem;font-weight:700;color:#e2e8f0;}
.stat-label{font-size:0.7rem;color:rgba(255,255,255,0.45);text-transform:uppercase;letter-spacing:0.5px;}
.stat-item.wpm .stat-value{color:#818CF8;}
.stat-item.accuracy .stat-value{color:#22c55e;}
.stat-item.timer .stat-value{color:#f59e0b;}

/* ── Back button ── */
.back-btn{display:inline-flex;align-items:center;gap:6px;color:#818CF8;text-decoration:none;font-size:0.95rem;font-weight:600;padding:7px 14px;border-radius:6px;transition:all 0.2s;background:none;border:none;cursor:pointer;}
.back-btn:hover{background:rgba(99,102,241,0.12);color:#A5B4FC;}

/* ── Result cards ── */
.result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0;}
.result-card{background:#0A1628;border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:16px;text-align:center;}
.result-card .value{font-size:2rem;font-weight:800;}
.result-card .label{font-size:0.75rem;color:rgba(255,255,255,0.45);margin-top:4px;text-transform:uppercase;letter-spacing:0.5px;}
.result-card.wpm .value{color:#818CF8;}
.result-card.accuracy .value{color:#22c55e;}
.result-card.correct .value{color:#4ade80;}
.result-card.wrong .value{color:#f87171;}

/* ── Page header ── */
.page-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:0 4px;}
.page-header h1{flex:1;font-size:1.1rem;font-weight:700;color:#e2e8f0;margin:0;}
.page-header .page-breadcrumb{font-size:0.8rem;color:rgba(255,255,255,0.45);white-space:nowrap;}
.page-header .page-badge{font-size:0.78rem;color:#818CF8;background:rgba(99,102,241,0.12);padding:4px 10px;border-radius:20px;border:1px solid rgba(99,102,241,0.25);white-space:nowrap;}

/* ── SEO section ── */
.seo-section{margin-top:32px;padding:20px;background:#071422;border:1px solid rgba(255,255,255,0.07);border-radius:12px;}
.seo-section h2{color:#818CF8;font-size:1.1rem;margin-bottom:10px;}
.seo-section h3{color:#d1d5db;font-size:0.95rem;margin:14px 0 6px;}
.seo-section p{color:rgba(255,255,255,0.5);font-size:0.85rem;line-height:1.7;margin-bottom:8px;}

/* ── Form elements dark ── */
select{background:#071422;color:#e2e8f0;border:1px solid rgba(255,255,255,0.12);border-radius:8px;outline:none;}
select:focus{border-color:#6366F1;}
select option{background:#0A1628;color:#e2e8f0;}
input[type="checkbox"]{accent-color:#6366F1;}

/* ── Hindi font buttons ── */
.hindi-font-btn{font-family:inherit;border-radius:8px;cursor:pointer;transition:all 0.2s;border:1px solid rgba(255,255,255,0.1);color:rgba(255,255,255,0.6);background:#071422;}
.hindi-font-btn:hover{border-color:#6366F1;color:#e2e8f0;}

/* ── Lesson Menu Button — dark mode: dark bg; light mode: red ── */
.lesson-menu-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid rgba(255,255,255,0.12);border-radius:8px;background:#1e293b;color:#e2e8f0;font-size:0.82rem;font-weight:600;cursor:pointer;transition:all 0.2s;white-space:nowrap;}
.lesson-menu-btn:hover{background:#334155;border-color:rgba(255,255,255,0.2);}

/* ── Lesson Dropdown Panel ── */
.lesson-dropdown-panel{position:fixed;top:0;right:0;width:280px;height:100vh;background:#0A1628;border-left:1px solid rgba(255,255,255,0.08);z-index:1000;overflow-y:auto;padding:20px 16px;box-shadow:-4px 0 24px rgba(0,0,0,0.4);}
.lesson-dropdown-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.35);z-index:999;backdrop-filter:blur(2px);}
.lesson-dropdown-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,0.08);}
.lesson-dropdown-close{background:none;border:none;color:rgba(255,255,255,0.5);font-size:1.1rem;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all 0.2s;}
.lesson-dropdown-close:hover{color:#e2e8f0;background:rgba(255,255,255,0.08);}

body.light-mode .lesson-dropdown-panel{background:#ffffff;border-color:#e2e8f0;box-shadow:-4px 0 24px rgba(0,0,0,0.1);}
body.light-mode .lesson-dropdown-header{border-color:#e2e8f0;}
body.light-mode .lesson-dropdown-close{color:#94a3b8;}
body.light-mode .lesson-dropdown-close:hover{color:#1e293b;background:#f1f5f9;}
body.light-mode .lesson-menu-btn{background:#ef4444;border:none;color:#ffffff;}
body.light-mode .lesson-menu-btn:hover{background:#dc2626;}

/* ── Theme Toggle Button — dark mode: red; light mode: dark ── */
.theme-toggle-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border:none;border-radius:8px;background:#ef4444;color:#ffffff;font-size:0.82rem;font-weight:600;cursor:pointer;transition:all 0.2s;white-space:nowrap;margin-left:auto;}
.theme-toggle-btn:hover{background:#dc2626;}
.theme-toggle-btn svg{flex-shrink:0;}

/* ── Light Mode Overrides ── */
body.light-mode{background:#f0f4f8;color:#1e293b;}
body.light-mode .main-wrapper{background:#f0f4f8;}
body.light-mode .page-header{background:#ffffff;border-color:#e2e8f0;}
body.light-mode .page-header h1{color:#1e293b;}
body.light-mode .page-breadcrumb,.light-mode .page-badge{color:#475569;background:#f1f5f9;border-color:#e2e8f0;}
body.light-mode .back-btn{background:#f1f5f9;color:#475569;border-color:#e2e8f0;}
body.light-mode .back-btn:hover{background:#ede9fe;color:#4f46e5;}
body.light-mode .lesson-sidebar{background:#ffffff;border-color:#e2e8f0;}
body.light-mode .sidebar-section-title{color:#94a3b8;}
body.light-mode .sidebar-btn{color:#475569;}
body.light-mode .sidebar-btn:hover{background:rgba(99,102,241,0.08);color:#4f46e5;}
body.light-mode .sidebar-btn.active{background:rgba(99,102,241,0.1);color:#4f46e5;border-left-color:#6366F1;}
body.light-mode .progress-container>div:first-child{background:#e2e8f0;}
body.light-mode .progress-fill{background:#6366F1;}
body.light-mode .progress-text{color:#64748b;}
body.light-mode .char-box{background:#f8fafc;border-color:#cbd5e1;color:#94a3b8;}
body.light-mode .char-box.current{border-color:#6366F1;background:rgba(99,102,241,0.06);color:#1e293b;box-shadow:0 0 12px rgba(99,102,241,0.2);}
body.light-mode .char-box.correct{border-color:#22c55e;color:#16a34a;background:rgba(34,197,94,0.06);}
body.light-mode .char-box.wrong{border-color:#ef4444;color:#dc2626;background:rgba(239,68,68,0.06);}
body.light-mode .char.correct{color:#16a34a;}
body.light-mode .char.wrong{color:#dc2626;text-decoration:underline wavy #dc2626;}
body.light-mode .char.current{border-bottom:2px solid #6366F1;background:rgba(99,102,241,0.15);color:#1e293b!important;}
body.light-mode .char.pending{color:#374151;}
body.light-mode .typing-prompt{color:#1e293b;}
body.light-mode .typing-input{background:#ffffff;border-color:#e2e8f0;color:#1e293b;}
body.light-mode .typing-input:focus{border-color:#6366F1;box-shadow:0 0 0 3px rgba(99,102,241,0.1);}
.test-main-card{background:#0A1628;border:1px solid rgba(255,255,255,0.1);border-radius:12px;padding:24px;}
body.light-mode .test-main-card{background:#ffffff!important;border:1px solid #e2e8f0!important;}
body.light-mode #testInput{background:#ffffff;border-color:#e2e8f0;color:#1e293b;}
body.light-mode #testInput:focus{border-color:#6366F1;}
body.light-mode .test-text-display{background:#ffffff!important;border:1px solid #e2e8f0!important;color:#1e293b!important;}
body.light-mode .test-typing-area{background:#ffffff!important;border:1px solid #e2e8f0!important;color:#1e293b!important;scrollbar-color:rgba(99,102,241,0.4) #ffffff;}
body.light-mode .keyboard{background:#e8edf3;border-color:#d1d9e6;box-shadow:0 4px 16px rgba(0,0,0,0.08);}
body.light-mode .keyboard-row .key{background:#ffffff;border-color:#c8d0dc;color:#1e293b;box-shadow:0 2px 0 #b0bac7;}
body.light-mode .keyboard-row .key:hover{background:#ede9fe;border-color:#6366F1;color:#4f46e5;}
body.light-mode .keyboard-row .key.highlight{background:linear-gradient(135deg,#6366F1,#818CF8);color:#fff;border-color:#6366F1;}
body.light-mode .key-label-main{color:#1e293b;}
body.light-mode .key-label-shift{color:#64748b;}
body.light-mode .keyboard-container{background:#f0f4f8;}
body.light-mode .result-card{background:#ffffff;border-color:#e2e8f0;}
body.light-mode .result-grid{background:#f8fafc;}
body.light-mode select{background:#ffffff;color:#1e293b;border-color:#e2e8f0;}
body.light-mode select option{background:#ffffff;color:#1e293b;}
body.light-mode .hindi-font-btn{background:#f1f5f9;border-color:#e2e8f0;color:#475569;}
body.light-mode .hindi-font-btn:hover{border-color:#6366F1;color:#4f46e5;}
body.light-mode .theme-toggle-btn{background:#1e293b;border:none;color:#ffffff;}
body.light-mode .theme-toggle-btn:hover{background:#334155;}
body.light-mode .typing-area{background:#ffffff;border-color:#e2e8f0;}
body.light-mode select{background:#ffffff !important;color:#1e293b !important;border-color:#e2e8f0 !important;}
body.light-mode #learnTimeSelect{background:#ffffff !important;color:#1e293b !important;border:1px solid #e2e8f0 !important;}
body.light-mode #learnTimerBox{background:#f1f5f9 !important;border-color:#e2e8f0 !important;}
body.light-mode .timer-label-text{color:#64748b !important;}
body.light-mode .finger-legend-item{color:#64748b;}
body.light-mode .progress-container>div:first-child{background:#e2e8f0;}
body.light-mode .stats-bar{background:#f8fafc;border-color:#e2e8f0;color:#475569;}
body.light-mode .page-header h1{color:#1e293b;}
body.light-mode label{color:#64748b !important;}
body.light-mode #learnTimerDisplay{color:#f59e0b !important;}
body.light-mode .text-display{color:#1e293b;}
body.light-mode .text-display .char.pending{color:#94a3b8;}

/* ── Responsive ── */
@media(max-width:1100px){.key{min-width:48px;height:48px;font-size:0.85rem;}.key.backspace{min-width:92px;}.key.tab{min-width:72px;}.key.capslock{min-width:84px;}.key.enter{min-width:100px;}.key.shift-l,.key.shift-r{min-width:116px;}.key.space{min-width:300px;}}
@media(max-width:900px){.lesson-layout{flex-direction:column;}.lesson-sidebar{width:100%;max-height:none;}.result-grid{grid-template-columns:repeat(2,1fr);}.keyboard{padding:10px;}.keyboard-row{gap:4px;margin-bottom:4px;}.key{min-width:38px;height:42px;font-size:0.75rem;}.key.backspace{min-width:68px;}.key.tab{min-width:56px;}.key.capslock{min-width:66px;}.key.enter{min-width:76px;}.key.shift-l,.key.shift-r{min-width:86px;}.key.space{min-width:220px;}.char-box{width:40px;height:48px;font-size:1.4rem;}}
@media(max-width:768px){.main-wrapper{padding:16px 12px 60px;}}
@media(max-width:640px){.page-header{flex-wrap:wrap;gap:6px;}.page-header h1{font-size:0.95rem;width:100%;order:2;}.page-header .back-btn{order:1;}.page-header .page-breadcrumb,.page-header .page-badge{order:3;font-size:0.7rem;}.test-text-display{font-size:1rem!important;line-height:1.8!important;height:200px!important;padding:14px!important;}.test-typing-area{height:200px!important;font-size:1rem!important;}.lesson-sidebar{max-height:200px;}}
@media(max-width:480px){.key{min-width:28px;height:34px;font-size:0.6rem;}.key.backspace{min-width:48px;}.key.tab{min-width:40px;}.key.capslock{min-width:48px;}.key.enter{min-width:56px;}.key.shift-l,.key.shift-r{min-width:60px;}.key.space{min-width:150px;}.keyboard-row{gap:3px;margin-bottom:3px;}.keyboard{padding:6px;}.char-box{width:32px;height:40px;font-size:1.1rem;}}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
