@import"https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@400;500;700&display=swap";:root{--is-dark-theme: 0;--color-primary: #5271ff;--color-secondary: #41c7be;--color-accent: #ffca58;--color-purple: #7951b3;--color-green: #4eb070;--color-blue: #4a6bff;--color-background: #f6f8fa;--color-card-bg: #ffffff;--color-text: #333333;--color-text-light: #636e72;--color-success: #46b958;--color-error: #e74c3c;--color-warning: #f39c12;--gradient-primary: linear-gradient(45deg, var(--color-primary), #7b90ff);--gradient-secondary: linear-gradient(45deg, var(--color-secondary), #7be0d8);--gradient-accent: linear-gradient(45deg, var(--color-accent), #ffe0a3);--gradient-purple: linear-gradient(45deg, var(--color-purple), #a587d4);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-xxl: 3rem;--font-primary: "Roboto Mono", monospace;--font-secondary: "Roboto Mono", monospace;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 30px;--anim-fast: .2s;--anim-medium: .3s;--anim-slow: .5s;--shadow-small: 0 4px 8px rgba(0, 0, 0, .1);--shadow-medium: 0 8px 24px rgba(0, 0, 0, .12);--shadow-large: 0 16px 38px rgba(0, 0, 0, .15)}@supports (color: color-mix(in srgb,white,black)){:root{--color-primary: color-mix( in srgb, var(--dark-color-primary) calc(var(--is-dark-theme) * 100%), var(--light-color-primary) );--color-secondary: color-mix( in srgb, var(--dark-color-secondary) calc(var(--is-dark-theme) * 100%), var(--light-color-secondary) );--color-accent: color-mix( in srgb, var(--dark-color-accent) calc(var(--is-dark-theme) * 100%), var(--light-color-accent) );--color-purple: color-mix( in srgb, var(--dark-color-purple) calc(var(--is-dark-theme) * 100%), var(--light-color-purple) );--color-green: color-mix( in srgb, var(--dark-color-green) calc(var(--is-dark-theme) * 100%), var(--light-color-green) );--color-blue: color-mix( in srgb, var(--dark-color-blue) calc(var(--is-dark-theme) * 100%), var(--light-color-blue) );--color-background: color-mix( in srgb, var(--dark-color-background) calc(var(--is-dark-theme) * 100%), var(--light-color-background) );--color-card-bg: color-mix( in srgb, var(--dark-color-card-bg) calc(var(--is-dark-theme) * 100%), var(--light-color-card-bg) );--color-text: color-mix( in srgb, var(--dark-color-text) calc(var(--is-dark-theme) * 100%), var(--light-color-text) );--color-text-light: color-mix( in srgb, var(--dark-color-text-light) calc(var(--is-dark-theme) * 100%), var(--light-color-text-light) );--color-success: color-mix( in srgb, var(--dark-color-success) calc(var(--is-dark-theme) * 100%), var(--light-color-success) );--color-error: color-mix( in srgb, var(--dark-color-error) calc(var(--is-dark-theme) * 100%), var(--light-color-error) );--color-warning: color-mix( in srgb, var(--dark-color-warning) calc(var(--is-dark-theme) * 100%), var(--light-color-warning) )}}.game-header{position:sticky;top:0;background-color:var(--color-background);border-bottom:1px solid rgba(var(--rgb-border),.1);padding:var(--space-md) var(--space-lg);z-index:10;transition:background-color var(--anim-medium),border-color var(--anim-medium)}.header-content{display:flex;flex-direction:column;gap:var(--space-md);width:100%;max-width:1200px;margin:0 auto}.header-primary{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:4rem}.header-logo{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;transition:transform var(--anim-fast)}.header-logo:hover{transform:translateY(-2px)}.header-nav{display:flex;align-items:center;gap:var(--space-md)}.nav-link{display:flex;align-items:center;gap:6px;padding:var(--space-xs) var(--space-md);background-color:transparent;border:none;color:var(--color-text);border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--anim-fast),color var(--anim-medium),background-color var(--anim-medium);font-family:var(--font-secondary);text-decoration:none;font-size:.9rem}.nav-link:hover{color:var(--color-primary);transform:translateY(-2px)}.action-button.reset-button{background-color:var(--color-warning);color:var(--is-dark-theme, #333, #222);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--anim-fast),background-color var(--anim-medium);border:none;font-family:var(--font-secondary)}.action-button.reset-button:hover:not(:disabled){filter:brightness(90%);transform:scale(1.05)}.game-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--space-md);width:100%;padding-top:var(--space-sm);align-items:stretch;justify-content:space-between}.stat-item{display:flex;flex-direction:column;align-items:center;background-color:var(--color-card-bg);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);box-shadow:0 2px 5px #00000014;border:1px solid rgba(var(--rgb-border),.05);transition:transform var(--anim-fast),background-color var(--anim-medium),color var(--anim-medium),box-shadow var(--anim-medium),border-color var(--anim-medium);text-align:center}.stat-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-medium);background-color:color-mix(in srgb,var(--color-card-bg) 95%,black 5%);border-color:rgba(var(--rgb-border),.08)}.stat-item.highlighted .stat-value{color:var(--color-primary)}.stat-label{font-size:.8rem;color:var(--color-text-light);margin-bottom:4px;font-family:var(--font-secondary);transition:color var(--anim-medium);text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:1.3rem;font-weight:700;color:var(--color-text);font-family:var(--font-primary);line-height:1.2}.stat-progress-container{width:80%;height:6px;background-color:var(--color-background-muted);border-radius:3px;overflow:hidden;margin-top:var(--space-xs)}.stat-progress-bar{height:100%;background:var(--gradient-primary);border-radius:3px;transition:width .3s ease-out}.sound-toggle{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center}.sound-toggle-button{background:none;border:none;cursor:pointer;font-size:1.3rem;color:var(--color-primary);padding:.3rem;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center;margin-top:.2rem;height:32px;width:32px}.sound-toggle-button:hover{background-color:rgba(var(--rgb-primary),.1);transform:scale(1.1)}.sound-toggle-button:active{transform:scale(.95)}.stat-item.sound-toggle .stat-label{margin-bottom:8px}@media (max-width: 768px){.game-header{padding:var(--space-sm);position:relative}.header-content{width:100%}.header-primary{flex-direction:column;align-items:stretch;gap:var(--space-md)}.header-logo{justify-content:center}.header-nav{flex-wrap:wrap;justify-content:center;gap:var(--space-sm)}.nav-link{font-size:.9rem;padding:var(--space-xs) var(--space-md)}.game-stats{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:var(--space-sm);padding-top:0;margin-top:var(--space-md)}.stat-item{padding:var(--space-xs) var(--space-sm)}.stat-value{font-size:1.1rem}.stat-label{font-size:.75rem}.action-button.reset-button{padding:var(--space-xs) var(--space-sm);font-size:.9rem}.sound-toggle-button{font-size:1.2rem;padding:.2rem}}@media (max-width: 480px){.stat-value{font-size:1.1rem}.stat-label{font-size:.75rem}.sound-toggle-button{font-size:1.1rem;margin-top:.1rem}.action-button.reset-button{padding:var(--space-xs) var(--space-sm);font-size:.9rem}}:root{--is-dark-theme: 0;--color-primary: #5271ff;--color-secondary: #41c7be;--color-accent: #ffca58;--color-purple: #7951b3;--color-green: #4eb070;--color-blue: #4a6bff;--color-background: #f6f8fa;--color-card-bg: #ffffff;--color-text: #333333;--color-text-light: #636e72;--color-success: #46b958;--color-error: #e74c3c;--color-warning: #f39c12;--gradient-primary: linear-gradient(45deg, var(--color-primary), #7b90ff);--gradient-secondary: linear-gradient(45deg, var(--color-secondary), #7be0d8);--gradient-accent: linear-gradient(45deg, var(--color-accent), #ffe0a3);--gradient-purple: linear-gradient(45deg, var(--color-purple), #a587d4);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-xxl: 3rem;--font-primary: "Roboto Mono", monospace;--font-secondary: "Roboto Mono", monospace;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 30px;--anim-fast: .2s;--anim-medium: .3s;--anim-slow: .5s;--shadow-small: 0 4px 8px rgba(0, 0, 0, .1);--shadow-medium: 0 8px 24px rgba(0, 0, 0, .12);--shadow-large: 0 16px 38px rgba(0, 0, 0, .15)}@supports (color: color-mix(in srgb,white,black)){:root{--color-primary: color-mix( in srgb, var(--dark-color-primary) calc(var(--is-dark-theme) * 100%), var(--light-color-primary) );--color-secondary: color-mix( in srgb, var(--dark-color-secondary) calc(var(--is-dark-theme) * 100%), var(--light-color-secondary) );--color-accent: color-mix( in srgb, var(--dark-color-accent) calc(var(--is-dark-theme) * 100%), var(--light-color-accent) );--color-purple: color-mix( in srgb, var(--dark-color-purple) calc(var(--is-dark-theme) * 100%), var(--light-color-purple) );--color-green: color-mix( in srgb, var(--dark-color-green) calc(var(--is-dark-theme) * 100%), var(--light-color-green) );--color-blue: color-mix( in srgb, var(--dark-color-blue) calc(var(--is-dark-theme) * 100%), var(--light-color-blue) );--color-background: color-mix( in srgb, var(--dark-color-background) calc(var(--is-dark-theme) * 100%), var(--light-color-background) );--color-card-bg: color-mix( in srgb, var(--dark-color-card-bg) calc(var(--is-dark-theme) * 100%), var(--light-color-card-bg) );--color-text: color-mix( in srgb, var(--dark-color-text) calc(var(--is-dark-theme) * 100%), var(--light-color-text) );--color-text-light: color-mix( in srgb, var(--dark-color-text-light) calc(var(--is-dark-theme) * 100%), var(--light-color-text-light) );--color-success: color-mix( in srgb, var(--dark-color-success) calc(var(--is-dark-theme) * 100%), var(--light-color-success) );--color-error: color-mix( in srgb, var(--dark-color-error) calc(var(--is-dark-theme) * 100%), var(--light-color-error) );--color-warning: color-mix( in srgb, var(--dark-color-warning) calc(var(--is-dark-theme) * 100%), var(--light-color-warning) )}}.game-sidebar{position:fixed;top:0;left:0;height:100vh;width:250px;background-color:var(--bg-color, #1a1a1a);color:var(--text-color, #d1d0c5);border-right:1px solid rgba(255,255,255,.05);transition:width .3s ease,transform .3s ease;z-index:1000;display:flex;flex-direction:column;font-family:Roboto Mono,monospace;padding-top:4rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(var(--rgb-primary),.5) transparent}.game-sidebar.collapsed{width:60px}.sidebar-content{display:flex;flex-direction:column;height:100%;width:100%}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:0 1rem;height:50px;border-bottom:1px solid rgba(255,255,255,.05);margin-bottom:1rem}.sidebar-header h2{font-size:1.2rem;font-weight:500;margin:0;color:var(--main-color, #e2b714)}.toggle-sidebar-btn{background:none;border:none;color:var(--text-color, #d1d0c5);cursor:pointer;font-size:1.1rem;padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease}.toggle-sidebar-btn:hover{background-color:#ffffff1a}.sidebar-menu{display:flex;flex-direction:column;gap:.5rem;padding:0 .5rem}.sidebar-item{display:flex;align-items:center;padding:.75rem 1rem;border-radius:.5rem;cursor:pointer;transition:background-color .2s ease}.sidebar-item:hover{background-color:#ffffff0d}.sidebar-item.active{background-color:rgba(var(--rgb-primary, 226, 183, 20),.15);position:relative}.sidebar-item.active:before{content:"";position:absolute;left:0;top:0;height:100%;width:3px;background-color:var(--main-color, #e2b714);border-radius:0 3px 3px 0}.sidebar-item-icon{display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--text-color, #d1d0c5);width:24px;height:24px;flex-shrink:0}.sidebar-item.active .sidebar-item-icon{color:var(--main-color, #e2b714)}.sidebar-item-content{margin-left:.75rem;overflow:hidden}.sidebar-item-name{font-size:.9rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-item-description{font-size:.75rem;color:var(--sub-color, #646669);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.test-page{padding-left:250px;transition:padding-left .3s ease}.test-page.sidebar-collapsed{padding-left:60px}@media (max-width: 768px){.game-sidebar{transform:translate(-100%);box-shadow:2px 0 10px #0003}.game-sidebar.collapsed{transform:translate(-100%)}.game-sidebar.mobile-visible{transform:translate(0)}.test-page,.test-page.sidebar-collapsed{padding-left:0}.sidebar-mobile-toggle{display:flex;position:fixed;left:0;top:50%;transform:translateY(-50%);background-color:var(--main-color, #e2b714);color:var(--bg-color, #232323);width:24px;height:40px;border-radius:0 4px 4px 0;justify-content:center;align-items:center;z-index:1001;cursor:pointer;box-shadow:2px 0 5px #0003;border:none}}:root{--is-dark-theme: 0;--color-primary: #5271ff;--color-secondary: #41c7be;--color-accent: #ffca58;--color-purple: #7951b3;--color-green: #4eb070;--color-blue: #4a6bff;--color-background: #f6f8fa;--color-card-bg: #ffffff;--color-text: #333333;--color-text-light: #636e72;--color-success: #46b958;--color-error: #e74c3c;--color-warning: #f39c12;--gradient-primary: linear-gradient(45deg, var(--color-primary), #7b90ff);--gradient-secondary: linear-gradient(45deg, var(--color-secondary), #7be0d8);--gradient-accent: linear-gradient(45deg, var(--color-accent), #ffe0a3);--gradient-purple: linear-gradient(45deg, var(--color-purple), #a587d4);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-xxl: 3rem;--font-primary: "Roboto Mono", monospace;--font-secondary: "Roboto Mono", monospace;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 30px;--anim-fast: .2s;--anim-medium: .3s;--anim-slow: .5s;--shadow-small: 0 4px 8px rgba(0, 0, 0, .1);--shadow-medium: 0 8px 24px rgba(0, 0, 0, .12);--shadow-large: 0 16px 38px rgba(0, 0, 0, .15)}@supports (color: color-mix(in srgb,white,black)){:root{--color-primary: color-mix( in srgb, var(--dark-color-primary) calc(var(--is-dark-theme) * 100%), var(--light-color-primary) );--color-secondary: color-mix( in srgb, var(--dark-color-secondary) calc(var(--is-dark-theme) * 100%), var(--light-color-secondary) );--color-accent: color-mix( in srgb, var(--dark-color-accent) calc(var(--is-dark-theme) * 100%), var(--light-color-accent) );--color-purple: color-mix( in srgb, var(--dark-color-purple) calc(var(--is-dark-theme) * 100%), var(--light-color-purple) );--color-green: color-mix( in srgb, var(--dark-color-green) calc(var(--is-dark-theme) * 100%), var(--light-color-green) );--color-blue: color-mix( in srgb, var(--dark-color-blue) calc(var(--is-dark-theme) * 100%), var(--light-color-blue) );--color-background: color-mix( in srgb, var(--dark-color-background) calc(var(--is-dark-theme) * 100%), var(--light-color-background) );--color-card-bg: color-mix( in srgb, var(--dark-color-card-bg) calc(var(--is-dark-theme) * 100%), var(--light-color-card-bg) );--color-text: color-mix( in srgb, var(--dark-color-text) calc(var(--is-dark-theme) * 100%), var(--light-color-text) );--color-text-light: color-mix( in srgb, var(--dark-color-text-light) calc(var(--is-dark-theme) * 100%), var(--light-color-text-light) );--color-success: color-mix( in srgb, var(--dark-color-success) calc(var(--is-dark-theme) * 100%), var(--light-color-success) );--color-error: color-mix( in srgb, var(--dark-color-error) calc(var(--is-dark-theme) * 100%), var(--light-color-error) );--color-warning: color-mix( in srgb, var(--dark-color-warning) calc(var(--is-dark-theme) * 100%), var(--light-color-warning) )}}.game-page{display:flex;flex-direction:column;width:100%;margin:0 auto;min-height:100vh;position:relative;background-color:var(--color-background);color:var(--color-text);transition:background-color var(--anim-medium),color var(--anim-medium);padding-left:250px;box-sizing:border-box;transition:padding-left .3s ease}.game-page.sidebar-collapsed{padding-left:60px}.game-page .sidebar-mobile-toggle{display:none;position:fixed;left:10px;top:70px;z-index:1001;background:var(--color-primary);border:none;color:var(--bg-darkest, #0f172a);width:36px;height:36px;border-radius:50%;justify-content:center;align-items:center;cursor:pointer;box-shadow:0 2px 5px #0003}.game-header{position:sticky;top:0;background-color:var(--color-background) transparent;border-bottom:1px solid rgba(var(--is-dark-theme, 255, 255, 255, .1),var(--is-dark-theme, 0, 0, 0, .1));padding:var(--space-md) var(--space-lg);z-index:10;border-radius:var(--radius-md);transition:all var(--anim-medium)}.header-content{display:flex;flex-direction:column;gap:var(--space-md);width:100%;max-width:1200px;margin:0 auto}.header-primary{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:4rem}.header-logo{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;transition:transform var(--anim-fast)}.header-logo:hover{transform:translateY(-2px)}.logo-svg{color:var(--color-text)}.game_title{font-size:1.8rem;font-weight:700;margin:0;font-family:var(--font-primary);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;position:relative;text-shadow:var( --is-dark-theme, 0 1px 2px rgba(0, 0, 0, .2), 0 1px 1px rgba(255, 255, 255, .1) )}.header-nav{display:flex;align-items:center;gap:var(--space-md)}.nav-link{display:flex;align-items:center;gap:6px;padding:var(--space-xs) var(--space-md);background-color:transparent;border:none;color:var(--color-text);border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--anim-fast),color var(--anim-medium),background-color var(--anim-medium);font-family:var(--font-secondary);text-decoration:none;font-size:.9rem}.nav-link:hover{color:var(--color-primary);transform:translateY(-2px)}.back-button{display:flex;align-items:center;padding:var(--space-sm) var(--space-md);background-color:transparent;border:2px solid var(--color-primary);color:var(--color-primary);border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--anim-fast);font-family:var(--font-secondary);min-width:85px}.back-button:hover{background-color:var(--color-primary);color:var(--is-dark-theme, white, #222);transform:translate(-3px);box-shadow:var(--shadow-small)}.game-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--space-md);width:100%;padding-top:var(--space-sm);align-items:stretch;justify-content:space-between}.stat-item{display:flex;flex-direction:column;align-items:center;background-color:var(--color-card-bg);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);box-shadow:0 2px 5px #00000014;border:1px solid rgba(0,0,0,.05);transition:transform var(--anim-fast),background-color var(--anim-medium),color var(--anim-medium),box-shadow var(--anim-medium),border-color var(--anim-medium);text-align:center}.stat-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-medium);background-color:color-mix(in srgb,var(--color-card-bg) 95%,black 5%);border-color:#00000014}.game-page .stat-label{font-size:.8rem;color:var(--color-text-light);margin-bottom:4px;font-family:var(--font-secondary);transition:color var(--anim-medium);text-transform:uppercase;letter-spacing:.5px}.game-page .stat-value{font-size:1.3rem;font-weight:700;color:var(--color-text);font-family:var(--font-primary);line-height:1.2}.game-page .stat-item.highlighted .stat-value{color:var(--color-primary)}.stat-progress-container{width:80%;height:6px;background-color:var(--color-background-muted);border-radius:3px;overflow:hidden;margin-top:var(--space-xs)}.stat-progress-bar{height:100%;background:var(--gradient-primary);border-radius:3px;transition:width .3s ease-out}.sound-toggle{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center}.sound-toggle-button{background:none;border:none;cursor:pointer;font-size:1.3rem;color:var(--color-primary);padding:.3rem;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center;margin-top:.2rem;height:32px;width:32px}.sound-toggle-button:hover{background-color:#1976d21a;transform:scale(1.1)}.sound-toggle-button:active{transform:scale(.95)}.stat-item.sound-toggle .stat-label{margin-bottom:8px}.game-container{flex-grow:1;background-color:var(--color-card-bg);color:var(--color-text);border-radius:var(--radius-lg);position:relative;overflow:hidden;min-height:500px;padding:var(--space-xl);display:flex;justify-content:center;align-items:center;transition:all var(--anim-medium),background-color var(--anim-medium),color var(--anim-medium),box-shadow var(--anim-medium);box-shadow:var(--shadow-large);transform:translateY(-2px);margin:var(--space-lg)}.game-container:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-primary)}.game-container:hover{box-shadow:var(--shadow-large);transform:translateY(-2px)}.game-actions{display:flex;justify-content:center;gap:var(--space-md);margin-top:var(--space-md)}.action-button{padding:var(--space-sm) var(--space-lg);background-color:var(--color-primary);color:var(--is-dark-theme, white, #222);border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--anim-fast),background-color var(--anim-medium),color var(--anim-medium);border:none;font-family:var(--font-secondary)}.action-button:disabled{opacity:.5;cursor:not-allowed}.action-button:hover:not(:disabled){filter:brightness(110%);transform:translateY(-2px)}.reset-button{background-color:var(--color-warning);color:var(--is-dark-theme, #333, #222);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--anim-fast),background-color var(--anim-medium);border:none;font-family:var(--font-secondary)}.reset-button:hover:not(:disabled){filter:brightness(90%);transform:scale(1.05)}@media (max-width: 1200px){.game-container{margin:var(--space-md)}.game-page.sidebar-collapsed .game-container{margin-left:auto;margin-right:auto}}@media (max-width: 768px){.game-page{padding:var(--space-md);padding-left:0}.game-page.sidebar-collapsed{padding-left:0}.game-page .sidebar-mobile-toggle{display:none}.game-header{padding:var(--space-sm);position:relative}.header-content{width:100%}.header-primary{flex-direction:column;align-items:stretch;gap:var(--space-md)}.header-logo{justify-content:center}.header-nav{flex-wrap:wrap;justify-content:center;gap:var(--space-sm)}.nav-link{font-size:.9rem;padding:var(--space-xs) var(--space-md)}.game_title{font-size:1.6rem;text-align:center;width:100%}.game-stats{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:var(--space-sm);padding-bottom:0;margin-top:var(--space-md)}.stat-item{padding:var(--space-xs) var(--space-sm)}.game-page .stat-value{font-size:1.1rem}.game-page .stat-label{font-size:.75rem}.reset-button{padding:var(--space-xs) var(--space-sm);font-size:.9rem}.game-container{padding:var(--space-md);min-height:350px;margin:var(--space-md)}.sound-toggle-button{font-size:1.2rem;padding:.2rem}}@media (max-width: 480px){.game-page .stat-value{font-size:1.1rem}.game-page .stat-label{font-size:.75rem}.sound-toggle-button{font-size:1.1rem;margin-top:.1rem}.reset-button{padding:var(--space-xs) var(--space-sm);font-size:.9rem}}:root{--bg-darkest: #0f172a;--bg-dark: #1e293b;--bg-medium: #334155;--text-light: #e2e8f0;--text-medium: #94a3b8;--text-dark: #64748b;--accent-cyan: #22d3ee;--accent-green: #4ade80;--accent-red: #f87171;--accent-pink: #f472b6;--accent-blue: #60a5fa;--accent-purple: #a78bfa;--font-sans: "Inter", sans-serif;--font-mono: "Roboto Mono", monospace}.race-page{display:flex;flex-direction:column;min-height:100vh;height:auto;overflow:hidden;background-color:var(--bg-darkest);color:var(--text-light);font-family:var(--font-sans);padding:0 0 0 250px;box-sizing:border-box;transition:padding-left .3s ease}.race-page.sidebar-collapsed{padding-left:60px}.race-container{flex-grow:1;display:flex;flex-direction:column;width:100%;max-width:1200px;margin:0 auto;padding:1rem 2rem 2rem;overflow:hidden}.sidebar-mobile-toggle{display:none;position:fixed;left:10px;top:70px;z-index:1001;background:var(--accent-cyan);border:none;color:var(--bg-darkest);width:36px;height:36px;border-radius:50%;justify-content:center;align-items:center;cursor:pointer;box-shadow:0 2px 5px #0003}@media (max-width: 1200px){.race-container{max-width:calc(100vw - 280px);padding:1rem}.race-page.sidebar-collapsed .race-container{max-width:calc(100vw - 80px);margin-left:auto;margin-right:auto}}@media (max-width: 768px){.race-page,.race-page.sidebar-collapsed{padding-left:0}.sidebar-mobile-toggle{display:none}.race-container{width:100%;max-width:100%;padding:.5rem}.sentence-display{min-width:unset;width:95%}}.canvas-container{position:relative;width:100%;height:auto;min-height:150px;border-radius:12px;overflow:hidden;border:1px solid rgba(71,85,105,.3);box-shadow:0 10px 15px -3px #00000040}.race-canvas{display:block;width:100%;height:auto}.typing-area{flex-grow:0;flex-shrink:0;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:120px;background-color:transparent!important;border:none!important;box-shadow:none!important;padding:15px 0;position:relative;width:100%}.typing-content{width:100%;display:flex;justify-content:center}.sentence-display{overflow-x:hidden;width:100%;max-width:900px;min-width:600px;padding:1.25rem 1.75rem;background-color:#1e293bcc;border-radius:10px;border:1px solid rgba(100,116,139,.4);margin:0 auto;font-family:var(--font-mono);font-size:1.5rem;line-height:1.6;color:var(--text-medium);box-shadow:0 4px 20px #0003;white-space:nowrap!important;position:relative;min-height:65px;display:flex;align-items:center}.sentence-text-wrapper{display:inline-block;transition:transform .2s ease-out;color:var(--text-dark);white-space:nowrap;width:100%}.sentence-display span{display:inline-block;font-weight:500;transition:color .1s ease}.sentence-display .char-correct{color:var(--accent-green)}.sentence-display .char-incorrect{color:var(--accent-red);background-color:#f8717133;border-radius:3px}.sentence-display .char-pending{color:var(--text-dark)}.sentence-display .char-current{border-bottom:2px solid var(--accent-cyan);border-radius:3px;padding:2px 1px;margin:0 -1px;animation:cursor-blink 1.2s infinite;background-color:#4a5568b3;position:relative;box-shadow:0 0 10px #22d3ee4d}.sentence-display .race-start{padding:1rem 0;background:none;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.5rem;width:100%}.sentence-display .race-start h2{font-size:2rem;font-weight:700;background:linear-gradient(120deg,var(--accent-cyan),var(--accent-purple));-webkit-background-clip:text;background-clip:text;color:transparent;margin:0;text-shadow:0 2px 10px rgba(34,211,238,.2)}.sentence-display .countdown{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}.sentence-display .countdown-number{font-size:3.5rem;font-weight:700;color:var(--accent-cyan);line-height:1;animation:countdown-pulse 1s infinite;text-shadow:0 0 15px rgba(34,211,238,.4)}.countdown-text{display:none}.start-button,.race-again-button,.home-button{display:inline-block;padding:.9rem 2rem;font-size:1.1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;background:linear-gradient(to right,var(--accent-cyan),var(--accent-blue));color:var(--bg-darkest);margin:0 .7rem;position:relative;overflow:hidden;box-shadow:0 4px 10px #22d3ee4d;letter-spacing:.02em}.start-button:before,.race-again-button:before,.home-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:.5s}.start-button:hover:before,.race-again-button:hover:before,.home-button:hover:before{left:100%}.start-button:hover,.race-again-button:hover,.home-button:hover{transform:translateY(-3px);box-shadow:0 6px 15px #22d3ee66}.start-button:active,.race-again-button:active,.home-button:active{transform:translateY(0);box-shadow:0 2px 5px #22d3ee33}.start-button:focus,.race-again-button:focus,.home-button:focus{outline:none;box-shadow:0 0 0 3px #38bdf880,0 4px 10px #22d3ee4d;transform:translateY(-2px);transition:box-shadow .2s ease,transform .2s ease;position:relative}.start-button:focus:after,.race-again-button:focus:after,.home-button:focus:after{content:"";position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;border-radius:12px;border:2px solid rgba(56,189,248,.7);animation:focus-pulse 1.5s infinite;pointer-events:none}@keyframes focus-pulse{0%,to{opacity:.6}50%{opacity:1}}.home-button{background:linear-gradient(to right,var(--bg-medium),var(--text-dark));color:var(--text-light)}.home-button:hover{box-shadow:0 6px 15px #64748b4d}.progress-label{font-size:.85rem;color:var(--text-medium);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px;text-align:center;font-weight:500}.progress-bar-container{height:8px;background-color:#33415580;border-radius:4px;position:relative;overflow:hidden;box-shadow:inset 0 1px 3px #0003}.progress-bar{height:100%;background:linear-gradient(to right,var(--accent-cyan),var(--accent-green));border-radius:4px;transition:width .2s ease-out;position:relative}.progress-finish-line{display:none}.race-results{text-align:center;max-width:600px;padding:30px;background:rgba(30,41,59,.3);border-radius:12px;border:1px solid rgba(71,85,105,.2);box-shadow:0 10px 25px -5px #0000001a}.race-results h2{font-size:2.2rem;color:var(--text-light);margin-bottom:25px;font-weight:700;background:linear-gradient(120deg,var(--accent-green),var(--accent-blue));-webkit-background-clip:text;background-clip:text;color:transparent}.results-summary{display:flex;justify-content:center;gap:40px;margin-bottom:30px;padding:20px;background-color:#1e293b99;border-radius:10px;border:1px solid rgba(71,85,105,.3)}.result-stat{background-color:transparent;padding:10px;color:var(--text-light);font-size:1.3rem;font-weight:600}.result-stat span{font-weight:500;color:var(--text-medium);margin-right:10px;font-size:1rem;text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:5px}.result-actions{margin-top:35px;display:flex;justify-content:center;gap:15px}.results-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0f172ad9;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease-out}.results-popup{width:90%;max-width:500px;background:linear-gradient(135deg,rgba(30,41,59,.9),rgba(15,23,42,.95));border-radius:16px;overflow:hidden;box-shadow:0 20px 40px -10px #00000080,0 0 40px #22d3ee33;border:1px solid rgba(100,116,139,.2);transform:translateY(0);animation:popIn .4s cubic-bezier(.175,.885,.32,1.275);position:relative}.results-popup-close{position:absolute;top:15px;right:15px;width:32px;height:32px;border-radius:50%;background:rgba(30,41,59,.7);border:1px solid rgba(100,116,139,.3);color:var(--text-medium);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:2;padding:0;font-size:16px}.results-popup-close:hover{background:rgba(51,65,85,.9);color:var(--text-light);transform:scale(1.1)}.results-popup-close:active{transform:scale(.95)}.results-popup-content{padding:2.5rem;text-align:center}.results-popup h2{font-size:2.8rem;font-weight:800;margin:0 0 1.5rem;background:linear-gradient(135deg,var(--accent-cyan),var(--accent-purple));-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.02em;text-shadow:0 2px 10px rgba(34,211,238,.3)}.results-popup .results-summary{display:flex;justify-content:center;gap:2.5rem;margin:2rem 0;padding:1.5rem;background-color:#0f172a99;border-radius:12px;border:1px solid rgba(100,116,139,.2);box-shadow:inset 0 2px 8px #0003}.results-popup .result-stat{display:flex;flex-direction:column;align-items:center;color:var(--text-light);font-size:2.2rem;font-weight:700}.results-popup .result-stat span{font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--text-medium);margin-bottom:.5rem}.results-popup .result-actions{margin-top:2.5rem;display:flex;justify-content:center;gap:1rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{transform:scale(.9);opacity:0}70%{transform:scale(1.05);opacity:1}to{transform:scale(1);opacity:1}}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:.5}}@keyframes countdown-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}.speed-indicator,.sentence-overlay,.current-word,.word-queue,.share-container,.result-card,.results-content .results-stats,.completed-words{display:none}.focus-trap{position:absolute;opacity:0;pointer-events:none;height:1px;width:1px;overflow:hidden;outline:none}.typing-progress-container{position:absolute;bottom:0;left:0;width:100%;height:2px;background-color:#64748b33;overflow:hidden}.typing-progress-bar{height:100%;transition:width .15s ease-out,background-color .3s ease;will-change:width}.controls-container{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:10px;position:absolute;top:10px;right:10px;z-index:10}.language-selector-btn{background-color:#0009;border:1px solid rgba(0,255,255,.4);border-radius:20px;padding:8px 16px;color:#fff;font-size:14px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 0 8px #0ff3;text-shadow:0 0 5px rgba(0,255,255,.5)}.language-selector-btn:hover{background-color:#001428cc;border-color:#0ffc;box-shadow:0 0 12px #0ff6;transform:translateY(-1px)}.language-selector-btn:active{transform:translateY(1px);box-shadow:0 0 5px #00ffff4d}.language-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;backdrop-filter:blur(3px)}.language-modal{background-color:#1a1a2a;border-radius:12px;box-shadow:0 0 20px #0ff3;width:90%;max-width:500px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;border:1px solid rgba(0,255,255,.3)}.language-modal-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.language-modal-header h3{margin:0;color:#fff;font-size:18px}.language-modal-close{background:none;border:none;color:#fff;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;padding:5px;border-radius:50%;transition:background-color .2s}.language-modal-close:hover{background-color:#ffffff1a}.language-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;padding:20px;overflow-y:auto;max-height:60vh}.language-option{background-color:#0000004d;border:1px solid rgba(0,255,255,.2);border-radius:8px;padding:12px;color:#fff;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;overflow:hidden}.language-option:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,255,255,.5),transparent);transform:translate(-100%);transition:transform .5s ease}.language-option:hover{background-color:#00142880;border-color:#0ff9;box-shadow:0 0 10px #00ffff4d;transform:translateY(-2px)}.language-option:hover:before{transform:translate(100%)}.language-option.selected{background-color:#00283c80;border-color:#0ff;box-shadow:0 0 15px #00ffff80,inset 0 0 8px #0ff3}.language-name-local{font-size:16px;font-weight:700;margin-bottom:4px}.language-name-english{font-size:12px;opacity:.7}:root{--bg-darkest: #0b132b;--bg-dark: #1c2541;--bg-medium: #3a506b;--text-light: #f0f8ff;--text-medium: #a4c4df;--text-dark: #6b7a8f;--accent-cyan: #00ffff;--accent-green: #90ee90;--accent-red: #ff6f61;--accent-yellow: #ffd700;--accent-white: #ffffff;--accent-blue: #87ceeb;--font-sans: "Inter", sans-serif;--font-mono: "Roboto Mono", monospace}.boat-race-page{display:flex;flex-direction:column;min-height:100vh;height:auto;overflow:hidden;background:linear-gradient(180deg,var(--bg-darkest) 0%,var(--bg-dark) 100%);color:var(--text-light);font-family:var(--font-sans);padding:0 0 0 250px;box-sizing:border-box;transition:padding-left .3s ease}.boat-race-page.sidebar-collapsed{padding-left:60px}.boat-race-container{flex-grow:1;display:flex;flex-direction:column;width:100%;max-width:1200px;margin:0 auto;padding:1rem 2rem 2rem;overflow:hidden}.canvas-container{position:relative;width:100%;height:auto;border-radius:12px;overflow:hidden;border:1px solid rgba(135,206,235,.4);box-shadow:0 10px 15px -3px #0003}.boat-race-canvas{display:block;width:100%;height:auto}.typing-area{flex-grow:0;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:120px;background-color:transparent!important;border:none!important;box-shadow:none!important;padding:15px 0;position:relative;width:100%}.typing-content{width:100%;display:flex;justify-content:center}.sentence-display{overflow-x:hidden;width:100%;padding:1.25rem 1.75rem;background-color:#1c2541d9;border-radius:10px;border:1px solid rgba(135,206,235,.5);margin:0 auto;font-family:var(--font-mono);font-size:1.5rem;line-height:1.6;color:var(--text-medium);box-shadow:0 4px 20px #0000004d;white-space:nowrap!important;position:relative;min-height:65px;display:flex;align-items:center}.sentence-text-wrapper{display:inline-block;transition:transform .2s ease-out;color:var(--text-dark);white-space:nowrap;width:100%}.sentence-display span{display:inline-block;font-weight:500;transition:color .1s ease}.sentence-display .char-correct{color:var(--accent-green)}.sentence-display .char-incorrect{color:var(--accent-red);background-color:#ff6f6133;border-radius:3px}.sentence-display .char-pending{color:var(--text-dark)}.sentence-display .char-current{border-bottom:2px solid var(--accent-cyan);border-radius:3px;padding:2px 1px;margin:0 -1px;animation:cursor-blink 1.2s infinite;background-color:#3a506bb3;position:relative;box-shadow:0 0 10px #00ffff4d}.sentence-display .boat-race-start{padding:1rem 0;background:none;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.5rem;width:100%}.sentence-display .boat-race-start h2{font-size:2rem;font-weight:700;background:linear-gradient(120deg,var(--accent-cyan),var(--accent-white));-webkit-background-clip:text;background-clip:text;color:transparent;margin:0;text-shadow:0 2px 10px rgba(0,255,255,.2)}.sentence-display .countdown{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}.sentence-display .countdown-number{font-size:3.5rem;font-weight:700;color:var(--accent-yellow);line-height:1;animation:countdown-pulse 1s infinite;text-shadow:0 0 15px rgba(255,215,0,.4)}.countdown-text{display:none}.start-button,.race-again-button,.home-button{display:inline-block;padding:.9rem 2rem;font-size:1.1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;background:linear-gradient(to right,var(--accent-cyan),var(--accent-blue));color:var(--bg-darkest);margin:0 .7rem;position:relative;overflow:hidden;box-shadow:0 4px 10px #00ffff4d;letter-spacing:.02em}.start-button:before,.race-again-button:before,.home-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:.5s}.start-button:hover:before,.race-again-button:hover:before,.home-button:hover:before{left:100%}.start-button:hover,.race-again-button:hover,.home-button:hover{transform:translateY(-3px);box-shadow:0 6px 15px #0ff6}.start-button:active,.race-again-button:active,.home-button:active{transform:translateY(0);box-shadow:0 2px 5px #0ff3}.start-button:focus,.race-again-button:focus,.home-button:focus{outline:none;box-shadow:0 0 0 3px #00c8c880,0 4px 10px #00ffff4d;transform:translateY(-2px);transition:box-shadow .2s ease,transform .2s ease;position:relative}.start-button:focus:after,.race-again-button:focus:after,.home-button:focus:after{content:"";position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;border-radius:12px;border:2px solid rgba(0,255,255,.7);animation:focus-pulse 1.5s infinite;pointer-events:none}@keyframes focus-pulse{0%,to{opacity:.6}50%{opacity:1}}.home-button{background:linear-gradient(to right,var(--bg-medium),var(--text-dark));color:var(--text-light);box-shadow:0 4px 10px #3a506b4d}.home-button:hover{box-shadow:0 6px 15px #3a506b66}.progress-label,.progress-bar-container,.progress-bar,.progress-finish-line{display:none}.results-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0b132be6;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease-out;backdrop-filter:blur(4px)}.results-popup{width:90%;max-width:500px;background:linear-gradient(135deg,rgba(28,37,65,.95),rgba(11,19,43,.98));border-radius:16px;overflow:hidden;box-shadow:0 20px 40px -10px #00000080,0 0 40px #00ffff40;border:1px solid rgba(0,255,255,.3);transform:translateY(0);animation:popIn .4s cubic-bezier(.175,.885,.32,1.275);position:relative}.results-popup-close{position:absolute;top:15px;right:15px;width:32px;height:32px;border-radius:50%;background:rgba(28,37,65,.8);border:1px solid rgba(0,255,255,.4);color:var(--text-light);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:2;padding:0;font-size:16px}.results-popup-close:hover{background:rgba(58,80,107,.9);color:var(--accent-white);transform:scale(1.1)}.results-popup-close:active{transform:scale(.95)}.results-popup-content{padding:2.5rem;text-align:center}.results-popup h2{font-size:2.8rem;font-weight:800;margin:0 0 1.5rem;background:linear-gradient(135deg,var(--accent-cyan),var(--accent-yellow));-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.02em;text-shadow:0 2px 10px rgba(0,255,255,.3)}.results-popup .results-summary{display:flex;justify-content:center;gap:2.5rem;margin:2rem 0;padding:1.5rem;background-color:#0b132bb3;border-radius:12px;border:1px solid rgba(0,255,255,.25);box-shadow:inset 0 2px 8px #0000004d}.results-popup .result-stat{display:flex;flex-direction:column;align-items:center;color:var(--text-light);font-size:2.2rem;font-weight:700}.results-popup .result-stat span{font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--text-medium);margin-bottom:.5rem}.results-popup .result-actions{margin-top:2.5rem;display:flex;justify-content:center;gap:1rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{transform:scale(.9) translateY(10px);opacity:0}70%{transform:scale(1.03) translateY(-5px);opacity:1}to{transform:scale(1) translateY(0);opacity:1}}@keyframes cursor-blink{0%,to{opacity:1;border-bottom-color:var(--accent-cyan)}50%{opacity:.6;border-bottom-color:transparent}}@keyframes countdown-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.85}}.speed-indicator,.sentence-overlay,.current-word,.word-queue,.share-container,.result-card,.results-content .results-stats,.completed-words,.race-results{display:none}.focus-trap{position:absolute;opacity:0;pointer-events:none;height:1px;width:1px;overflow:hidden;outline:none}.typing-progress-container{position:absolute;bottom:0;left:0;width:100%;height:3px;background-color:#00ffff26;overflow:hidden;border-bottom-left-radius:10px;border-bottom-right-radius:10px}.typing-progress-bar{height:100%;transition:width .15s ease-out,background-color .3s ease;will-change:width;background:linear-gradient(to right,var(--accent-green),lightgreen)}.typing-progress-bar[style*="var(--accent-red)"]{background:linear-gradient(to right,var(--accent-red),lightcoral)}.controls-container{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:10px;position:absolute;top:15px;right:15px;z-index:10}.language-selector-btn{background-color:#1c2541b3;border:1px solid rgba(0,255,255,.5);border-radius:20px;padding:8px 16px;color:var(--text-light);font-size:14px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 0 8px #0ff3;text-shadow:0 0 5px rgba(0,255,255,.3)}.language-selector-btn:hover{background-color:#3a506bcc;border-color:#0ffc;box-shadow:0 0 12px #0ff6;transform:translateY(-1px)}.language-selector-btn:active{transform:translateY(1px);box-shadow:0 0 5px #00ffff4d}.language-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0b132bcc;display:flex;justify-content:center;align-items:center;z-index:1000;backdrop-filter:blur(5px)}.language-modal{background-color:var(--bg-dark);border-radius:12px;box-shadow:0 0 25px #00ffff40;width:90%;max-width:500px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;border:1px solid rgba(0,255,255,.4)}.language-modal-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid rgba(0,255,255,.2)}.language-modal-header h3{margin:0;color:var(--text-light);font-size:18px}.language-modal-close{background:none;border:none;color:var(--text-light);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;padding:5px;border-radius:50%;transition:background-color .2s,color .2s}.language-modal-close:hover{background-color:#00ffff1a;color:var(--accent-cyan)}.language-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;padding:20px;overflow-y:auto;max-height:60vh}.language-option{background-color:#3a506b80;border:1px solid rgba(0,255,255,.3);border-radius:8px;padding:12px;color:var(--text-light);cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;overflow:hidden}.language-option:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:transform .5s ease;transform:skew(-25deg)}.language-option:hover{background-color:#576d89b3;border-color:#00ffffb3;box-shadow:0 0 10px #00ffff4d;transform:translateY(-2px)}.language-option:hover:before{transform:translate(200%) skew(-25deg)}.language-option.selected{background-color:#0ff3;border-color:var(--accent-cyan);box-shadow:0 0 15px #00ffff80,inset 0 0 8px #0ff3;color:var(--accent-white)}.language-name-local{font-size:16px;font-weight:700;margin-bottom:4px}.language-name-english{font-size:12px;opacity:.8}.sidebar-mobile-toggle{display:none;position:fixed;left:10px;top:70px;z-index:1001;background:var(--accent-cyan);border:none;color:var(--bg-darkest);width:36px;height:36px;border-radius:50%;justify-content:center;align-items:center;cursor:pointer;box-shadow:0 2px 5px #0003}@media (max-width: 1200px){.boat-race-container{max-width:calc(100vw - 280px);padding:1rem}.boat-race-page.sidebar-collapsed .boat-race-container{max-width:calc(100vw - 80px);margin-left:auto;margin-right:auto}}@media (max-width: 768px){.boat-race-page,.boat-race-page.sidebar-collapsed{padding-left:0}.sidebar-mobile-toggle{display:none}.boat-race-container{width:100%;max-width:100%;padding:.5rem}.sentence-display{min-width:unset;width:95%}}:root{--medium-bg-light: #ffffff;--medium-bg-dark: #121212;--medium-text-light: #292929;--medium-text-dark: #e6e6e6;--medium-secondary-light: #757575;--medium-secondary-dark: #a0a0a0;--medium-border-light: #e6e6e6;--medium-border-dark: #2f2f2f;--medium-accent: #1a8917;--medium-accent-hover: #156d13;--medium-card-bg-light: #ffffff;--medium-card-bg-dark: #1e1e1e;--container-width: 1200px}.blog-page{min-height:100vh;background-color:var(--background-color, var(--medium-bg-light));color:var(--text-color, var(--medium-text-light));font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased}.blog-hero{padding:3rem 1.5rem 2rem;border-bottom:1px solid var(--border-color, var(--medium-border-light));margin-bottom:2rem}.blog-hero-content{max-width:700px;margin:0 auto;text-align:left}.blog-hero h1{font-size:2.5rem;font-weight:700;color:var(--heading-color, var(--medium-text-light));margin-bottom:.5rem;line-height:1.2;letter-spacing:-.03em}.blog-hero p{font-size:1.25rem;color:var(--secondary-text, var(--medium-secondary-light));line-height:1.5}.blog-container{max-width:var(--container-width);margin:0 auto;padding:0 1.5rem 4rem}.blog-posts-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;max-width:1200px;margin:0 auto}.blog-post-card{display:grid;grid-template-columns:1fr;gap:1.25rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color, var(--medium-border-light));cursor:pointer;transition:opacity .2s ease}.blog-post-card:hover{opacity:.9}.card-image-container{aspect-ratio:16/9;overflow:hidden;border-radius:4px}.card-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.card-content{display:flex;flex-direction:column;gap:.75rem}.card-category{font-size:.8rem;font-weight:500;color:var(--category-color, var(--medium-accent));text-transform:uppercase;letter-spacing:.05em}.card-title{font-size:1.5rem;font-weight:700;line-height:1.3;color:var(--heading-color, var(--medium-text-light));margin:0}.card-excerpt{font-size:1rem;line-height:1.5;color:var(--secondary-text, var(--medium-secondary-light));margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-meta{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:var(--meta-color, var(--medium-secondary-light));margin-top:.5rem}.card-author{font-weight:500}.card-date-divider{display:inline-block;width:3px;height:3px;border-radius:50%;background-color:var(--meta-color, var(--medium-secondary-light))}.card-read-time{font-weight:400}.share-button{background:none;border:none;color:var(--meta-color, var(--medium-secondary-light));cursor:pointer;padding:0;margin-left:auto;display:flex;align-items:center;gap:.25rem;font-size:.875rem}.share-button:hover{color:var(--medium-accent)}.share-icon{width:16px;height:16px}.featured-post{display:grid;grid-template-columns:1fr;gap:1.5rem;padding-bottom:3rem;margin-bottom:3rem;border-bottom:1px solid var(--border-color, var(--medium-border-light))}.featured-post-image{aspect-ratio:16/9;width:100%;overflow:hidden;border-radius:4px}.featured-post-image img{width:100%;height:100%;object-fit:cover}.featured-post-content{display:flex;flex-direction:column;gap:1rem}.featured-post-title{font-size:2rem;font-weight:700;line-height:1.2;color:var(--heading-color, var(--medium-text-light));margin:0;letter-spacing:-.02em}.author-avatar{width:24px;height:24px;border-radius:50%;object-fit:contain;background-color:#fff;border:1px solid var(--border-color, var(--medium-border-light));padding:2px;margin-right:6px}@media (prefers-color-scheme: dark){.blog-page{background-color:var(--background-color-dark, var(--medium-bg-dark));color:var(--text-color-dark, var(--medium-text-dark))}.blog-hero{border-bottom-color:var(--border-color-dark, var(--medium-border-dark))}.blog-hero h1{color:var(--heading-color-dark, var(--medium-text-dark))}.blog-hero p{color:var(--secondary-text-dark, var(--medium-secondary-dark))}.blog-post-card{border-bottom-color:var(--border-color-dark, var(--medium-border-dark))}.card-title{color:var(--heading-color-dark, var(--medium-text-dark))}.card-excerpt{color:var(--secondary-text-dark, var(--medium-secondary-dark))}.card-meta{color:var(--meta-color-dark, var(--medium-secondary-dark))}.card-date-divider{background-color:var(--meta-color-dark, var(--medium-secondary-dark))}.share-button{color:var(--meta-color-dark, var(--medium-secondary-dark))}.featured-post{border-bottom-color:var(--border-color-dark, var(--medium-border-dark))}.featured-post-title{color:var(--heading-color-dark, var(--medium-text-dark))}}@media (min-width: 992px){.blog-posts-grid{grid-template-columns:repeat(2,1fr)}.featured-post{grid-template-columns:1.2fr .8fr;align-items:center;gap:3rem}.featured-post-title{font-size:2.25rem}.blog-posts-grid>div:first-child{grid-column:1 / -1}}:root{--medium-bg-light: #ffffff;--medium-bg-dark: #121212;--medium-text-light: #292929;--medium-text-dark: #e6e6e6;--medium-secondary-light: #757575;--medium-secondary-dark: #a0a0a0;--medium-border-light: #e6e6e6;--medium-border-dark: #2f2f2f;--medium-accent: #1a8917;--medium-accent-hover: #156d13;--medium-card-bg-light: #ffffff;--medium-card-bg-dark: #1e1e1e}.blog-post-page{min-height:100vh;background-color:var(--background-color, var(--medium-bg-light));color:var(--text-color, var(--medium-text-light));font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased}.blog-post-hero{position:relative;height:50vh;min-height:300px;max-height:500px;background-size:cover;background-position:center;margin-bottom:0}.hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,rgba(0,0,0,.15),rgba(0,0,0,.6));display:flex;align-items:flex-end;padding-bottom:2.5rem}.blog-post-container{max-width:700px;margin:0 auto;padding:0 1.5rem}.hero-overlay .post-title{color:#fff;font-size:2.5rem;font-weight:800;line-height:1.2;margin-bottom:1rem;letter-spacing:-.02em}.hero-overlay .post-meta{display:flex;gap:1rem;color:#ffffffe6;font-size:.9rem;align-items:center}.author-info{display:flex;align-items:center;gap:.75rem}.author-avatar{width:40px;height:40px;border-radius:50%;object-fit:contain;background-color:#fff;border:2px solid white;padding:2px}.post-meta-text{display:flex;flex-direction:column;gap:.25rem}.post-author{font-weight:600}.post-date-and-time{display:flex;gap:.5rem;align-items:center;font-size:.8rem;color:#fffc}.meta-dot{display:inline-block;width:3px;height:3px;border-radius:50%;background-color:#fffc}.post-not-found{text-align:center;padding:4rem 0}.post-back-nav{margin:0 0 1.5rem}.back-button{background-color:var(--medium-bg-light);border:1px solid var(--border-color, var(--medium-border-light));border-radius:4px;color:var(--meta-color, var(--medium-secondary-light));font-weight:500;cursor:pointer;padding:.6rem 1rem;font-size:.95rem;display:inline-flex;align-items:center;gap:.5rem;transition:all .2s ease}.back-button:hover{color:var(--medium-accent);border-color:var(--medium-accent);background-color:#1a89170d}.back-button svg{width:16px;height:16px;transition:transform .2s ease}.back-button:hover svg{transform:translate(-2px)}.blog-post-content{background-color:var(--content-bg, var(--medium-bg-light));border-radius:6px;padding:2rem 0;margin:2rem 0 3rem}.post-category{font-size:.8rem;font-weight:500;color:var(--category-color, var(--medium-accent));text-transform:uppercase;letter-spacing:.05em;margin-bottom:1.5rem}.post-body{font-size:1.125rem;line-height:1.7;color:var(--text-color, var(--medium-text-light))}.post-body h3{margin-top:2.5rem;margin-bottom:1rem;font-size:1.5rem;color:var(--heading-color, var(--medium-text-light));font-weight:700;letter-spacing:-.01em}.post-body p{margin-bottom:1.5rem}.post-body img{max-width:100%;margin:2rem 0;border-radius:4px}.post-body blockquote{border-left:3px solid var(--medium-accent);padding-left:1.25rem;margin-left:0;margin-right:0;margin-top:2rem;margin-bottom:2rem;font-style:italic;color:var(--secondary-text, var(--medium-secondary-light))}.share-section{display:flex;align-items:center;justify-content:space-between;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border-color, var(--medium-border-light))}.share-buttons{display:flex;gap:1rem}.share-button{background:none;border:none;color:var(--meta-color, var(--medium-secondary-light));cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;width:40px;height:40px;transition:all .2s ease}.share-button:hover{background-color:#0000000d;color:var(--medium-accent)}.share-button svg{width:20px;height:20px}.related-posts{margin-top:4rem;padding-top:2rem;border-top:1px solid var(--border-color, var(--medium-border-light))}.related-heading{font-size:1.5rem;margin-bottom:2rem;color:var(--heading-color, var(--medium-text-light));font-weight:700;letter-spacing:-.01em}.related-posts-grid{display:grid;grid-template-columns:1fr;gap:2rem}.related-post-card{display:grid;grid-template-columns:1fr;gap:1rem;cursor:pointer;transition:opacity .2s ease}.related-post-card:hover{opacity:.9}.related-post-image{aspect-ratio:16/9;background-size:cover;background-position:center;border-radius:4px;overflow:hidden}.related-post-content{display:flex;flex-direction:column;gap:.75rem}.related-post-content h4{font-size:1.25rem;margin:0;color:var(--heading-color, var(--medium-text-light));line-height:1.4;font-weight:700}.related-post-excerpt{font-size:1rem;margin:0;color:var(--secondary-text, var(--medium-secondary-light));line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.related-post-meta{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:var(--meta-color, var(--medium-secondary-light))}.related-post-date{font-size:.875rem}.related-post-read-time{font-weight:400}.meta-divider{display:inline-block;width:3px;height:3px;border-radius:50%;background-color:var(--meta-color, var(--medium-secondary-light))}@media (prefers-color-scheme: dark){.blog-post-page{background-color:var(--background-color-dark, var(--medium-bg-dark));color:var(--text-color-dark, var(--medium-text-dark))}.back-button{background-color:var(--medium-bg-dark);border-color:var(--border-color-dark, var(--medium-border-dark));color:var(--meta-color-dark, var(--medium-secondary-dark))}.back-button:hover{background-color:#1a891726}.blog-post-content{background-color:var(--content-bg-dark, var(--medium-bg-dark))}.author-avatar{background-color:#fff;border-color:#ffffff1a}.post-category{color:var(--medium-accent)}.post-body{color:var(--text-color-dark, var(--medium-text-dark))}.post-body h3{color:var(--heading-color-dark, var(--medium-text-dark))}.post-body blockquote{color:var(--secondary-text-dark, var(--medium-secondary-dark))}.share-section{border-top-color:var(--border-color-dark, var(--medium-border-dark))}.share-button{color:var(--meta-color-dark, var(--medium-secondary-dark))}.share-button:hover{background-color:#ffffff0d}.related-posts{border-top-color:var(--border-color-dark, var(--medium-border-dark))}.related-heading,.related-post-content h4{color:var(--heading-color-dark, var(--medium-text-dark))}.related-post-excerpt{color:var(--secondary-text-dark, var(--medium-secondary-dark))}.related-post-meta{color:var(--meta-color-dark, var(--medium-secondary-dark))}.meta-divider{background-color:var(--meta-color-dark, var(--medium-secondary-dark))}}@media (min-width: 992px){.blog-post-hero{height:60vh}.related-posts-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.blog-post-hero{height:40vh}.hero-overlay .post-title{font-size:2rem}.blog-post-content{padding:2rem 0 1rem}.post-body{font-size:1.0625rem}.post-body h3{font-size:1.35rem}}@media (max-width: 480px){.blog-post-hero{height:35vh}.hero-overlay .post-title{font-size:1.75rem}.hero-overlay .post-meta{flex-direction:column;align-items:flex-start;gap:.75rem}.blog-post-content{margin-top:-2rem;padding:1.5rem 0 1rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.modal-overlay.open{opacity:1;visibility:visible}.modal-content{background-color:#fff;padding:2rem 2.5rem;border-radius:16px;box-shadow:0 10px 30px #00000026;text-align:center;max-width:450px;width:90%;position:relative;transform:scale(.9);transition:transform .3s ease;font-family:var(--font-primary, "Roboto Mono", monospace)}.modal-overlay.open .modal-content{transform:scale(1)}.modal-close-button{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;color:#aaa;cursor:pointer;padding:0;line-height:1;transition:color .2s}.modal-close-button:hover{color:#666}.modal-icon{margin-bottom:1rem}.modal-icon svg{font-size:4rem}.modal-icon .success-icon{color:#4caf50}.modal-icon .partial-icon{color:#ffc107}.modal-content h2{margin:0 0 .5rem;font-size:1.8rem;color:#333;font-weight:600}.modal-content h2.confirmation-title{font-size:2rem;margin-bottom:1rem;color:#424242}.modal-message{font-size:1.1rem;color:#555;margin-bottom:1.5rem;line-height:1.5}.modal-message .lesson-title{font-weight:600;color:#333}.modal-stats{display:flex;justify-content:space-around;background-color:#f9f9f9;padding:1rem;border-radius:8px;margin-bottom:2rem;border:1px solid #eee}.modal-stat{display:flex;flex-direction:column}.stat-label{font-size:.8rem;color:#777;text-transform:uppercase;margin-bottom:.25rem;font-weight:500}.stat-value{font-size:2rem;font-weight:600;color:#333}.stat-value.high{color:#4caf50}.stat-value.medium{color:#ff9800}.stat-value.low{color:#f44336}.modal-actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.modal-button{padding:.75rem 1.5rem;border-radius:8px;border:none;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem}.modal-button svg{font-size:1.1em}.modal-button.primary{background-color:#2196f3;color:#fff}.modal-button.primary:hover{background-color:#1976d2;transform:translateY(-2px);box-shadow:0 4px 10px #2196f34d}.modal-button.secondary{background-color:#f0f0f0;color:#555;border:1px solid #ddd}.modal-button.secondary:hover{background-color:#e0e0e0;border-color:#ccc}.modal-button.tertiary{background-color:transparent;color:#555;box-shadow:none}.modal-button.tertiary:hover{background-color:#f5f5f5}:root{--is-dark-theme: 0;--color-primary: #5271ff;--color-secondary: #41c7be;--color-accent: #ffca58;--color-purple: #7951b3;--color-green: #4eb070;--color-blue: #4a6bff;--color-background: #f6f8fa;--color-card-bg: #ffffff;--color-text: #333333;--color-text-light: #636e72;--color-success: #46b958;--color-error: #e74c3c;--color-warning: #f39c12;--gradient-primary: linear-gradient(45deg, var(--color-primary), #7b90ff);--gradient-secondary: linear-gradient(45deg, var(--color-secondary), #7be0d8);--gradient-accent: linear-gradient(45deg, var(--color-accent), #ffe0a3);--gradient-purple: linear-gradient(45deg, var(--color-purple), #a587d4);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-xxl: 3rem;--font-primary: "Roboto Mono", monospace;--font-secondary: "Roboto Mono", monospace;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 30px;--anim-fast: .2s;--anim-medium: .3s;--anim-slow: .5s;--shadow-small: 0 4px 8px rgba(0, 0, 0, .1);--shadow-medium: 0 8px 24px rgba(0, 0, 0, .12);--shadow-large: 0 16px 38px rgba(0, 0, 0, .15)}@supports (color: color-mix(in srgb,white,black)){:root{--color-primary: color-mix( in srgb, var(--dark-color-primary) calc(var(--is-dark-theme) * 100%), var(--light-color-primary) );--color-secondary: color-mix( in srgb, var(--dark-color-secondary) calc(var(--is-dark-theme) * 100%), var(--light-color-secondary) );--color-accent: color-mix( in srgb, var(--dark-color-accent) calc(var(--is-dark-theme) * 100%), var(--light-color-accent) );--color-purple: color-mix( in srgb, var(--dark-color-purple) calc(var(--is-dark-theme) * 100%), var(--light-color-purple) );--color-green: color-mix( in srgb, var(--dark-color-green) calc(var(--is-dark-theme) * 100%), var(--light-color-green) );--color-blue: color-mix( in srgb, var(--dark-color-blue) calc(var(--is-dark-theme) * 100%), var(--light-color-blue) );--color-background: color-mix( in srgb, var(--dark-color-background) calc(var(--is-dark-theme) * 100%), var(--light-color-background) );--color-card-bg: color-mix( in srgb, var(--dark-color-card-bg) calc(var(--is-dark-theme) * 100%), var(--light-color-card-bg) );--color-text: color-mix( in srgb, var(--dark-color-text) calc(var(--is-dark-theme) * 100%), var(--light-color-text) );--color-text-light: color-mix( in srgb, var(--dark-color-text-light) calc(var(--is-dark-theme) * 100%), var(--light-color-text-light) );--color-success: color-mix( in srgb, var(--dark-color-success) calc(var(--is-dark-theme) * 100%), var(--light-color-success) );--color-error: color-mix( in srgb, var(--dark-color-error) calc(var(--is-dark-theme) * 100%), var(--light-color-error) );--color-warning: color-mix( in srgb, var(--dark-color-warning) calc(var(--is-dark-theme) * 100%), var(--light-color-warning) )}}.virtual-keyboard-container{position:relative;width:100%;height:500px;perspective:1000px;overflow:visible;display:flex;flex-direction:column;align-items:center;margin-bottom:50px;transform-origin:top center;transition:transform .3s ease-out,height .3s ease-out}.desk{position:absolute;width:110%;height:100%;background-color:#2a2a2a;transform:rotateX(65deg);transform-origin:bottom center;bottom:0;z-index:1;box-shadow:inset 0 10px 30px #0003;background-image:linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px);background-size:20px 20px}.container{position:relative;z-index:2;width:800px;max-width:100%}.keyboard{position:relative;width:100%;background-color:#1e1e1e;border-radius:12px;padding:18px;box-shadow:0 15px 25px #0006,0 5px 10px #0000004d,inset 0 1px 1px #ffffff1a;transform:perspective(800px) rotateX(20deg);transform-origin:center top;margin-bottom:80px;border:2px solid #111;background-image:linear-gradient(180deg,#2a2a2a 0%,#1a1a1a 100%)}.keyboard-row{display:flex;justify-content:center;margin:7px 0}.key{position:relative;width:40px;height:40px;background:linear-gradient(to bottom,#444 0%,#333 100%);color:#fff;border-radius:6px;display:flex;justify-content:center;align-items:center;margin:0 4px;font-size:14px;font-family:Roboto Mono,monospace;box-shadow:0 4px #111,inset 0 1px 1px #fff3;cursor:pointer;user-select:none;text-transform:uppercase;font-weight:600;transition:all .08s ease-out;border:1px solid #222;text-shadow:0 1px 1px rgba(0,0,0,.4)}.key.backspace,.key.enter{width:80px;font-size:12px;background:linear-gradient(to bottom,#3a3a3a 0%,#282828 100%)}.key.shift_left,.key.shift_right{width:90px;font-size:12px;background:linear-gradient(to bottom,#3a3a3a 0%,#282828 100%)}.key.caps{width:70px;font-size:12px;background:linear-gradient(to bottom,#3a3a3a 0%,#282828 100%)}.key.highlight{background:linear-gradient(to bottom,#2388ff 0%,#0e76e0 100%);color:#fff;transform:translateY(4px);box-shadow:0 0 #111,0 0 15px #1e90ff99,inset 0 1px 2px #fff6;border-color:#0a5ebf}.key.next{background:linear-gradient(to bottom,#5fb662 0%,#4a9c4d 100%);color:#fff;animation:pulse-next 1.5s infinite ease-in-out;border-color:#3d8141}@keyframes pulse-next{0%,to{box-shadow:0 4px #285c2b,0 0 10px #4caf5080}50%{box-shadow:0 4px #285c2b,0 0 20px #4caf50cc}}.key.space{width:300px;background:linear-gradient(to bottom,#3a3a3a 0%,#282828 100%)}.key:hover:not(.highlight){background:linear-gradient(to bottom,#505050 0%,#404040 100%);box-shadow:0 4px #111,inset 0 1px 1px #ffffff4d}.key:active:not(.highlight){transform:translateY(4px);box-shadow:0 0 #111}.hands-container{position:absolute;bottom:0px;left:50%;transform:translate(-50%);width:750px;max-width:100%;height:300px;display:flex;justify-content:center;transition:all .4s ease-out;z-index:5}.hands-container.typing{bottom:20px;transition:all .3s cubic-bezier(.25,.1,.25,1.05)}.hand{position:relative;width:300px;height:300px;display:flex;justify-content:center;transform-origin:bottom center;transition:all .3s ease}.hand.left{transform:rotate(-10deg) translate(10px);margin-right:20px}.hand.right{transform:rotate(10deg) translate(-10px);margin-left:20px}.wrist{position:absolute;bottom:0;width:90px;height:70px;background:linear-gradient(to bottom,#ffdbac 0%,#f1c27d 100%);border-radius:15px 15px 0 0;box-shadow:0 0 10px #0000001a,inset 0 15px 5px -10px #fff3,inset 0 -15px 5px -10px #0000001a;&:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60%;height:30%;background:linear-gradient(to right,rgba(255,255,255,.1),rgba(255,255,255,0),rgba(255,255,255,.1));border-radius:50%}}.palm{position:absolute;bottom:68px;width:140px;height:55px;background:linear-gradient(to top,#ffdbac 0%,#f1c27d 60%,#e0a370 100%);border-radius:50% 50% 40% 40%;box-shadow:0 0 10px #0000001a,inset 0 5px 5px #fff3,inset 0 -5px 5px #0000000d;z-index:1;&:after{content:"";position:absolute;top:30%;left:10%;width:80%;height:60%;background:linear-gradient(45deg,transparent 48%,rgba(0,0,0,.05) 50%,transparent 52%) no-repeat,linear-gradient(-45deg,transparent 48%,rgba(0,0,0,.05) 50%,transparent 52%) no-repeat,linear-gradient(90deg,transparent 48%,rgba(0,0,0,.03) 50%,transparent 52%) no-repeat;background-size:100% 100%,100% 100%,100% 30%;background-position:center,center,center 65%;border-radius:inherit}}.hand.left .palm{left:50%;transform:translate(-55%)}.hand.right .palm{right:50%;transform:translate(55%)}.finger{position:absolute;bottom:95px;width:28px;height:110px;background:linear-gradient(to top,#ffdbac 0%,#f1c27d 100%);border-radius:14px 14px 10px 10px;transform-origin:bottom center;display:flex;flex-direction:column;align-items:center;transition:all .2s ease;box-shadow:0 0 5px #00000026,inset 0 10px 10px -10px #ffffff4d,inset 0 -10px 10px -10px #0000001a;z-index:2;&:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(transparent 30%,rgba(0,0,0,.03) 31%,transparent 32%),linear-gradient(transparent 60%,rgba(0,0,0,.03) 61%,transparent 62%);border-radius:inherit}&:before{content:"";position:absolute;top:5%;left:50%;transform:translate(-50%);width:70%;height:15px;background:linear-gradient(to bottom,rgba(255,235,205,.8),rgba(255,225,195,.9));border-radius:50% 50% 40% 40%/80% 80% 20% 20%;box-shadow:0 0 2px #0000001a}}.knuckle{width:100%;height:8px;background-color:#00000008;border-radius:4px;margin:25px 0;position:relative;&:after{content:"";position:absolute;width:80%;height:1px;top:50%;left:10%;background:linear-gradient(to right,transparent,rgba(255,255,255,.3),transparent)}&:before{content:"";position:absolute;width:80%;height:1px;bottom:-1px;left:10%;background:linear-gradient(to right,transparent,rgba(0,0,0,.05),transparent)}}.finger-connection{position:absolute;bottom:-15px;width:28px;height:20px;background:linear-gradient(to top,#f1c27d,#ffdbac);border-radius:50% 50% 0 0;z-index:-1}.hand.left .finger-pinky{left:30px;height:80px;transform:rotate(-22deg) translateY(10px)}.hand.left .finger-ring{left:70px;height:105px;transform:rotate(-6deg) translateY(5px)}.hand.left .finger-middle{left:110px;height:115px;transform:rotate(5deg)}.hand.left .finger-index{left:150px;height:110px;transform:rotate(25deg) translateY(15px)}.hand.left .finger-thumb{left:165px;bottom:45px;height:80px;width:35px;transform:rotate(65deg);border-radius:12px 18px 18px 12px;background:linear-gradient(to top right,#ffdbac 0%,#f1c27d 100%)}.hand.right .finger-pinky{right:30px;height:80px;transform:rotate(12deg) translateY(10px)}.hand.right .finger-ring{right:70px;height:105px;transform:rotate(0) translateY(0)}.hand.right .finger-middle{right:110px;height:115px;transform:rotate(-10deg)}.hand.right .finger-index{right:150px;height:110px;transform:rotate(-25deg) translateY(5px)}.hand.right .finger-thumb{right:155px;bottom:45px;height:80px;width:35px;transform:rotate(-65deg);border-radius:18px 12px 12px 18px;background:linear-gradient(to top left,#ffdbac 0%,#f1c27d 100%)}.finger-target-indicator{position:absolute;top:-20px;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:12px solid #4caf50;filter:drop-shadow(0 0 5px rgba(76,175,80,.7));animation:bounce 1s infinite ease-in-out;z-index:10}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0);opacity:.8}50%{transform:translate(-50%) translateY(-5px);opacity:1}}.finger.target{box-shadow:0 0 25px 5px #4caf50e6,inset 0 0 15px #4caf5099;background:linear-gradient(to top,#ffdbac 0%,#ffe7c9 60%,#c9ffd8 100%);border:3px solid #4caf50;animation:pulse-target .5s infinite ease-in-out;z-index:10;outline:1px solid rgba(255,255,255,.7);outline-offset:2px}.finger.typing{transition:transform .15s cubic-bezier(.2,.8,.3,1.2);box-shadow:0 0 15px #1e90ff80,inset 0 10px 10px -10px #fff6,inset 0 -10px 10px -10px #00000026;animation:fingerReturn .2s linear .2s forwards}#controls{position:absolute;bottom:-35px;left:50%;transform:translate(-50%) scale(var(--container-scale, 1));z-index:10}#animateButton{background:linear-gradient(to bottom,#2388ff 0%,#0e76e0 100%);color:#fff;border:none;border-radius:6px;padding:10px 18px;cursor:pointer;font-size:14px;font-weight:600;box-shadow:0 4px 6px #0003;transition:all .2s ease;border:1px solid #0a5ebf;text-shadow:0 1px 1px rgba(0,0,0,.4)}#animateButton:hover{background:linear-gradient(to bottom,#1e80f0 0%,#0d6ad0 100%);box-shadow:0 6px 8px #0000004d}#animateButton:active{transform:translateY(2px);box-shadow:0 2px 4px #0003}.finger-label{position:absolute;font-size:11px;background-color:#000000b3;color:#fff;padding:3px 6px;border-radius:4px;white-space:nowrap;bottom:-18px;left:50%;transform:translate(-50%);box-shadow:0 2px 4px #0000004d;text-shadow:0 1px 1px rgba(0,0,0,.5)}.mac-os .key[data-key=CTRL],.mac-os .key[data-key=ALT]{font-family:-apple-system,BlinkMacSystemFont,sans-serif}@media (max-width: 900px){.virtual-keyboard-container{height:450px}.container{width:700px}.hands-container{width:650px}.hand{width:250px}.hand.left .finger-pinky{left:20px}.hand.left .finger-ring{left:55px}.hand.left .finger-middle{left:90px}.hand.left .finger-index{left:125px}.hand.left .finger-thumb{left:165px}.hand.right .finger-pinky{right:20px}.hand.right .finger-ring{right:55px}.hand.right .finger-middle{right:90px}.hand.right .finger-index{right:125px}.hand.right .finger-thumb{right:165px}.palm{width:120px;height:45px}}@media (max-width: 768px){.virtual-keyboard-container{height:400px}.keyboard{transform:perspective(600px) rotateX(15deg);padding:10px;margin-bottom:60px}.key{width:32px;height:32px;font-size:10px;margin:0 2px}.key.backspace,.key.enter,.key.shift_left,.key.shift_right{width:60px}.key.caps{width:50px}.key.space{width:180px}.hands-container{width:500px;bottom:-180px}.hand{width:200px}.palm{width:110px;height:40px;bottom:60px}.finger{bottom:80px;width:24px;height:90px}.finger:before{width:24px;height:15px}.hand.left .finger-pinky{left:20px}.hand.left .finger-ring{left:60px}.hand.left .finger-middle{left:100px}.hand.left .finger-index{left:140px}.hand.left .finger-thumb{left:180px}.hand.right .finger-pinky{right:20px}.hand.right .finger-ring{right:60px}.hand.right .finger-middle{right:100px}.hand.right .finger-index{right:140px}.hand.right .finger-thumb{right:180px}}@media (max-width: 576px){.virtual-keyboard-container{height:350px}.keyboard{transform:perspective(400px) rotateX(15deg);padding:8px;margin-bottom:50px}.key{width:24px;height:24px;font-size:8px;margin:0 1px}.key.backspace,.key.enter,.key.shift_left,.key.shift_right{width:40px;font-size:8px}.key.caps{width:36px}.key.space{width:120px}.hands-container{width:360px;bottom:-150px}.hand{width:150px}.finger{width:20px;height:80px;bottom:70px}.finger:before{width:20px;height:12px}.palm{width:90px;height:35px;bottom:55px}.hand.left .finger-pinky{left:15px}.hand.left .finger-ring{left:45px}.hand.left .finger-middle{left:75px}.hand.left .finger-index{left:105px}.hand.left .finger-thumb{left:135px;width:25px;height:60px}.hand.right .finger-pinky{right:15px}.hand.right .finger-ring{right:45px}.hand.right .finger-middle{right:75px}.hand.right .finger-index{right:105px}.hand.right .finger-thumb{right:135px;width:25px;height:60px}}@media (max-width: 480px){.virtual-keyboard-container{height:320px;margin-bottom:40px}.container{width:100%}.keyboard{transform:perspective(400px) rotateX(12deg);padding:5px;margin-bottom:30px}.key{width:20px;height:20px;font-size:7px;margin:0 1px;border-radius:4px}.key.backspace,.key.enter,.key.shift_left,.key.shift_right{width:30px}.key.caps{width:28px}.key.space{width:100px}.hands-container{display:block;width:320px;bottom:-120px;transform:translate(-50%) scale(.8)}.finger{width:18px;height:70px}.finger:before{width:18px;height:10px}.knuckle{margin:16px 0}.palm{width:80px;height:30px;bottom:50px}}.virtual-keyboard-container[style*="transform: scale"] .keyboard{margin-bottom:40px}.virtual-keyboard-container[style*="transform: scale"] .hands-container{bottom:-40px}.virtual-keyboard-container.tiny-scale{overflow:hidden}.virtual-keyboard-container.tiny-scale .finger-target-indicator,.virtual-keyboard-container.tiny-scale .finger-label{display:none}.privacy-policy-page{display:flex;flex-direction:column;align-items:center;min-height:100vh;background-color:#f0f2f5}.privacy-policy-container{display:flex;justify-content:center;align-items:center;flex-grow:1;width:100%;padding:20px}.privacy-policy-card{background-color:#fff;padding:40px;border-radius:8px;box-shadow:0 4px 12px #0000001a;max-width:800px;width:100%;text-align:left}.privacy-policy-card h1{text-align:center;color:#333;margin-bottom:20px}.privacy-policy-card h2{color:#555;margin-top:30px;margin-bottom:10px;border-bottom:1px solid #eee;padding-bottom:5px}.privacy-policy-card p{color:#666;line-height:1.6;margin-bottom:15px}.terms-of-service-page{display:flex;flex-direction:column;align-items:center;min-height:100vh;background-color:#f0f2f5}.terms-of-service-container{display:flex;justify-content:center;align-items:center;flex-grow:1;width:100%;padding:20px}.terms-of-service-card{background-color:#fff;padding:40px;border-radius:8px;box-shadow:0 4px 12px #0000001a;max-width:800px;width:100%;text-align:left}.terms-of-service-card h1{text-align:center;color:#333;margin-bottom:20px}.terms-of-service-card h2{color:#555;margin-top:30px;margin-bottom:10px;border-bottom:1px solid #eee;padding-bottom:5px}.terms-of-service-card p{color:#666;line-height:1.6;margin-bottom:15px}.test-page{width:100%;min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg-color, #232323);color:var(--text-color, #d1d0c5);font-family:Roboto Mono,monospace;overflow-x:hidden;padding-left:250px;box-sizing:border-box;transition:padding-left .3s ease}.test-page.sidebar-collapsed{padding-left:60px}.test-container{flex:1;width:100%;max-width:calc(100vw - 280px);margin:0 auto;padding:1rem 2rem;display:flex;flex-direction:column;gap:1.5rem;align-items:center;box-sizing:border-box;overflow-x:hidden}.test-page.sidebar-collapsed .test-container{max-width:calc(100vw - 90px);margin-left:auto;margin-right:auto}.test-page.sidebar-collapsed .typing-area{margin-left:auto;margin-right:auto}.test-page.sidebar-collapsed .test-options-row{justify-content:center;margin-left:auto;margin-right:auto}.test-config{width:100%;display:flex;flex-direction:column;gap:.5rem;align-items:center;margin-bottom:1rem}.mode-selector,.option-selector{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.mode-button,.option-button{background:none;border:none;color:var(--sub-color, #646669);padding:.5rem 1rem;border-radius:.25rem;cursor:pointer;font-size:.875rem;transition:color .2s,background-color .2s;font-family:Roboto Mono,monospace}.mode-button:hover,.option-button:hover{color:var(--text-color, #d1d0c5);background-color:#ffffff0d}.mode-button.active,.option-button.active{color:var(--main-color, #e2b714)}.stats-display{display:flex;justify-content:center;gap:2rem;margin-bottom:1rem}.stat{display:flex;flex-direction:column;align-items:center}.stat-value{font-size:2rem;font-weight:300;color:var(--main-color, #e2b714)}.stat-label{font-size:.875rem;color:var(--sub-color, #646669)}.hidden-input{position:absolute;opacity:0;pointer-events:none}.typing-area{width:100%;margin:.5rem auto;background-color:#fff;padding:1.5rem;border-radius:8px;font-size:1.8rem;line-height:1.8;box-shadow:0 2px 10px #0000000d;position:relative;min-height:140px}.words-wrapper{width:100%;max-width:100%;line-height:1.5;display:flex;flex-wrap:wrap;position:relative;gap:.5rem;justify-content:center;height:9.75rem;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}@media (max-width: 768px){.words-wrapper{height:6.75rem}}.words-wrapper::-webkit-scrollbar{display:none}.words-wrapper.unfocused{opacity:.7;transition:opacity .3s ease;position:relative}.focus-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000;pointer-events:auto;gap:1rem}.center-restart-button{background-color:var(--main-color, #e2b714);color:var(--bg-color, #232323);border:none;border-radius:.5rem;padding:.75rem 1.25rem;font-size:1.1rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-family:Roboto Mono,monospace;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 8px #0003}.center-restart-button:hover{transform:translateY(-2px);box-shadow:0 6px 12px #00000040}.center-restart-button:active{transform:translateY(0)}.focus-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--main-color, #e2b714);font-size:1rem;padding:.75rem 1.5rem;border-radius:.25rem;background-color:#00000080;pointer-events:none;z-index:5;text-align:center;transition:opacity .2s ease}.row-container{display:flex;flex-direction:row;flex-wrap:wrap;width:100%;justify-content:center;padding:0 5%;box-sizing:border-box}.word-row{display:flex;flex-wrap:wrap;width:100%;gap:.5rem;min-height:3rem;align-items:center;justify-content:flex-start;padding:.25rem 0}.word{display:inline-flex;position:relative;font-size:1.2em;line-height:.8em;margin:.25em .3em;font-variant:no-common-ligatures}.word.active,.word.correct{color:var(--text-color, #d1d0c5)}.word.incorrect{color:var(--error-color, #ca4754)}.word.inactive{color:var(--sub-color, #646669)}.letter{display:inline-block;position:relative}.letter.correct{color:var(--text-color, #d1d0c5)}.letter.incorrect{color:var(--error-color, #ca4754)}.letter.extra{color:var(--error-extra-color, #7e2a33)}.letter.untyped{color:var(--untyped-letter-color, #646669)}.caret{position:absolute;height:1.1em;width:2px;background-color:var(--caret-color, #e2b714);animation:blink 1s infinite;z-index:1;transition:left 80ms ease-out;pointer-events:none}.caret.unfocused{animation:slow-blink 2s infinite;opacity:.6}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes slow-blink{0%,to{opacity:.6}50%{opacity:.1}}.visual-keyboard{margin-top:1rem;width:100%;max-width:800px;display:flex;flex-direction:column;align-items:center;gap:.5rem}.keyboard-row{display:flex;justify-content:center;gap:.25rem}.key{width:2.5rem;height:2.5rem;background-color:#ffffff0d;border-radius:.25rem;display:flex;align-items:center;justify-content:center;color:var(--sub-color, #646669);font-size:.875rem;text-transform:uppercase;border:1px solid transparent;transition:all .1s}.key.active{background-color:var(--main-color, #e2b714);color:var(--bg-color, #232323);transform:translateY(2px)}.key.space{width:12rem}.restart-section{margin-top:2rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.restart-button{background:none;border:none;color:var(--sub-color, #646669);display:flex;align-items:center;gap:.5rem;font-size:1rem;cursor:pointer;transition:color .2s;padding:.5rem 1rem;border-radius:.25rem;font-family:Roboto Mono,monospace}.restart-button:hover{color:var(--main-color, #e2b714)}.restart-hint{color:var(--sub-color, #646669);font-size:.75rem;display:flex;align-items:center;gap:.25rem}kbd{background-color:#ffffff1a;padding:.1rem .375rem;border-radius:.25rem;font-size:.75rem}.results-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:100;padding:15px;overflow:auto}.results-content{background-color:var(--bg-color, #232323);padding:1.5rem 1rem;border-radius:.5rem;max-width:480px;width:90%;max-height:90vh;overflow-y:auto;text-align:center;box-shadow:0 8px 24px #00000080;border:1px solid #1e90ff;scrollbar-width:thin;scrollbar-color:#1e90ff rgba(0,0,0,.2)}.results-content::-webkit-scrollbar{width:8px}.results-content::-webkit-scrollbar-track{background:rgba(0,0,0,.2);border-radius:4px}.results-content::-webkit-scrollbar-thumb{background-color:#1e90ff;border-radius:4px}.results-logo{margin-bottom:1rem}.results-logo h1{font-size:1.5rem;font-weight:700;color:#1e90ff;text-transform:uppercase;letter-spacing:1.5px;margin:0 0 .75rem}.results-content h2{font-size:1.3rem;margin:.5rem 0 .75rem;color:#1e90ff}.test-config-info{display:flex;justify-content:center;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.config-badge{background-color:#ffffff1a;color:var(--text-color, #d1d0c5);padding:.2rem .6rem;border-radius:1rem;font-size:.8rem;text-transform:capitalize;letter-spacing:.5px}.config-badge.difficulty{background-color:#1e90ff33;border:1px solid rgba(30,144,255,.3)}.config-badge.mode{background-color:#ffffff1a;border:1px solid rgba(255,255,255,.15)}.share-section{margin-top:1rem;background-color:#ffffff0d;padding:1rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between}.share-section h3{font-size:.9rem;color:var(--text-color, #d1d0c5);margin:0;flex-shrink:0}.share-buttons{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.share-button{display:flex;align-items:center;justify-content:center;gap:.3rem;padding:.4rem .6rem;border-radius:.25rem;font-size:.85rem;cursor:pointer;transition:all .2s;border:none;color:#fff;font-weight:500;min-width:110px;justify-content:flex-start}.share-button.twitter{background-color:#1da1f2}.share-button.reddit{background-color:#ff4500}.share-button.screenshot{background-color:#1e90ff}.share-button svg{font-size:1rem}@media (max-width: 576px){.results-content{padding:1rem .75rem;width:95%;max-height:85vh}.results-logo h1{font-size:1.3rem}.results-content h2{font-size:1.1rem}.primary-stat-value{font-size:2rem}.share-section{flex-direction:row;align-items:center}.share-section h3{margin-right:1rem}.share-buttons{flex-direction:column;align-items:flex-start;gap:.3rem}.share-button{padding:.4rem .5rem;font-size:.8rem;gap:.25rem;width:100%;min-width:auto;justify-content:center}.share-button svg{font-size:.9rem}}@media (min-width: 400px) and (max-width: 576px){.share-buttons{align-items:flex-end}.share-button{width:auto;min-width:110px;justify-content:flex-start}}@media (min-width: 577px){.share-section{justify-content:center;flex-direction:column;align-items:center}.share-section h3{margin:0 0 .75rem}.share-buttons{flex-direction:row;align-items:center;gap:.5rem}.share-button{width:auto;min-width:90px;justify-content:center}}.primary-stats{display:flex;justify-content:space-around;margin-bottom:1rem;background-color:#ffffff14;padding:1rem .75rem;border-radius:.5rem;border:2px solid #1e90ff}.primary-stat{display:flex;flex-direction:column;align-items:center}.primary-stat-value{font-size:2.5rem;font-weight:700;color:#1e90ff}.primary-stat-label{color:var(--text-color, #d1d0c5);font-size:.8rem;margin-top:.15rem;text-transform:uppercase;letter-spacing:.05rem;font-weight:600}.results-stats{display:flex;justify-content:space-around;margin-bottom:2rem;background-color:#ffffff0d;padding:1.5rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.1)}.result-stat{display:flex;flex-direction:column;align-items:center}.result-value{font-size:2.5rem;font-weight:700;color:var(--text-color, #d1d0c5)}.result-label{color:var(--sub-color, #646669);font-size:.875rem;margin-top:.25rem;text-transform:uppercase;letter-spacing:.05rem}.results-actions{display:flex;gap:1rem;justify-content:center;margin-top:1rem}.results-button{background:none;border:1px solid var(--sub-color, #646669);color:var(--sub-color, #d1d0c5);border-radius:.25rem;padding:.6rem 1.25rem;cursor:pointer;transition:all .2s;font-family:Roboto Mono,monospace;font-size:.9rem}.results-button:hover{border-color:#1e90ff;color:#1e90ff;background-color:#1e90ff1a}.error-stats{margin:1rem 0}.error-stats h3{font-size:1rem;color:#1e90ff;margin-bottom:.5rem;text-align:center}.error-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:.3rem;max-width:400px;margin:0 auto}.error-item{display:flex;align-items:center;background:rgba(255,255,255,.05);border-radius:5px;padding:.3rem .6rem;min-width:60px;position:relative;justify-content:space-between}.error-key{font-family:Roboto Mono,monospace;font-size:.9rem;font-weight:700;color:var(--text-color, #d1d0c5)}.error-count{font-family:Roboto Mono,monospace;font-size:.85rem;color:var(--text-color, #d1d0c5);margin-left:.5rem}@media (max-width: 500px){.error-grid{gap:.3rem}.error-item{padding:.4rem .75rem;min-width:60px}}.test-options-row{width:auto;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:center;margin:1.5rem 0 1rem;background:none;padding:0 1rem;box-sizing:border-box}.test-options-row .mode-button,.test-options-row .option-button{margin:0}@media (max-width: 1200px){.test-container{max-width:calc(100vw - 280px);padding:1rem}.test-page.sidebar-collapsed .test-container{max-width:calc(100vw - 80px);margin-left:auto;margin-right:auto}}@media (max-width: 992px){.typing-area{max-width:90%}}@media (max-width: 768px){.test-page,.test-page.sidebar-collapsed{padding-left:0}.test-container{width:100%;max-width:100%;padding:.5rem}.stats-display{gap:1rem}.stat-value{font-size:1.5rem}.visual-keyboard{display:none}.test-options-row{gap:.25rem;font-size:.9rem;padding:0 .5rem}.row-container{padding:0 2%}}@media (max-width: 576px){.typing-area{max-width:100%;margin:1rem 0}.test-options-row{margin:1rem 0 .5rem}.test-container{padding:.5rem}.mode-button,.option-button{padding:.4rem .75rem;font-size:.8rem}}.sidebar-mobile-toggle{display:none;position:fixed;left:10px;top:70px;z-index:1001;background:var(--main-color, #e2b714);border:none;color:var(--bg-color, #232323);width:36px;height:36px;border-radius:50%;justify-content:center;align-items:center;cursor:pointer;box-shadow:0 2px 5px #0003}@media (max-width: 768px){.sidebar-mobile-toggle{display:none}}:root{--is-dark-theme: 0;--color-primary: #5271ff;--color-secondary: #41c7be;--color-accent: #ffca58;--color-purple: #7951b3;--color-green: #4eb070;--color-blue: #4a6bff;--color-background: #f6f8fa;--color-card-bg: #ffffff;--color-text: #333333;--color-text-light: #636e72;--color-success: #46b958;--color-error: #e74c3c;--color-warning: #f39c12;--gradient-primary: linear-gradient(45deg, var(--color-primary), #7b90ff);--gradient-secondary: linear-gradient(45deg, var(--color-secondary), #7be0d8);--gradient-accent: linear-gradient(45deg, var(--color-accent), #ffe0a3);--gradient-purple: linear-gradient(45deg, var(--color-purple), #a587d4);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-xxl: 3rem;--font-primary: "Roboto Mono", monospace;--font-secondary: "Roboto Mono", monospace;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 30px;--anim-fast: .2s;--anim-medium: .3s;--anim-slow: .5s;--shadow-small: 0 4px 8px rgba(0, 0, 0, .1);--shadow-medium: 0 8px 24px rgba(0, 0, 0, .12);--shadow-large: 0 16px 38px rgba(0, 0, 0, .15)}@supports (color: color-mix(in srgb,white,black)){:root{--color-primary: color-mix( in srgb, var(--dark-color-primary) calc(var(--is-dark-theme) * 100%), var(--light-color-primary) );--color-secondary: color-mix( in srgb, var(--dark-color-secondary) calc(var(--is-dark-theme) * 100%), var(--light-color-secondary) );--color-accent: color-mix( in srgb, var(--dark-color-accent) calc(var(--is-dark-theme) * 100%), var(--light-color-accent) );--color-purple: color-mix( in srgb, var(--dark-color-purple) calc(var(--is-dark-theme) * 100%), var(--light-color-purple) );--color-green: color-mix( in srgb, var(--dark-color-green) calc(var(--is-dark-theme) * 100%), var(--light-color-green) );--color-blue: color-mix( in srgb, var(--dark-color-blue) calc(var(--is-dark-theme) * 100%), var(--light-color-blue) );--color-background: color-mix( in srgb, var(--dark-color-background) calc(var(--is-dark-theme) * 100%), var(--light-color-background) );--color-card-bg: color-mix( in srgb, var(--dark-color-card-bg) calc(var(--is-dark-theme) * 100%), var(--light-color-card-bg) );--color-text: color-mix( in srgb, var(--dark-color-text) calc(var(--is-dark-theme) * 100%), var(--light-color-text) );--color-text-light: color-mix( in srgb, var(--dark-color-text-light) calc(var(--is-dark-theme) * 100%), var(--light-color-text-light) );--color-success: color-mix( in srgb, var(--dark-color-success) calc(var(--is-dark-theme) * 100%), var(--light-color-success) );--color-error: color-mix( in srgb, var(--dark-color-error) calc(var(--is-dark-theme) * 100%), var(--light-color-error) );--color-warning: color-mix( in srgb, var(--dark-color-warning) calc(var(--is-dark-theme) * 100%), var(--light-color-warning) )}}.App{min-height:100vh;background-color:var(--color-background);font-family:var(--font-primary);position:relative;overflow:visible;display:flex;flex-direction:column}html,body{overflow-y:auto!important;overflow-x:hidden;height:100%;margin:0;padding:0}body{min-height:100vh}.page-container{position:relative;min-height:100vh;width:100%;transition:transform var(--anim-medium) ease-in-out;overflow-y:auto;flex:1}.scrollable-content{overflow-y:auto;-webkit-overflow-scrolling:touch}.page-entering{animation:slideInFromRight .4s forwards}.page-exiting{animation:slideOutToLeft .4s forwards}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutToLeft{0%{transform:translate(0);opacity:1}to{transform:translate(-100%);opacity:0}}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background-color:var(--color-background)}.loading-animation{width:80px;height:80px;border-radius:50%;border:8px solid rgba(0,0,0,.1);border-top-color:var(--color-primary);animation:spin 1s linear infinite;margin-bottom:var(--space-lg)}.loading-screen p{font-size:1.5rem;color:var(--color-text);font-weight:700;animation:pulse 1.5s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}.navigation-header{position:sticky;top:0;left:0;right:0;z-index:100;background-color:var(--color-background);padding:var(--space-sm) var(--space-lg);box-shadow:var(--shadow-small);display:flex;justify-content:space-between;align-items:center}.level-up-message{position:fixed;top:15%;left:50%;transform:translate(-50%);background:linear-gradient(135deg,rgba(76,175,80,.9),rgba(139,195,74,.9));color:#fff;padding:15px 30px;border-radius:30px;font-size:1.4rem;font-weight:700;z-index:1000;box-shadow:0 5px 20px #0003;text-shadow:1px 1px 3px rgba(0,0,0,.3)}.streak-indicator{position:absolute;bottom:30px;right:30px;background:linear-gradient(135deg,rgba(255,152,0,.9),rgba(255,87,34,.9));color:#fff;padding:12px 20px;border-radius:20px;font-size:1.2rem;font-weight:700;z-index:100;display:flex;align-items:center;gap:10px;box-shadow:0 4px 15px #ff980066;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.fire-emoji{font-size:1.5rem;filter:drop-shadow(0 0 3px rgba(255,255,255,.7))}.level-badge{position:absolute;top:20px;right:30px;background:linear-gradient(135deg,rgba(33,150,243,.9),rgba(3,169,244,.9));color:#fff;width:80px;height:80px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100;box-shadow:0 4px 15px #2196f380;border:3px solid rgba(255,255,255,.7)}.level-number{font-size:2.5rem;font-weight:700;line-height:1;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.level-name{font-size:.8rem;font-weight:500;margin-top:3px}.progress-container{width:100%;height:10px;background:#e0e0e0;border-radius:5px;overflow:hidden;box-shadow:inset 0 2px 5px #0000001a}.progress-bar{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);transition:width .5s cubic-bezier(.18,.89,.32,1.28)}.level-progress{position:absolute;top:25px;left:25px;width:250px;z-index:100}.level-progress-text{font-weight:700;color:#00000080;text-shadow:1px 1px 1px rgba(0,0,0,.5);margin-bottom:5px}.level-progress-bar-container{width:100%;height:8px;background:rgba(255,255,255,.3);border-radius:10px;overflow:hidden;box-shadow:inset 0 1px 3px #0003}.level-progress-bar{height:100%;background:linear-gradient(90deg,#ffeb3b,#ffc107);border-radius:10px;transition:width .5s cubic-bezier(.18,.89,.32,1.28);box-shadow:0 0 10px #ffeb3b80}.achievements-section{display:flex;justify-content:center;gap:20px;margin:15px 0}.achievement{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 3px 10px #0000001a}.achievement.locked{background:linear-gradient(145deg,#e6e6e6,#f0f0f0);opacity:.6}.achievement.earned{background:linear-gradient(145deg,#ffd54f,#ffca28);box-shadow:0 0 15px #ffc107b3}.achievement-icon{font-size:1.8rem;filter:drop-shadow(1px 1px 2px rgba(0,0,0,.2))}.daily-goal-container{width:250px;height:20px;background:rgba(255,255,255,.2);border-radius:10px;overflow:hidden;margin:15px auto;position:relative;box-shadow:inset 0 2px 5px #0000001a}.daily-goal-progress{height:100%;background:linear-gradient(90deg,#ff9800,#f44336);transition:width .5s cubic-bezier(.18,.89,.32,1.28);box-shadow:0 0 10px #ff980080}.floating-success-message{position:absolute;color:#4caf50;font-weight:700;font-size:1.5rem;text-shadow:0 0 8px white,0 0 12px white;z-index:1000;filter:drop-shadow(0 0 10px rgba(76,175,80,.7))}.level-up-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:2000}.level-up-content{background:white;padding:50px;border-radius:30px;text-align:center;box-shadow:0 0 50px gold;max-width:80%;transition:all .5s ease}.level-up-icon{font-size:7rem;margin-bottom:30px;filter:drop-shadow(0 0 15px rgba(255,193,7,.8))}.level-up-text{font-size:3.5rem;font-weight:700;color:#ff9800;margin-bottom:15px;text-shadow:1px 1px 3px rgba(0,0,0,.2)}.level-up-level{font-size:2.5rem;color:#333;margin-bottom:15px;font-weight:700}.level-up-description{font-size:1.5rem;color:#666;margin-top:10px}.encouragement-message{position:fixed;top:30%;left:50%;transform:translate(-50%,-50%);background:linear-gradient(135deg,rgba(76,175,80,.9),rgba(139,195,74,.9));color:#fff;padding:20px 40px;border-radius:30px;font-size:2rem;font-weight:700;z-index:1500;opacity:0;transition:opacity .5s ease;box-shadow:0 10px 30px #0000004d;text-shadow:1px 1px 3px rgba(0,0,0,.3)}.encouragement-message.show{opacity:1}.game-stats .stat-item{padding:8px 15px;border-radius:10px;margin:0 5px;position:relative;overflow:hidden;min-width:100px;transition:all .3s ease}.game-stats .stat-item.highlighted{box-shadow:0 0 10px #ffeb3b80}.stat-progress-container{position:absolute;bottom:0;left:0;width:100%;height:3px;background:rgba(255,255,255,.2)}.stat-progress-bar{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);transition:width .5s cubic-bezier(.18,.89,.32,1.28)}.fireworks{position:fixed;top:0;left:0;width:100%;height:100%;z-index:900;pointer-events:none}.firework{position:absolute;width:5px;height:5px;border-radius:50%;box-shadow:0 0 0 4px #ffd7001a,0 0 0 8px #ffd7001a,0 0 20px gold;animation:firework 2s ease-in-out infinite}.firework.delayed{animation-delay:.5s;left:30%}.firework.delayed-2{animation-delay:1s;left:70%}.animated{animation-duration:1s;animation-fill-mode:both}.animated.bounce{animation-name:bounce;animation-duration:1s;animation-timing-function:cubic-bezier(.28,.84,.42,1);animation-iteration-count:infinite;animation-direction:alternate}.animated.pulse{animation-name:pulse;animation-duration:1.5s;animation-iteration-count:infinite}.animated.fade-out{animation-name:fadeOut;animation-duration:1s}.animated.scale-in{animation-name:scaleIn;animation-duration:.5s}.animated.float-up{animation-name:floatUp;animation-duration:3s;animation-timing-function:ease-in-out}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-20px)}60%{transform:translateY(-10px)}}@keyframes flame{0%{transform:scale(1) rotate(-5deg);filter:hue-rotate(0deg)}50%{transform:scale(1.2) rotate(5deg);filter:hue-rotate(10deg)}to{transform:scale(1.1) rotate(-5deg);filter:hue-rotate(0deg)}}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 #ffc107b3}70%{transform:scale(1.05);box-shadow:0 0 0 15px #ffc10700}to{transform:scale(1);box-shadow:0 0 #ffc10700}}@keyframes floatUp{0%{transform:translateY(0);opacity:1}70%{opacity:1}to{transform:translateY(-150px);opacity:0}}@keyframes scaleIn{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes firework{0%{transform:translate(50vw,100vh);width:4px;height:4px;opacity:1}50%{width:4px;height:4px;opacity:1}to{width:300px;height:300px;opacity:0;transform:translate(calc(50vw + 150px),calc(40vh + 150px))}}@media (max-width: 768px){.level-badge{width:60px;height:60px;top:15px;right:15px}.level-number{font-size:1.8rem}.level-name{font-size:.7rem}.level-progress{width:180px;top:15px;left:15px}.level-up-content{padding:30px}.level-up-text{font-size:2.5rem}.level-up-level{font-size:2rem}}.home-navigation{display:flex;justify-content:center;margin:2rem 0}.learn-link{text-decoration:none;color:inherit}.learn-button{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;padding:1.5rem 2.5rem;border-radius:12px;display:flex;flex-direction:column;align-items:center;transition:transform .3s,box-shadow .3s;box-shadow:0 8px 20px #00000026;min-width:250px;text-align:center}.learn-button:hover{transform:translateY(-5px);box-shadow:0 15px 30px #0003}.learn-button span:first-child{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.learn-description{font-size:.9rem;opacity:.9}@media (max-width: 768px){.learn-button{padding:1.2rem 2rem;min-width:220px}.learn-button span:first-child{font-size:1.3rem}.learn-description{font-size:.8rem}}.learn-page{max-width:100%;margin:0;padding:0;color:var(--text-color);background-color:#fff;min-height:100vh;display:flex;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}.learn-page>.container{width:100%;max-width:1200px;margin:0 auto;padding:1rem 2rem}.learn-page h1{text-align:left;margin:2rem 0 1.5rem;font-size:2.8rem;color:#333;font-weight:700;letter-spacing:-.02em}.dashboard-section{background-color:#fff;padding:1.5rem 2rem;border-radius:16px;box-shadow:0 4px 12px #00000014;margin-bottom:2.5rem}.overall-progress{margin-bottom:1.5rem}.overall-progress p{margin:0 0 .5rem;font-size:1rem;color:#444;font-weight:500}.overall-progress-bar-container{height:10px;background-color:#e0e0e0;border-radius:5px;overflow:hidden;position:relative}.overall-progress-bar{height:100%;background:linear-gradient(90deg,#66baff 0%,#1e90ff 100%);border-radius:5px;transition:width .5s ease-in-out}.overall-progress-percentage{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:.85rem;font-weight:600;color:#333;background-color:#fffc;padding:2px 6px;border-radius:3px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1rem}.stat-card{background-color:#fff;padding:1rem;border-radius:12px;text-align:center;box-shadow:0 2px 5px #0000000d;border:1px solid #eee}.stat-card p{margin:0 0 .25rem;font-size:.9rem;color:#555;text-transform:uppercase;font-weight:500;letter-spacing:.05em}.stat-card span{font-size:2.2rem;font-weight:600;color:#333;display:block;letter-spacing:-.02em}.lesson-list{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}.section-heading{text-align:left;margin:2rem 0 1rem;width:100%;position:relative}.section-heading:before{display:none}.section-heading h3{display:inline-block;font-size:1.6rem;color:#333;padding:0;background-color:transparent;border-radius:0;box-shadow:none;font-weight:600;margin:0;position:relative;z-index:1;letter-spacing:-.01em}.lessons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;margin-top:1rem;margin-left:0;margin-right:0;padding-bottom:2rem}.lesson-card{background-color:#fff;border-radius:12px;padding:0;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 8px #00000012;border:1px solid #e0e0e0}.lesson-card.not-started{background-color:#eee;border:1px solid #e0e0e0;box-shadow:0 2px 5px #00000008}.lesson-card.not-started:hover{background-color:#f5f5f5;box-shadow:0 4px 8px #00000012}.lesson-card.not-started .lesson-card-header{background:linear-gradient(135deg,#9e9e9e 0%,#757575 100%)}.lesson-card.not-started .lesson-card-content,.lesson-card.not-started .lesson-card-footer{background-color:#fff}.lesson-card.locked{cursor:not-allowed;opacity:.7;filter:grayscale(80%)}.lesson-card:not(.locked):hover{transform:translateY(-4px);box-shadow:0 10px 15px #0000001a}.lesson-card-header{background:linear-gradient(135deg,#5c6bc0 0%,#3f51b5 100%);color:#fff;padding:.8rem 1.2rem;font-size:1rem;font-weight:600;border-top-left-radius:12px;border-top-right-radius:12px;text-align:left;letter-spacing:.01em}.lesson-card-content{padding:1rem;flex-grow:1;display:flex;flex-direction:column}.lesson-title{font-size:1.3rem;font-weight:600;color:#333;margin:0 0 .8rem;line-height:1.3;letter-spacing:-.01em}.lesson-description-short{font-size:1rem;color:#555;line-height:1.5;margin-bottom:1.2rem;flex-grow:1}.lesson-progress{margin-top:auto;padding-top:.5rem}.progress-bar-container{height:8px;background-color:#e8eaf6;border-radius:4px;overflow:hidden;margin-bottom:.3rem}.progress-bar{height:100%;background:linear-gradient(90deg,#7986cb 0%,#5c6bc0 100%);border-radius:4px;transition:width .3s ease}.progress-text{font-size:.9rem;color:#555;font-weight:500}.lesson-card-footer{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background-color:#f9f9f9;border-top:1px solid #eee;border-bottom-left-radius:12px;border-bottom-right-radius:12px}.lesson-card-footer-completed{display:flex;justify-content:space-between;align-items:center;width:100%}.lesson-status{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:500}.completed-status{color:#1e90ff}.locked-status{color:#757575}.lesson-status svg{font-size:1.1em}.lesson-button{border:none;padding:.6rem 1.2rem;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:600;transition:background-color .2s,transform .1s}.lesson-button.start{background-color:#e3f2fd;color:#1e88e5;border:1px solid #bbdefb}.lesson-button.start:hover{background-color:#bbdefb}.lesson-button.continue{background-color:#e3f2fd;color:#1e90ff;border:1px solid #bbdefb}.lesson-button.continue:hover{background-color:#bbdefb}.lesson-button:active{transform:scale(.98)}.lesson-button.retake{background-color:transparent;color:#757575;border:none;padding:.3rem;font-size:1rem;line-height:1;border-radius:50%}.lesson-button.retake:hover{background-color:#0000000d;color:#333}.lesson-difficulty-badge{font-size:.9rem;color:#555;text-transform:capitalize;font-weight:500;background-color:#fff;padding:3px 10px;border:1px solid #e0e0e0;border-radius:10px}.lesson-card.completed{background-color:#e3f2fd}.lesson-card.completed .lesson-card-header{background:linear-gradient(135deg,#42a5f5 0%,#1e90ff 100%)}.lesson-card.completed .lesson-card-footer{background-color:#e3f2fd}.lesson-card.in-progress{border-color:#1e90ff;box-shadow:0 0 0 2px #1e90ff33}.lesson-card.in-progress .lesson-card-header{background:linear-gradient(135deg,#66baff 0%,#1e90ff 100%)}.lesson-card.in-progress .progress-bar{background:linear-gradient(90deg,#66baff 0%,#1e90ff 100%)}.lesson-card .completed-badge,.lesson-card .category-tag,.lesson-card .target-badge,.lesson-card .lesson-difficulty{display:none}.typing-lesson{width:100%;height:100vh;outline:none;display:flex;flex-direction:column;align-items:center;background-color:#f5f5f5;position:relative}.hidden-input{position:absolute;top:-9999px;left:-9999px;opacity:0;width:0;height:0;border:none;padding:0;margin:0;pointer-events:none;z-index:-1}.lesson-header{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:900px;padding:.5rem 1rem;background:white;border-radius:8px}.lesson-header h2{font-size:1.4rem;color:#333;margin:0}.lesson-header button{background-color:#2196f3;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.lesson-header button:hover{background-color:#1976d2}.typing-stats{display:flex;gap:2rem;padding:.5rem 1rem;margin-top:1rem;background:white;border-radius:8px;box-shadow:0 2px 4px #0000001a;width:100%;max-width:900px;flex-wrap:wrap;justify-content:center}.stat{display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:90px}.stat span:first-child{font-size:1rem;color:#666}.stat span:nth-child(2){font-size:1.5rem;font-weight:600;color:#1976d2}.stat-target{font-size:.8rem!important;color:#888!important;font-weight:400!important}.stat .high{color:#1e90ff}.stat .medium{color:#ffc107}.stat .low{color:#f44336}.sound-toggle{position:relative;display:flex;flex-direction:column;align-items:center}.sound-toggle-button{background:none;border:none;cursor:pointer;font-size:1.5rem;color:#1976d2;padding:.3rem;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center;margin-top:.2rem}.sound-toggle-button:hover{background-color:#1976d21a;transform:scale(1.1)}.sound-toggle-button:active{transform:scale(.95)}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.lesson-complete-animation{animation:pulse .5s ease-in-out}.typing-area{width:100%;margin:.5rem auto;background-color:#fff;padding:1.5rem;border-radius:8px;font-size:1.8rem;line-height:1.8;box-shadow:0 2px 10px #0000000d;position:relative;min-height:140px}.lesson-description{font-size:1rem;color:#666;margin-bottom:1rem;line-height:1.4;border-bottom:1px solid #eee}.target-text{min-height:120px;margin-bottom:0;user-select:none;font-family:Roboto Mono,monospace;font-size:1.8rem;letter-spacing:.05em;color:#777;line-height:1.8}.content-progress-info{display:flex;justify-content:space-between;font-size:.85rem;color:#888;padding-top:1rem;margin-top:.5rem;border-top:1px solid #eee;font-style:italic}.target-text span{position:relative;white-space:pre-wrap}.target-text span.correct{color:#1e90ff}.target-text span.incorrect{color:#f44336;text-decoration:underline;background-color:#f443361a}.target-text span.current{background-color:#2196f31a;border-left:2px solid #2196f3;border-radius:2px;padding-right:2px;animation:blink 1s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.5}}.typed-text{color:#999;font-size:1.2rem;height:auto;min-height:1.5rem;font-family:Roboto Mono,monospace;letter-spacing:.05em}.keyboard-guide{text-align:center;width:100%;margin-top:2rem;margin-bottom:7rem;overflow:visible}.keyboard{background-color:#e0e0e0;padding:15px;border-radius:8px;display:inline-block}.keyboard-row{display:flex;justify-content:center;margin-bottom:8px}.keyboard-key{display:inline-flex;align-items:center;justify-content:center;min-width:50px;height:50px;margin:0 4px;padding:5px;border:1px solid #bbb;border-radius:6px;background-color:#f8f8f8;font-size:.9rem;font-weight:500;color:#333;text-align:center;transition:all .1s ease-out;box-shadow:0 2px #ccc;position:relative;font-family:Roboto Mono,monospace;text-transform:uppercase}.keyboard-key.space{min-width:280px}.keyboard-key.active{background-color:#1e90ff;color:#fff;transform:translateY(1px);box-shadow:0 1px #1976d2}.keyboard-key.next{background-color:#2196f3;color:#fff;border-color:#1976d2;box-shadow:0 2px #1976d2}.keyboard-key.focus{background-color:#e3f2fd;border-color:#bbdefb;box-shadow:0 2px #bbdefb}.keyboard-key.shift{min-width:70px}.keyboard-key span{display:block;line-height:1.1}.lesson-card .category-tag{position:absolute;top:4px;left:4px;background-color:#1976d2b3;color:#fff;border-radius:12px;padding:2px 8px;font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;z-index:2}.lesson-card.completed .category-tag{background-color:#ffffff40}.target-badge{position:absolute;bottom:25px;right:5px;font-size:.75rem;padding:2px 6px;border-radius:10px;background-color:#0000001a;color:#555;z-index:1}.lesson-card.completed .target-badge{color:#fff;background-color:#fff3}.wpm-target{background-color:#2196f326;color:#1976d2}.lesson-card.completed .wpm-target{color:#fff}@media (max-width: 1024px){.learn-page>.container{padding:1rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.8rem}.stat-card span{font-size:1.8rem}.lessons-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.typing-stats{flex-wrap:wrap;gap:1rem;padding:.5rem .8rem}.stat{min-width:70px;flex:0 0 calc(25% - 1rem)}.sound-toggle{display:none}}@media (max-width: 768px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.stat-card{padding:.8rem}.stat-card span{font-size:1.8rem}.lessons-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.sound-toggle-button{font-size:1.3rem;padding:.2rem}.section-heading h3{font-size:1.4rem}.lesson-title{font-size:1.2rem}.lesson-button{padding:.7rem 1.2rem;min-height:44px;min-width:80px}.lesson-card{min-height:180px}.typing-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;padding:.5rem .8rem}.stat{min-width:unset;flex:unset}.typing-area{padding:1rem;font-size:1.5rem;line-height:1.6;border-radius:6px;margin:.3rem auto}.target-text{font-size:1.3rem;letter-spacing:.03em;line-height:1.6;min-height:100px}.lesson-description{font-size:.9rem;margin-bottom:.8rem}.keyboard-guide{margin-bottom:5rem}}@media (max-width: 480px){.lesson-header{flex-direction:column;gap:.5rem;align-items:flex-start;padding:.5rem .7rem}.lesson-header h2{font-size:1.2rem;margin-bottom:.3rem}.lesson-header button{font-size:.85rem;padding:.4rem .8rem;width:100%}.typing-lesson{width:auto;padding:.5rem}.lesson-list{width:auto;padding:0 .5rem}.typing-area{width:auto;padding:.8rem;font-size:1.2rem;line-height:1.5;margin:.3rem auto}.target-text{font-size:1.1rem;letter-spacing:.02em;min-height:80px}.learn-page>.container{padding:.5rem}.learn-page h1{font-size:1.8rem;margin:1rem 0}.dashboard-section{padding:1rem;border-radius:12px}.overall-progress-percentage{font-size:.75rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.8rem}.stat-card{padding:.6rem;border-radius:8px}.stat-card p{font-size:.75rem}.stat-card span{font-size:1rem}.stat span:nth-child(2){font-size:1rem;font-weight:600;color:#1976d2}.section-heading h3{font-size:1rem}.lessons-grid{grid-template-columns:1fr;gap:1rem}.lesson-card{border-radius:10px}.lesson-card-header{padding:.7rem 1rem;font-size:.95rem}.lesson-card-content{padding:.8rem}.lesson-title{font-size:1.1rem}.lesson-description-short{font-size:.95rem}.lesson-card-footer{padding:.6rem .8rem}.lesson-status,.lesson-button{font-size:.8rem}.lesson-button{padding:.5rem 1rem;min-height:40px}.lesson-difficulty-badge{font-size:.7rem;padding:2px 6px}.typing-stats{gap:.7rem;grid-template-columns:repeat(2,1fr);margin-top:.5rem}.stat{min-width:65px}.sound-toggle{display:none}.sound-toggle-button{font-size:1.2rem;margin-top:.1rem}.keyboard-guide{display:none;margin-bottom:3rem}.content-progress-info{flex-direction:column;font-size:.7rem;padding-top:.7rem}.hidden-input{position:fixed;bottom:-1px;left:0;width:1px;height:1px;z-index:-10}}.lesson-card.completed,.lesson-card.in-progress{background-color:#fff}.search-bar{position:relative;margin:1.5rem 0 2rem;display:flex;align-items:center;max-width:600px;width:100%}.search-bar input{width:100%;padding:.8rem 2.8rem .8rem 3.2rem;border-radius:10px;border:2px solid #e0e0e0;background-color:#fff;font-size:1.1rem;transition:all .2s ease;box-shadow:0 2px 8px #0000000d}.search-bar input:focus{border-color:#1e90ff;box-shadow:0 2px 12px #1e90ff26;outline:none}.search-bar input::placeholder{color:#999}.search-icon{position:absolute;left:1rem;color:#666;font-size:1.2rem}.clear-search{position:absolute;right:1rem;background:none;border:none;color:#999;cursor:pointer;font-size:1.2rem;padding:0;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.clear-search:hover{color:#f44336}.search-suggestions{position:absolute;top:calc(100% + .5rem);left:0;width:100%;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:10;padding:.5rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem}.search-suggestion-tag{background-color:#e3f2fd;border:1px solid #bbdefb;color:#1976d2;font-size:.85rem;padding:.4rem .8rem;border-radius:20px;cursor:pointer;text-align:center;transition:all .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-suggestion-tag:hover{background-color:#bbdefb}.search-suggestion-category{background-color:#f5f5f5;color:#333;border:1px solid #e0e0e0}.search-no-results{grid-column:1 / -1;padding:1rem;text-align:center;color:#666;font-style:italic}@media (max-width: 768px){.search-bar{max-width:100%}.search-suggestions{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}@media (max-width: 480px){.search-bar input{padding:.7rem 2.5rem .7rem 2.8rem;font-size:1rem}.search-icon{left:.8rem;font-size:1rem}.clear-search{right:.8rem;font-size:1rem}.search-suggestions{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}}.CookieConsent{position:fixed!important;left:0!important;right:0!important;bottom:0!important;width:auto!important;max-width:100vw!important;margin:0!important;box-sizing:border-box;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));z-index:10000;border-radius:0}.CookieConsent *{max-width:100%;box-sizing:border-box}html:has(.game-sidebar:not(.collapsed)) .CookieConsent{left:250px!important}html:has(.game-sidebar.collapsed) .CookieConsent{left:60px!important}@media (max-width: 768px){html:has(.game-sidebar) .CookieConsent{left:0!important}}.challenge-page{margin:0;min-height:100vh;height:100vh;width:100vw;background:#1a1a2e;background-image:linear-gradient(0deg,rgba(26,26,46,.8) 0%,rgba(26,26,46,.8) 100%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cpath d='M14 16H9v-2h5V9.87a4 4 0 1 1 2 0V14h5v2h-5v15.95A10 10 0 0 0 23.66 27l-3.46-2 8.2-2.2-2.9 5a12 12 0 0 1-21 0l-2.89-5 8.2 2.2-3.47 2A10 10 0 0 0 14 31.95V16zm40 40h-5v-2h5v-4.13a4 4 0 1 1 2 0V54h5v2h-5v15.95A10 10 0 0 0 63.66 67l-3.47-2 8.2-2.2-2.88 5a12 12 0 0 1-21.02 0l-2.88-5 8.2 2.2-3.47 2A10 10 0 0 0 54 71.95V56zm-39 6a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm40-40a2 2 0 1 1 0-4 2 2 0 0 1 0 4zM15 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm40 40a2 2 0 1 0 0-4 2 2 0 0 0 0 4z' fill='%234d7cfe' opacity='0.4'/%3E%3C/svg%3E");background-size:100px 100px;color:#fff;font-family:Russo One,Segoe UI,sans-serif;position:relative;overflow:hidden;animation:geometryDashBG 10s linear infinite;box-sizing:border-box;display:flex;transition:all .3s ease}.challenge-page .sidebar-container{position:fixed;top:0;left:0;height:100%;z-index:100}.challenge-page .challenge-main-content{flex:1;margin-left:250px;width:calc(100% - 250px);height:100%;position:relative;overflow:hidden;transition:margin-left .3s ease,width .3s ease}.challenge-page.sidebar-collapsed .challenge-main-content{margin-left:60px;width:calc(100% - 60px)}.challenge-page .sidebar-mobile-toggle{display:none;position:fixed;left:10px;top:70px;z-index:1001;background:var(--accent-cyan, #22d3ee);border:none;color:#0f172a;width:36px;height:36px;border-radius:50%;justify-content:center;align-items:center;cursor:pointer;box-shadow:0 2px 5px #0003}.challenge-page .home-button{position:absolute;top:20px;left:20px;padding:10px 15px;background:linear-gradient(45deg,#6a11cb,#2575fc);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;z-index:50;box-shadow:0 4px 15px #0000004d;transition:all .3s ease;display:flex;align-items:center;gap:8px}@media (max-width: 768px){.challenge-page .challenge-main-content,.challenge-page.sidebar-collapsed .challenge-main-content{margin-left:0;width:100%}.challenge-page .sidebar-mobile-toggle{display:flex}}@keyframes geometryDashBG{0%{background-position:0 0}to{background-position:100px 100px}}@keyframes neonPulse{0%{box-shadow:0 0 5px #4d7cfe,0 0 10px #4d7cfe,0 0 20px #4d7cfe}50%{box-shadow:0 0 10px #4d7cfe,0 0 20px #4d7cfe,0 0 40px #4d7cfe}to{box-shadow:0 0 5px #4d7cfe,0 0 10px #4d7cfe,0 0 20px #4d7cfe}}.challenge-page html,.challenge-page body{margin:0;padding:0;overflow:hidden;height:100%;width:100%;background:#0f2027;background:linear-gradient(to bottom,#0f2027,#203a43,#2c5364)}.challenge-page body{overflow:hidden;position:fixed;width:100%;height:100%;top:0;left:0}.challenge-page .challenge-title{font-size:2.5rem;font-weight:700;margin:0;padding:.5rem;text-align:center;background:linear-gradient(90deg,#00f260,#0575e6);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 2px 10px rgba(0,0,0,.3);letter-spacing:1px;position:absolute;top:0;left:0;right:0;z-index:30}.challenge-page .game-info{display:flex;justify-content:space-between;width:100%;max-width:800px;margin-bottom:1.5rem;font-size:1.2rem;font-weight:700}.challenge-page .challenge-content{margin:0;padding:0;width:100%;height:100vh;position:relative;display:flex;justify-content:center;align-items:center}.challenge-page .game-area canvas{display:block;width:100%;height:100%}.challenge-page .start-button{padding:1rem 2rem;font-size:1.5rem;cursor:pointer;background:linear-gradient(90deg,#00c9ff,#92fe9d);color:#fff;border:none;border-radius:8px;transition:all .3s ease;box-shadow:0 0 15px #00c9ff80;text-transform:uppercase;letter-spacing:2px;font-weight:700;position:relative;overflow:hidden;z-index:1;font-family:Russo One,sans-serif}.challenge-page .start-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:.5s;z-index:-1}.challenge-page .start-button:hover{background:linear-gradient(90deg,#92fe9d,#00c9ff);transform:translateY(-2px) scale(1.05);box-shadow:0 0 25px #00c9ffcc;letter-spacing:3px}.challenge-page .start-button:hover:before{left:100%}.challenge-page .game-stats{position:absolute;top:15px;left:50%;transform:translate(-50%);display:flex;justify-content:center;gap:30px;background:rgba(0,0,0,.7);background:linear-gradient(90deg,rgba(10,10,40,.85),rgba(40,10,60,.85));padding:15px 30px;border-radius:30px;box-shadow:0 4px 20px #0006,0 0 15px #4d7cfe66;z-index:40;width:auto;min-width:380px;border:1px solid rgba(77,124,254,.3);backdrop-filter:blur(5px)}.challenge-page .game-stats p{font-size:20px;color:#fff;margin:0;font-weight:700;text-shadow:0 0 10px rgba(77,124,254,.7);display:flex;flex-direction:column;align-items:center}.challenge-page .game-stats p span.score-value{font-size:24px;color:#0f9;font-weight:800;margin-top:5px}.challenge-page .game-stats p span.progress-value{position:relative;width:100px;height:18px;background:rgba(0,0,0,.3);border-radius:10px;overflow:hidden;margin-top:5px;box-shadow:inset 0 0 5px #00000080}.challenge-page .game-stats p span.progress-value:before{content:"";position:absolute;top:0;left:0;height:100%;width:var(--progress-width);background:linear-gradient(90deg,#00c9ff,#92fe9d);border-radius:10px;box-shadow:0 0 10px #00c9ff80}.challenge-page .game-stats p span.progress-value:after{content:var(--progress-text);position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff;text-shadow:0 0 3px rgba(0,0,0,.8)}.challenge-page .game-stats .target-key-display{font-size:22px;color:#fff;margin:0;font-weight:700}.challenge-page .target-key-display span{display:inline-block;padding:4px 12px;border-radius:8px;font-size:24px;font-weight:700;background:linear-gradient(45deg,#00c9ff,#92fe9d);color:#fff;text-shadow:0 0 10px rgba(255,255,255,.5);box-shadow:0 0 15px #00c9ff99;animation:keyPulse 2s infinite;transition:all .3s ease;margin-left:8px}.challenge-page .home-button svg{width:18px;height:18px}@keyframes keyPulse{0%{box-shadow:0 0 5px #4d7cfe,0 0 10px #4d7cfe,0 0 20px #4d7cfe}50%{box-shadow:0 0 10px #4d7cfe,0 0 20px #4d7cfe,0 0 40px #4d7cfe}to{box-shadow:0 0 5px #4d7cfe,0 0 10px #4d7cfe,0 0 20px #4d7cfe}}.challenge-page .game-container{width:calc(100vw - 250px);height:100vh;position:relative;margin:0;padding:0;border-radius:0;overflow:hidden;box-shadow:none;background-color:#0f2027;transition:width .3s ease}.challenge-page .game-container canvas{border:none;background-color:#0f2027;display:block;width:100%;height:100%;margin:0 auto}.challenge-page .center-key-notification{position:absolute;top:50%;left:25%;transform:translate(-50%,-50%);font-size:120px;font-weight:800;z-index:100;font-family:Russo One,sans-serif;opacity:0;pointer-events:none;background:linear-gradient(135deg,#ffffff,#d0d0d0);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 30px rgba(255,255,255,.8);transition:opacity .3s ease-in-out}.challenge-page .center-key-notification.show{animation:smoothKeyChange 1s ease-in-out forwards}@keyframes smoothKeyChange{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}30%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}70%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}.challenge-page .game-start-screen{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:100;background:rgba(0,0,0,.85);background:linear-gradient(135deg,rgba(20,30,100,.9) 0%,rgba(10,10,40,.95) 100%);padding:3rem;border-radius:16px;border:2px solid rgba(77,204,254,.6);box-shadow:0 0 30px #000000b3,0 0 20px #4d7cfe99,inset 0 0 15px #4d7cfe4d;max-width:600px;width:90%;animation:neonPulse 2s infinite;backdrop-filter:blur(8px)}.challenge-page .game-start-screen .challenge-title{position:relative;font-size:4rem;margin:0;background:linear-gradient(90deg,#00e1ff,#00ff88);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 2px 8px rgba(0,225,255,.4);letter-spacing:2px;font-weight:900;margin-bottom:.5rem;animation:titlePulse 3s infinite;position:static}.challenge-page .game-start-screen .challenge-subtitle{font-size:1.8rem;color:#fff;margin:.5rem 0 1.5rem;text-transform:uppercase;letter-spacing:4px;opacity:.9;text-shadow:0 0 10px rgba(77,224,254,.8)}.challenge-page .game-start-screen .game-instructions{color:#eaeaea;font-size:1.2rem;max-width:600px;margin:1rem 0 2rem;line-height:1.6;opacity:.9}@keyframes titlePulse{0%{text-shadow:0 0 5px rgba(0,242,96,.5),0 0 10px rgba(5,117,230,.3);transform:scale(1)}50%{text-shadow:0 0 15px rgba(0,242,96,.8),0 0 20px rgba(5,117,230,.6);transform:scale(1.03)}to{text-shadow:0 0 5px rgba(0,242,96,.5),0 0 10px rgba(5,117,230,.3);transform:scale(1)}}.challenge-page .game-over-screen{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:100;background:rgba(0,0,0,.85);background:linear-gradient(135deg,rgba(20,30,100,.9) 0%,rgba(10,10,40,.95) 100%);padding:3rem;border-radius:16px;border:2px solid rgba(77,204,254,.6);box-shadow:0 0 30px #000000b3,0 0 20px #4d7cfe99,inset 0 0 15px #4d7cfe4d;max-width:600px;width:90%;animation:neonPulse 2s infinite;backdrop-filter:blur(8px)}.challenge-page .game-over-screen h1{font-size:4.5rem;margin:0 0 1.5rem;background:linear-gradient(90deg,#00e1ff,#00ff88);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 2px 10px rgba(0,225,255,.4);letter-spacing:2px;transform:perspective(500px) rotateX(10deg);animation:gameOverTitle .5s ease-out}@keyframes gameOverTitle{0%{transform:perspective(500px) rotateX(45deg) scale(.7);opacity:0}to{transform:perspective(500px) rotateX(10deg) scale(1);opacity:1}}@keyframes gameOverPulse{0%{box-shadow:0 0 10px #ff464699,0 0 20px #ff464666,0 0 30px #ff464633}50%{box-shadow:0 0 15px #ff4646cc,0 0 30px #ff464699,0 0 50px #ff464666}to{box-shadow:0 0 10px #ff464699,0 0 20px #ff464666,0 0 30px #ff464633}}.challenge-page .score-display{margin:1.5rem 0;font-size:1.5rem;background:rgba(0,0,0,.5);padding:1.5rem 3rem;border-radius:12px;border:1px solid rgba(255,255,255,.15);min-width:250px}.challenge-page .score-display p{margin:.8rem 0;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:2rem}.challenge-page .score-display p span{font-size:1.8rem;color:#ffae00;text-shadow:0 0 10px rgba(255,174,0,.6)}.challenge-page .score-display p:nth-child(2) span{color:#0fa;text-shadow:0 0 10px rgba(0,255,170,.6)}.challenge-page .key-display{margin:2rem 0}.challenge-page .key-display h2{font-size:2rem;margin-bottom:1rem}.challenge-page .start-button{padding:1.2rem 2.5rem;font-size:1.5rem;cursor:pointer;background:linear-gradient(90deg,#00c9ff,#00ffaa);color:#001830;border:none;border-radius:12px;transition:all .3s ease;box-shadow:0 0 15px #00c9ff80;text-transform:uppercase;letter-spacing:2px;font-weight:700;position:relative;overflow:hidden;z-index:1;font-family:Russo One,sans-serif;margin-top:1.5rem}.challenge-page .start-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:.5s;z-index:-1}.challenge-page .start-button:hover{background:linear-gradient(90deg,#00ffaa,#00c9ff);transform:translateY(-3px) scale(1.05);box-shadow:0 0 25px #00c9ffcc;letter-spacing:3px}.challenge-page .start-button:hover:before{left:100%}.challenge-page .game-over-screen .start-button{background:linear-gradient(90deg,#00c9ff,#00ffaa);box-shadow:0 0 15px #00c9ff80;color:#001830}.challenge-page .game-over-screen .start-button:hover{background:linear-gradient(90deg,#00ffaa,#00c9ff);box-shadow:0 0 25px #00c9ffcc}.challenge-page .error-message{color:red;margin-bottom:10px;padding:10px;background:#ffeeee;border:1px solid #ffcccc;border-radius:4px;position:absolute;top:20px;left:50%;transform:translate(-50%);z-index:100}@media (max-width: 768px){.challenge-page .challenge-title{font-size:2rem}.challenge-page .game-stats{flex-direction:column;gap:10px}.challenge-page .key-display h2{font-size:1.5rem}.challenge-page .target-key{font-size:2.5rem}}@media (max-width: 480px){.challenge-page .challenge-title{font-size:1.8rem}.challenge-page .game-stats{min-width:250px;padding:10px 15px}.challenge-page .game-stats p{font-size:16px}.challenge-page .key-display h2{font-size:1.2rem}.challenge-page .target-key{font-size:2rem}}.difficulty-selector{background:rgba(0,0,0,.5);border-radius:10px;padding:15px;margin:20px 0;text-align:center;border:1px solid rgba(77,124,254,.5);box-shadow:0 0 10px #4d7cfe4d}.difficulty-options{display:flex;justify-content:center;gap:20px;margin:10px 0}.difficulty-btn{background:#2d3748;color:#fff;border:2px solid #4d7cfe;border-radius:5px;padding:8px 20px;font-family:Russo One,sans-serif;cursor:pointer;transition:all .3s ease}.difficulty-btn:hover{background:#3a4a63;transform:translateY(-2px);box-shadow:0 0 15px #4d7cfe99}.difficulty-btn.active{background:#4d7cfe;color:#fff;box-shadow:0 0 15px #4d7cfecc}.difficulty-info{font-size:.9rem;color:#a0aec0;margin-top:10px}@keyframes slowMotionPulse{0%{opacity:0}50%{opacity:.3}to{opacity:0}}.challenge-page:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:#4d7cfe;opacity:0;pointer-events:none;z-index:5}.challenge-page.slow-motion:after{animation:slowMotionPulse 1.5s ease-in-out}.challenge-page.sidebar-collapsed .game-container{width:calc(100vw - 60px)}.challenge-page .game-start-screen,.challenge-page .game-over-screen,.challenge-page .overlay-screen{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (max-width: 768px){.challenge-page,.challenge-page.sidebar-collapsed{padding-left:0}.challenge-page .game-container,.challenge-page.sidebar-collapsed .game-container{width:100vw}.challenge-page .sidebar-mobile-toggle{display:flex}.challenge-page .home-button{left:60px}}.challenge-page .challenge-main-content .challenge-title{position:relative;font-size:2.5rem;padding-top:1rem;padding-bottom:1rem;background:linear-gradient(90deg,#00f260,#0575e6);-webkit-background-clip:text;background-clip:text;color:transparent;margin:0;text-align:center}.challenge-page .game-start-screen .challenge-title{position:static;top:auto;left:auto;right:auto;transform:none;padding:0}.challenge-page .overlay-screen{z-index:100}body{margin:0;font-family:Roboto Mono,monospace!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}.App{position:absolute;top:0px;left:0px;height:100%;width:100%;overflow:hidden}.game{height:100%;width:100%;display:flex;align-items:center;justify-content:center;flex-direction:column}.currentword{font-size:160px;font-weight:700;transform-origin:center center;opacity:0;color:#000;font-family:Roboto Mono,monospace;letter-spacing:.05em;transition:all .5s cubic-bezier(.215,.61,.355,1)}.game[data-state=game_starting] .currentword,.game[data-state=word_transitioning_out] .currentword{opacity:0}.game[data-state=word_transitioning_in] .currentword,.game[data-state=word_spelling] .currentword{opacity:1}.game[data-state=word_complete] .currentword{color:#2691fc;opacity:1;animation-name:word_complete;animation-duration:1s;animation-timing-function:ease-in-out}.game[data-state=word_transitioning_out] .currentword{color:#2691fc;opacity:0;animation-name:word_complete;animation-duration:1s;animation-timing-function:ease-in-out}.input{opacity:0;position:absolute;top:0px;left:0px;height:100%;width:100%;user-select:none;-webkit-user-select:none;font-size:16px}.currentword>span{margin:2px;display:inline-block}.currentword>span[data-status=complete]{color:#3d3f41}.currentword>span[data-status=current]{color:red;animation-name:letter_current;animation-duration:1s;animation-delay:.25s;animation-iteration-count:infinite;animation-timing-function:cubic-bezier(.28,.84,.42,1)}@keyframes letter_current{0%{transform:scale(1) translateY(0)}30%{transform:scale(1.05,.9) translateY(-.4rem)}60%{transform:scaleX(.95) translateY(.1rem)}to{transform:scale(1) translateY(0)}}@keyframes word_complete{0%{transform:rotate(0)}33%{transform:rotate(10deg)}66%{transform:rotate(-10deg)}to{transform:rotate(0)}}.settings-anchor{position:absolute;bottom:8px;right:8px;z-index:10}.settings-content{min-width:144px;display:flex;gap:8px;flex-direction:column;box-shadow:1px 1px 8px -2px #00000040;border-radius:8px;padding:8px}.settings-content h3{margin:0;color:#000000d9;padding:8px 4px}.settings-content h4{margin:0;font-weight:400;font-size:12px;color:#000000a6;padding:0 4px}.section{display:flex;flex-direction:column;margin-block-start:8px;margin-block-end:8px;margin:0;padding:4px;border:1px solid rgb(222,222,222);border-radius:6px}.section hr{width:calc(100% + 8px);height:0px;border-top:0px;margin:4px -4px;border-bottom:1px solid rgb(222,222,222)}.settings-content button{position:relative;display:flex;background:none;border:none;padding:8px;border-radius:4px;width:100%;height:32px;gap:8px}.settings-content button:hover{background-color:#0000001a;cursor:pointer}.settings-content span:nth-of-type(1){flex-grow:2;text-align:left}.settings-content .checkmark{align-self:flex-end;right:8px;width:16px;height:16px;color:#000;stroke-width:0px}.settings-button{border:none;display:grid;padding:8px;border-radius:4px;align-items:center;transition:all .1s ease-out;background-color:transparent}.settings-button:hover{background-color:#0000001a;cursor:pointer}.settings-button svg{stroke:#0006;inline-size:20px;block-size:20px;transition:all .1s ease-out}.settings-button:hover svg{stroke:#000000b3}.font-itim{font-family:Itim,-apple-system,sans-serif}.flex{display:flex}.items-center{align-items:center}.justify-center{justify-content:center}.min-h-screen{min-height:100vh}.bg-blue-50{background-color:#eff6ff}.w-full{width:100%}.max-w-md{max-width:28rem}.p-8{padding:2rem}.space-y-8>*+*{margin-top:2rem}.bg-white{background-color:#fff}.rounded-lg{border-radius:.5rem}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.text-center{text-align:center}.text-4xl{font-size:2.25rem}.font-bold{font-weight:700}.text-blue-600{color:#2563eb}.mt-2{margin-top:.5rem}.text-gray-600{color:#4b5563}.mt-8{margin-top:2rem}.space-y-6>*+*{margin-top:1.5rem}.group,.relative{position:relative}.py-3{padding-top:.75rem;padding-bottom:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.border{border-width:1px}.border-transparent{border-color:transparent}.font-medium{font-weight:500}.rounded-md{border-radius:.375rem}.text-gray-700{color:#374151}.hover\:bg-gray-50:hover{background-color:#f9fafb}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus\:ring-blue-500:focus{--tw-ring-color: #3b82f6}.mr-2{margin-right:.5rem}.h-5{height:1.25rem}.w-5{width:1.25rem}.mt-6{margin-top:1.5rem}.text-sm{font-size:.875rem}.text-red-700{color:#b91c1c}.bg-red-100{background-color:#fee2e2}.text-xs{font-size:.75rem}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.opacity-70{opacity:.7}.cursor-not-allowed{cursor:not-allowed}.list-disc{list-style-type:disc}.list-inside{list-style-position:inside}.text-left{text-align:left}.text-gray-500{color:#6b7280}.-ml-1{margin-left:-.25rem}.mr-3{margin-right:.75rem}.stroke-current{stroke:currentColor}.opacity-25{opacity:.25}.opacity-75{opacity:.75}
