:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.home-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.home-content{background:#fff;border-radius:20px;padding:40px;box-shadow:0 10px 30px #0000001a;text-align:center;max-width:600px;width:100%}.home-title{font-size:2.5rem;margin-bottom:20px;color:#333;font-weight:700}.home-description{font-size:1.2rem;margin-bottom:40px;color:#666;line-height:1.5}.home-buttons{display:flex;gap:20px;justify-content:center;margin-bottom:40px;flex-wrap:wrap}.home-button{padding:15px 30px;font-size:1.1rem;border:none;border-radius:50px;cursor:pointer;font-weight:600;transition:all .3s ease;min-width:150px}.home-button.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.home-button.primary:hover{transform:translateY(-3px);box-shadow:0 5px 15px #667eea66}.home-button.secondary{background:#f8f9fa;color:#333;border:2px solid #e9ecef}.home-button.secondary:hover{background:#e9ecef;transform:translateY(-3px)}.home-button.tertiary{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.home-button.tertiary:hover{transform:translateY(-3px);box-shadow:0 5px 15px #f093fb66}.home-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:20px}.feature-item{display:flex;flex-direction:column;align-items:center;gap:10px;padding:15px;background:#f8f9fa;border-radius:15px;transition:all .3s ease}.feature-item:hover{transform:translateY(-5px);box-shadow:0 5px 15px #0000001a}.feature-icon{font-size:2rem}.feature-text{font-size:.9rem;color:#666;text-align:center}@media(max-width:768px){.home-content{padding:30px 20px}.home-title{font-size:2rem}.home-description{font-size:1rem}.home-buttons{flex-direction:column;align-items:center}.home-button{width:100%;max-width:250px}.home-features{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.home-title{font-size:1.8rem}.home-features{grid-template-columns:1fr}}.learning-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.learning-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;background:#fff;padding:20px;border-radius:15px;box-shadow:0 5px 15px #0000001a}.learning-title{font-size:2rem;color:#333;margin:0}.learning-content{display:flex;gap:30px;background:#fff;padding:30px;border-radius:15px;box-shadow:0 5px 15px #0000001a}.learning-sidebar{flex:0 0 200px}.learning-nav{display:flex;flex-direction:column;gap:10px}.nav-button{padding:15px;background:#f8f9fa;border:none;border-radius:10px;cursor:pointer;font-size:1rem;text-align:left;transition:all .3s ease}.nav-button.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.learning-main{flex:1}.section-title{font-size:1.5rem;color:#333;margin-bottom:15px}.section-description{color:#666;margin-bottom:30px;line-height:1.5}.keyboard-container{background:#f8f9fa;padding:20px;border-radius:15px;margin-bottom:30px}.keyboard-with-fingers{position:relative;margin-bottom:30px}.fingers-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}.fingers-svg{width:100%;height:100%;transform:scale(.95);transform-origin:center top}.fingers-svg path{animation:pulse 2s infinite}.hands-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10;display:flex;justify-content:center;align-items:flex-start;padding-top:20px}.hands-svg{width:100%;max-width:800px;height:auto;opacity:.9}.hands-svg path{transition:all .3s ease}.hands-svg circle{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.hands-svg text{font-family:Arial,sans-serif}@keyframes pulse{0%{stroke-width:4;opacity:1}50%{stroke-width:6;opacity:.8}to{stroke-width:4;opacity:1}}.keyboard-row{display:flex;gap:8px;margin-bottom:8px;justify-content:center}.key{width:50px;height:50px;background:#fff;border:2px solid #e9ecef;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1rem;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.key:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.key.hovered{background:#667eea;color:#fff;border-color:#667eea}.key.key-wide{width:100px}.key.key-extra-wide{width:150px}.key.key-space{width:400px}.key.key-letter{background:#f0f4ff}.key.key-number{background:#fff0f4}.key.key-symbol{background:#f0fff4}.key.key-empty{background:transparent;border:none;box-shadow:none;cursor:default;width:50px;height:50px}.key.key-empty:hover{transform:none;box-shadow:none}.key.key-edit{background:#e5f4f8;border-color:#45b7d1}.key.key-number-zone{background:#e5f5ed;border-color:#96ceb4}.key.key-tall{height:106px;align-items:flex-start;padding-top:15px}.key.key-function{background:#ffe5e5}.key.key-function:hover{background:#ff6b6b;color:#fff}.keyboard-section{margin-bottom:10px}.keyboard-sections-wrapper{display:flex;gap:15px;justify-content:center;align-items:flex-start}.keyboard-section.main-section,.keyboard-section.edit-section,.keyboard-section.number-section{flex:0 0 auto}.keyboard-container.function-keys{display:flex;gap:8px;justify-content:center;margin-bottom:15px}.keyboard-container.main-keys,.keyboard-container.edit-keys,.keyboard-container.number-keys{display:flex;flex-direction:column;gap:8px}.keyboard-container.edit-keys .key,.keyboard-container.number-keys .key{width:45px;height:45px;font-size:.9rem}.keyboard-container.edit-keys .key.key-empty{background:transparent;border:none;box-shadow:none;cursor:default}.keyboard-container.number-keys .number-keys-wrapper{display:flex;gap:0}.keyboard-container.number-keys .number-keys-left,.keyboard-container.number-keys .number-keys-right{display:flex;flex-direction:column;gap:8px}.keyboard-container.number-keys .number-keys-right{margin-left:8px}.keyboard-container.number-keys .key.key-tall{height:106px}.keyboard-container.number-keys .key.key-wide{width:100px}.keyboard-container.with-zones{max-width:1200px;margin:0 auto}.keyboard-container.with-zones .key{width:45px;height:45px;font-size:.9rem}.keyboard-container.with-zones .key.key-wide{width:90px}.keyboard-container.with-zones .key.key-extra-wide{width:110px}.keyboard-container.with-zones .key.key-space{width:300px}.keyboard-container.with-zones .key.key-tall{height:98px}.keyboard-zones-intro{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:10px}.zone-intro-item{display:flex;align-items:center;gap:8px}.zone-color{width:20px;height:20px;border-radius:4px;border:2px solid #e9ecef}.zone-function{background:#ff6b6b!important}.zone-main{background:#ffd93d!important}.zone-edit{background:#6bcb77!important}.zone-number{background:#4d96ff!important}.zone-text{font-size:.9rem;color:#666}.key.zone-function{background:#ffe5e5!important;border-color:#ff6b6b!important;border-width:3px}.key.zone-function:hover,.key.zone-function.hovered{background:#ff6b6b!important;color:#fff!important}.key.zone-main{background:#fff9e5!important;border-color:#ffd93d!important;border-width:3px}.key.zone-main:hover,.key.zone-main.hovered{background:#ffd93d!important;color:#333!important}.key.zone-edit{background:#e5f8e8!important;border-color:#6bcb77!important;border-width:3px}.key.zone-edit:hover,.key.zone-edit.hovered{background:#6bcb77!important;color:#fff!important}.key.zone-number{background:#e5f0ff!important;border-color:#4d96ff!important;border-width:3px}.key.zone-number:hover,.key.zone-number.hovered{background:#4d96ff!important;color:#fff!important}.key-zone-info{margin-top:5px;font-size:.9rem;color:#667eea;font-weight:600}.key.key-function{background:#fffaf0;font-size:.8rem}.finger-position-section{margin-bottom:40px}.finger-position-section h3{margin-bottom:15px;color:#333;font-size:1.3rem}.keyboard-zones{margin-bottom:40px}.zones-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:20px}.zone-card{background:#fff;padding:25px;border-radius:15px;text-align:center;box-shadow:0 2px 8px #0000001a;transition:all .3s ease;border:2px solid #e9ecef}.zone-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px #00000026;border-color:#667eea}.zone-icon{font-size:2.5rem;margin-bottom:15px}.zone-card h4{color:#333;margin-bottom:10px;font-size:1.1rem}.zone-card p{color:#666;font-size:.9rem;margin-bottom:8px;line-height:1.4}.zone-tip{color:#667eea!important;font-weight:600;font-size:.85rem!important}.home-row-section{margin-bottom:40px;background:linear-gradient(135deg,#667eea,#764ba2);padding:30px;border-radius:15px;color:#fff}.home-row-section h3{color:#fff;margin-bottom:10px}.home-row-section .section-description{color:#ffffffe6;margin-bottom:20px}.home-row-demo{background:#ffffff1a;padding:25px;border-radius:10px;margin-bottom:20px}.home-row-keys{display:flex;justify-content:center;align-items:center;gap:10px;margin-bottom:20px}.home-key{width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:1.5rem;font-weight:700;color:#fff;box-shadow:0 2px 4px #0003}.home-key.spacer{width:30px;background:transparent;box-shadow:none}.home-row-explanation{display:flex;flex-direction:column;gap:10px}.explanation-item{display:flex;align-items:center;gap:10px;font-size:1rem}.key-highlight{background:#ffffff4d;padding:3px 10px;border-radius:5px;font-weight:700;font-family:monospace}.finger-indicator{font-size:1.2rem}.home-row-tips{background:#ffffff1a;padding:20px;border-radius:10px}.home-row-tips h4{color:#fff;margin-bottom:15px;font-size:1.1rem}.home-row-tips ul{list-style:none;padding:0}.home-row-tips li{padding:8px 0 8px 25px;position:relative;color:#fffffff2;line-height:1.5}.home-row-tips li:before{content:"✓";position:absolute;left:0;color:#4ade80;font-weight:700}.finger-keyboard-mapping{margin-bottom:40px}.finger-controls{margin-bottom:20px}.finger-toggle{display:flex;align-items:center;gap:10px;font-size:1rem;cursor:pointer}.finger-toggle input{width:18px;height:18px}.left-pinky{background:#ff6b6b!important;color:#fff!important}.left-ring{background:#4ecdc4!important;color:#fff!important}.left-middle{background:#45b7d1!important;color:#fff!important}.left-index{background:#96ceb4!important;color:#fff!important}.right-index{background:#ffeaa7!important;color:#333!important}.right-middle{background:#dfe6e9!important;color:#333!important}.right-ring{background:#e17055!important;color:#fff!important}.right-pinky{background:#a29bfe!important;color:#fff!important}.finger-guide{margin-top:30px;background:#f8f9fa;padding:20px;border-radius:15px}.finger-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-top:15px}.finger-item{display:flex;align-items:center;gap:10px;background:#fff;padding:12px;border-radius:10px;box-shadow:0 2px 4px #0000000d}.finger-color{width:20px;height:20px;border-radius:50%;border:2px solid #e9ecef;flex-shrink:0}.finger-details{display:flex;flex-direction:column;gap:3px}.finger-name{font-weight:600;color:#333;font-size:.95rem}.finger-keys{font-size:.8rem;color:#666;font-family:monospace}.typing-tips{margin-top:30px}.tips-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:20px}.tip-card{background:#fff;padding:25px;border-radius:15px;text-align:center;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.tip-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px #00000026}.tip-icon{font-size:2.5rem;margin-bottom:15px}.tip-card h4{color:#333;margin-bottom:10px;font-size:1.1rem}.tip-card p{color:#666;font-size:.9rem;line-height:1.4}.chars-section{margin-bottom:40px}.chars-section h3{margin-bottom:20px;color:#333;font-size:1.3rem}.chars-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:20px;margin-bottom:30px}.char-card{background:#f8f9fa;padding:20px;border-radius:15px;text-align:center;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.char-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px #0000001a}.char-display{font-size:2.5rem;font-weight:700;margin-bottom:10px;color:#667eea}.char-description{color:#666;font-size:.9rem;margin-bottom:10px}.char-input-methods{display:flex;flex-direction:column;gap:5px;margin-top:10px;padding-top:10px;border-top:1px dashed #e9ecef}.input-method{display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.method-label{color:#888;font-weight:600}.method-value{color:#667eea;font-family:Courier New,monospace;font-weight:700}.tones-section{margin-bottom:40px}.tones-section h3{margin-bottom:15px;color:#333;font-size:1.3rem}.tones-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;margin-top:20px}.tone-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px;border-radius:15px;text-align:center;transition:all .3s ease}.tone-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px #667eea4d}.tone-display{font-size:3rem;font-weight:700;margin-bottom:10px}.tone-name{font-size:1.1rem;font-weight:600;margin-bottom:5px;text-transform:capitalize}.tone-description{font-size:.85rem;opacity:.9;margin-bottom:10px}.tone-input-methods{display:flex;flex-direction:column;gap:5px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.3)}.tone-input-methods .input-method{display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.tone-input-methods .method-label{color:#fffc;font-weight:600}.tone-input-methods .method-value{color:#fff;font-family:Courier New,monospace;font-weight:700}.chars-tips{background:#f8f9fa;padding:20px;border-radius:15px}.chars-tips h3{margin-bottom:15px;color:#333}.chars-tips h4{margin-bottom:10px;color:#444}.input-methods{display:flex;gap:20px;margin-bottom:20px;flex-wrap:wrap}.input-method-item{flex:1;min-width:250px;background:#fff;padding:15px;border-radius:10px;box-shadow:0 2px 4px #0000001a}.input-method-item p{margin-bottom:10px;color:#666}.method-details{margin-top:15px}.method-details p{margin-bottom:8px;color:#333}.method-details strong{color:#667eea}.method-details ul{padding-left:20px;line-height:1.6;color:#666;margin-bottom:10px}.method-details li{margin-bottom:5px}.method-details code{background:#f1f3f4;padding:2px 6px;border-radius:3px;font-family:Courier New,monospace;color:#667eea;font-weight:700}.method-details em{font-style:italic;color:#888;font-size:.9rem}.chars-tips ul{padding-left:20px;line-height:1.6;color:#666}.chars-tips li{margin-bottom:8px}@media(max-width:768px){.input-methods{flex-direction:column}.input-method-item{width:100%}}.key-info{background:#f8f9fa;padding:20px;border-radius:15px;margin-top:20px;border-left:4px solid #667eea}.key-info h3{margin-bottom:10px;color:#333}.key-info p{color:#666;margin:0}@media(max-width:1024px){.learning-content{flex-direction:column}.learning-sidebar{flex:1}.learning-nav{flex-direction:row;flex-wrap:wrap}.nav-button{flex:1;min-width:150px;text-align:center}.keyboard-row{gap:5px}.key{width:40px;height:40px;font-size:.8rem}.key.key-wide{width:80px}.key.key-extra-wide{width:120px}.key.key-space{width:300px}}@media(max-width:768px){.learning-container{padding:10px}.learning-header{flex-direction:column;gap:15px;text-align:center}.learning-content{padding:20px}.nav-button{flex:1 0 100%}.keyboard-container{padding:15px}.keyboard-row{gap:3px}.key{width:35px;height:35px;font-size:.7rem}.key.key-wide{width:70px}.key.key-extra-wide{width:100px}.key.key-space{width:250px}.chars-grid{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:15px}.char-display{font-size:1.5rem}.finger-legend{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.learning-title{font-size:1.5rem}.section-title{font-size:1.2rem}.keyboard-row{gap:2px}.key{width:30px;height:30px;font-size:.6rem}.key.key-wide{width:60px}.key.key-extra-wide{width:90px}.key.key-space{width:200px}.chars-grid{grid-template-columns:repeat(2,1fr)}.finger-legend{grid-template-columns:1fr}}.practice-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.practice-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;background:#fff;padding:20px;border-radius:15px;box-shadow:0 5px 15px #0000001a}.practice-title{font-size:2rem;color:#333;margin:0}.back-button{padding:10px 20px;background:#f8f9fa;border:none;border-radius:25px;cursor:pointer;font-size:1rem;transition:all .3s ease}.back-button:hover{background:#e9ecef;transform:translateY(-2px)}.practice-content{background:#fff;padding:30px;border-radius:15px;box-shadow:0 5px 15px #0000001a}.practice-setup{text-align:center}.setup-title{font-size:1.5rem;color:#333;margin-bottom:30px}.setup-options{display:flex;flex-direction:column;gap:30px;margin-bottom:40px}.option-group{display:flex;flex-direction:column;gap:15px;align-items:center}.option-label{font-size:1.1rem;color:#666;font-weight:600}.option-buttons{display:flex;gap:15px;flex-wrap:wrap;justify-content:center}.option-button{padding:12px 24px;background:#f8f9fa;border:2px solid #e9ecef;border-radius:25px;cursor:pointer;font-size:1rem;transition:all .3s ease}.option-button:hover{background:#e9ecef;transform:translateY(-2px)}.option-button.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea}.start-button{padding:15px 40px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:50px;cursor:pointer;font-size:1.2rem;font-weight:600;transition:all .3s ease}.start-button:hover{transform:translateY(-3px);box-shadow:0 5px 15px #667eea66}.practice-active{text-align:center}.practice-mode-title{font-size:1.3rem;color:#333;margin-bottom:30px}.practice-area{background:#f8f9fa;padding:40px;border-radius:15px;margin-bottom:30px}.practice-text{font-size:1.5rem;line-height:2;margin-bottom:30px;min-height:100px;display:flex;flex-wrap:wrap;gap:5px;justify-content:center}.text-char{padding:5px 10px;border-radius:5px;transition:all .3s ease}.text-char-correct{background:#d4edda;color:#155724}.text-char-current{background:#667eea;color:#fff;animation:pulse 1s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.practice-stats{display:flex;justify-content:space-around;margin-bottom:30px;padding:20px;background:#fff;border-radius:10px;box-shadow:0 2px 4px #0000001a}.stat-item{display:flex;flex-direction:column;align-items:center;gap:5px}.stat-label{font-size:.9rem;color:#666}.stat-value{font-size:1.2rem;font-weight:600;color:#333}.practice-input{width:100%;max-width:500px;padding:15px;font-size:1.1rem;border:2px solid #e9ecef;border-radius:10px;margin-bottom:20px;text-align:center;background:#fff}.practice-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.practice-instructions{background:#fff3cd;color:#856404;padding:15px;border-radius:10px;border:1px solid #ffeaa7}.practice-instructions p{margin:0 0 10px;line-height:1.5}.input-method-tip{margin-top:15px;padding-top:15px;border-top:1px dashed #ffeaa7}.input-method-tip h4{margin:0 0 10px;font-size:1rem;color:#856404}.input-method-tip p{margin:0 0 5px;font-size:.9rem;line-height:1.4}.input-method-section{margin-bottom:10px;padding-left:10px}.input-method-section p{margin:0 0 3px}.input-method-section strong{color:#856404}.input-method-section em{font-style:italic;color:#6c5ce7;font-size:.85rem}.practice-results{text-align:center;background:#f8f9fa;padding:40px;border-radius:15px}.practice-results h3{font-size:1.5rem;color:#333;margin-bottom:30px}.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;margin-bottom:40px}.result-item{background:#fff;padding:20px;border-radius:10px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;align-items:center;gap:10px}.result-label{font-size:.9rem;color:#666}.result-value{font-size:1.3rem;font-weight:600;color:#333}.result-buttons{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.result-button{padding:12px 30px;border:none;border-radius:25px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.result-button.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.result-button.primary:hover{transform:translateY(-3px);box-shadow:0 5px 15px #667eea66}.result-button.secondary{background:#f8f9fa;color:#333;border:2px solid #e9ecef}.result-button.secondary:hover{background:#e9ecef;transform:translateY(-2px)}@media(max-width:768px){.practice-container{padding:10px}.practice-header{flex-direction:column;gap:15px;text-align:center}.practice-title{font-size:1.5rem}.practice-content{padding:20px}.option-buttons{flex-direction:column;align-items:center}.option-button{width:200px}.practice-text{font-size:1.2rem;line-height:1.8}.practice-stats{flex-direction:column;gap:15px}.stat-item{flex-direction:row;justify-content:space-between}.results-grid{grid-template-columns:repeat(2,1fr)}.result-buttons{flex-direction:column;align-items:center}.result-button{width:200px}}@media(max-width:480px){.setup-title{font-size:1.3rem}.practice-mode-title{font-size:1.1rem}.practice-area{padding:20px}.practice-text{font-size:1rem}.text-char{padding:3px 6px}.practice-input{font-size:1rem;padding:12px}.results-grid{grid-template-columns:1fr}}.typing-course-container{min-height:100vh;background-color:#f5f7fa;font-family:Arial,sans-serif}.typing-course-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:3rem 0;text-align:center;box-shadow:0 4px 6px #0000001a}.typing-course-header h1{font-size:2.5rem;margin-bottom:1rem;font-weight:700}.typing-course-header p{font-size:1.2rem;opacity:.9}.typing-course-content{display:flex;max-width:1400px;margin:0 auto;padding:2rem;gap:2rem}.typing-course-sidebar{flex:0 0 250px;background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000000d;padding:1.5rem}.typing-course-nav{display:flex;flex-direction:column;gap:.5rem}.nav-button{display:flex;align-items:center;gap:1rem;padding:1rem;border:none;background:#f8f9fa;border-radius:8px;cursor:pointer;transition:all .3s ease;text-align:left}.nav-button:hover{background:#e9ecef;transform:translate(5px)}.nav-button.active{background:#667eea;color:#fff;font-weight:700}.nav-icon{font-size:1.2rem;min-width:24px}.nav-title{font-size:1rem}.typing-course-main{flex:1;background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000000d;padding:2rem;min-height:80vh}.section-content h2{color:#333;margin-bottom:2rem;font-size:2rem;border-bottom:3px solid #667eea;padding-bottom:.5rem}.section-content h3{color:#555;margin:1.5rem 0 1rem;font-size:1.3rem}.section-content h4{color:#666;margin:1rem 0 .5rem;font-size:1.1rem}.section-content p{color:#777;line-height:1.6;margin-bottom:1rem}.section-content ul{color:#777;line-height:1.6;margin-bottom:1.5rem;padding-left:1.5rem}.section-content li{margin-bottom:.5rem}.course-overview{display:flex;flex-direction:column;gap:2rem}.target-audience{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin:1rem 0}.audience-card{background:#f8f9fa;border-radius:10px;padding:1.5rem;text-align:center;transition:transform .3s ease}.audience-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px #0000001a}.audience-icon{font-size:3rem;margin-bottom:1rem}.expected-outcomes{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin:1rem 0}.outcome-card{background:#f8f9fa;border-radius:10px;padding:1.5rem;transition:transform .3s ease}.outcome-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px #0000001a}.keyboard-parts{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin:1rem 0}.part-card{background:#f8f9fa;border-radius:10px;padding:1.5rem;text-align:center;transition:transform .3s ease}.part-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px #0000001a}.part-card img{max-width:100%;height:auto;border-radius:8px;margin-top:1rem}.keyboard-layout{margin:2rem 0;text-align:center}.keyboard-layout img{max-width:100%;height:auto;border-radius:8px;margin-top:1rem;box-shadow:0 5px 15px #0000001a}.input-method-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin:1rem 0}.method-card{background:#f8f9fa;border-radius:10px;padding:1.5rem;transition:transform .3s ease}.method-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px #0000001a}.method-card ul{margin-top:1rem}.typing-posture{margin:2rem 0}.posture-guide{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.posture-guide img{flex:1;min-width:300px;max-width:500px;border-radius:10px;box-shadow:0 5px 15px #0000001a}.posture-guide ul{flex:1;min-width:300px}.home-row{margin:2rem 0}.home-row-visual{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.home-row-visual img{flex:1;min-width:300px;max-width:500px;border-radius:10px;box-shadow:0 5px 15px #0000001a}.home-row-visual ul,.keyboard-rows-explanation{flex:1;min-width:300px}.keyboard-rows-explanation h4{margin-top:1rem;margin-bottom:.5rem;color:#555}.keyboard-rows-explanation ul{margin-bottom:1rem}.finger-placement{margin:2rem 0}.finger-placement img{max-width:100%;height:auto;border-radius:10px;margin:1rem 0;box-shadow:0 5px 15px #0000001a}.finger-responsibilities{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:1rem 0}.finger-card{background:#f8f9fa;border-radius:8px;padding:1rem;text-align:center;transition:transform .3s ease}.finger-card:hover{transform:translateY(-3px);box-shadow:0 3px 10px #0000000d}.punctuation-table{width:100%;border-collapse:collapse;margin:1rem 0;box-shadow:0 2px 5px #0000000d;border-radius:8px;overflow:hidden}.punctuation-table th,.punctuation-table td{padding:1rem;text-align:left;border-bottom:1px solid #e9ecef}.punctuation-table th{background:#667eea;color:#fff;font-weight:700}.punctuation-table tr:hover{background:#f8f9fa}.typing-tips-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin:1rem 0}.tip-card{background:#f8f9fa;border-radius:10px;padding:1.5rem;transition:transform .3s ease}.tip-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px #0000001a}.exercises-list{display:flex;flex-direction:column;gap:1rem;margin:1rem 0}.exercise-card{background:#f8f9fa;border-radius:8px;padding:1.5rem;border-left:4px solid #667eea}.characters-table,.tones-table{width:100%;border-collapse:collapse;margin:1rem 0;box-shadow:0 2px 5px #0000000d;border-radius:8px;overflow:hidden}.characters-table th,.characters-table td,.tones-table th,.tones-table td{padding:1rem;text-align:left;border-bottom:1px solid #e9ecef}.characters-table th,.tones-table th{background:#667eea;color:#fff;font-weight:700}.characters-table tr:hover,.tones-table tr:hover{background:#f8f9fa}.shortcuts-table,.symbols-table{width:100%;border-collapse:collapse;margin:1rem 0;box-shadow:0 2px 5px #0000000d;border-radius:8px;overflow:hidden}.shortcuts-table th,.shortcuts-table td,.symbols-table th,.symbols-table td{padding:1rem;text-align:left;border-bottom:1px solid #e9ecef}.shortcuts-table th,.symbols-table th{background:#667eea;color:#fff;font-weight:700}.shortcuts-table tr:hover,.symbols-table tr:hover{background:#f8f9fa}@media(max-width:1024px){.typing-course-content{flex-direction:column}.typing-course-sidebar{flex:1;max-width:100%}.typing-course-nav{flex-direction:row;flex-wrap:wrap}.nav-button{flex:1 1 calc(50% - .5rem);min-width:200px}}@media(max-width:768px){.typing-course-header h1{font-size:2rem}.typing-course-content{padding:1rem}.typing-course-main{padding:1.5rem}.nav-button{flex:1 1 100%}.posture-guide,.home-row-visual{flex-direction:column;align-items:stretch}.target-audience,.expected-outcomes,.keyboard-parts,.input-method-cards,.finger-responsibilities,.typing-tips-cards{grid-template-columns:1fr}}.section-content{animation:fadeIn .5s ease-out}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(prefers-contrast:high){.nav-button{border:2px solid #333}.nav-button.active{border:2px solid #fff}}.video-tutorials-content{padding:1rem}.video-intro{font-size:1.1rem;color:#555;margin-bottom:2rem;line-height:1.6}.video-section{margin-bottom:2.5rem}.video-section h3{color:#333;font-size:1.3rem;margin-bottom:1.2rem;padding-bottom:.5rem;border-bottom:2px solid #667eea}.video-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.video-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.video-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026}.video-thumbnail{height:160px;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer}.video-thumbnail.keyboard-video{background:linear-gradient(135deg,#667eea,#764ba2)}.video-thumbnail.posture-video{background:linear-gradient(135deg,#f093fb,#f5576c)}.video-thumbnail.finger-video{background:linear-gradient(135deg,#4facfe,#00f2fe)}.video-thumbnail.vietnamese-video{background:linear-gradient(135deg,#fa709a,#fee140)}.video-thumbnail.office-video{background:linear-gradient(135deg,#30cfd0,#330867)}.video-thumbnail.practice-video{background:linear-gradient(135deg,#a8edea,#fed6e3)}.video-thumbnail.install-video{background:linear-gradient(135deg,#11998e,#38ef7d)}.video-thumbnail.unikey-video{background:linear-gradient(135deg,#56ab2f,#a8e063)}.video-thumbnail.telex-video{background:linear-gradient(135deg,#c21500,#ffc500)}.video-thumbnail.speed-video{background:linear-gradient(135deg,#833ab4,#fd1d1d 0%,#fcb045)}.play-icon{font-size:3rem;color:#fff;opacity:.9;transition:opacity .3s ease;text-shadow:0 2px 10px rgba(0,0,0,.3)}.video-thumbnail:hover .play-icon{opacity:1;transform:scale(1.1)}.video-info{padding:1.2rem}.video-info h4{color:#333;font-size:1rem;margin-bottom:.5rem;font-weight:600}.video-info p{color:#666;font-size:.9rem;margin-bottom:1rem;line-height:1.5}.video-link{display:inline-block;padding:.5rem 1rem;background:#667eea;color:#fff;text-decoration:none;border-radius:6px;font-size:.85rem;transition:background .3s ease}.video-link:hover{background:#5568d3}.video-resources{margin-top:3rem;padding-top:2rem;border-top:2px solid #e0e0e0}.video-resources h3{color:#333;font-size:1.3rem;margin-bottom:1.2rem}.resource-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.2rem}.resource-card{background:#fff;border-radius:10px;padding:1.5rem;box-shadow:0 3px 12px #00000014;transition:transform .3s ease}.resource-card:hover{transform:translateY(-3px)}.resource-card h4{color:#667eea;font-size:1.1rem;margin-bottom:.5rem}.resource-card p{color:#666;font-size:.9rem;margin-bottom:1rem;line-height:1.5}.resource-link{display:inline-block;padding:.4rem .8rem;background:#f0f0f0;color:#333;text-decoration:none;border-radius:5px;font-size:.85rem;transition:background .3s ease,color .3s ease}.resource-link:hover{background:#667eea;color:#fff}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f7fa}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{width:100%;min-height:100vh}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;outline:none}input{font-family:inherit;font-size:inherit;border:none;outline:none}h1,h2,h3,h4,h5,h6{font-weight:600;color:#333}p{line-height:1.5;color:#666}a{color:inherit;text-decoration:none}ul,ol{list-style:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .5s ease forwards}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}.card{background:#fff;border-radius:15px;box-shadow:0 5px 15px #0000001a;padding:30px}@media(max-width:1200px){.container{max-width:950px}}@media(max-width:992px){.container{max-width:750px}}@media(max-width:768px){.container{max-width:100%}.card{padding:20px}}@media(max-width:480px){.card{padding:15px}}
