.theme-carbon{--bg-color:#121214;--bg-surface:#1e1e24;--bg-surface-glass:#1e1e24b3;--text-main:#e2e8f0;--text-muted:#64748b;--text-correct:#38bdf8;--text-incorrect:#ef4444;--primary-color:#ff9f1c;--primary-glow:#ff9f1c66;--secondary-color:#2ec4b6;--caret-color:#ff9f1c;--border-color:#ff9f1c26;--border-hover:#ff9f1c66}.theme-cyberpunk{--bg-color:#0c0813;--bg-surface:#180f2b;--bg-surface-glass:#180f2bb3;--text-main:#f3e8ff;--text-muted:#704d9c;--text-correct:#39ff14;--text-incorrect:#f05;--primary-color:#ff007f;--primary-glow:#ff007f80;--secondary-color:#0ff;--caret-color:#0ff;--border-color:#ff007f33;--border-hover:#00ffff80}.theme-dracula{--bg-color:#282a36;--bg-surface:#343746;--bg-surface-glass:#343746bf;--text-main:#f8f8f2;--text-muted:#6272a4;--text-correct:#50fa7b;--text-incorrect:#f55;--primary-color:#bd93f9;--primary-glow:#bd93f973;--secondary-color:#8be9fd;--caret-color:#ff79c6;--border-color:#bd93f933;--border-hover:#ff79c680}.theme-nordic{--bg-color:#1e293b;--bg-surface:#0f172a;--bg-surface-glass:#0f172ab3;--text-main:#f1f5f9;--text-muted:#475569;--text-correct:#2dd4bf;--text-incorrect:#fda4af;--primary-color:#a7f3d0;--primary-glow:#a7f3d059;--secondary-color:#38bdf8;--caret-color:#34d399;--border-color:#34d39926;--border-hover:#34d39966}.theme-sakura{--bg-color:#fcf7f7;--bg-surface:#fff;--bg-surface-glass:#ffffffd9;--text-main:#4a3737;--text-muted:#c9b1b1;--text-correct:#dd5e89;--text-incorrect:#e03a3e;--primary-color:#f7bb97;--primary-glow:#f7bb9766;--secondary-color:#dd5e89;--caret-color:#dd5e89;--border-color:#dd5e8933;--border-hover:#dd5e8980}.theme-paper{--bg-color:#dce3ea;--bg-surface:#f0f4f8;--bg-surface-glass:#f0f4f8eb;--text-main:#1e293b;--text-muted:#64748b;--text-correct:#059669;--text-incorrect:#dc2626;--primary-color:#237573;--primary-glow:#23757340;--secondary-color:#145e5c;--caret-color:#237573;--border-color:#2b7e7c;--border-hover:#1b6361;--font-mono:"Courier Prime", "Space Mono", "JetBrains Mono", monospace}:root{--bg-color:#dce3ea;--bg-surface:#f0f4f8;--bg-surface-glass:#f0f4f8eb;--text-main:#1e293b;--text-muted:#64748b;--text-correct:#059669;--text-incorrect:#dc2626;--primary-color:#237573;--primary-glow:#23757340;--secondary-color:#145e5c;--caret-color:#237573;--border-color:#2b7e7c;--border-hover:#1b6361;--font-ui:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"Courier Prime", "Space Mono", "JetBrains Mono", monospace;--shadow-sm:0 2px 8px #0000001a;--shadow-md:0 8px 24px #0003;--shadow-lg:0 16px 40px #00000059;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.3s cubic-bezier(.4, 0, .2, 1);--transition-slow:.5s cubic-bezier(.4, 0, .2, 1);--radius-sm:8px;--radius-md:16px;--radius-lg:24px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{background-color:var(--bg-color);width:100%;height:100%;color:var(--text-main);font-family:var(--font-ui);transition:background-color var(--transition-normal), color var(--transition-normal);overflow-x:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-muted);opacity:.3;border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}.glass-panel{background:var(--bg-surface-glass);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:border-color var(--transition-normal), box-shadow var(--transition-normal), transform var(--transition-fast)}.glass-panel:hover{border-color:var(--border-hover);box-shadow:0 10px 25px -5px #0000001a, 0 0 20px var(--primary-glow);transform:translateY(-2px)}.glass-card{border-radius:var(--radius-sm);background:linear-gradient(135deg,#ffffff08,#ffffff03);border:1px solid #ffffff0d;padding:1.5rem}button,.btn{font-family:var(--font-ui);border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-surface-glass);color:var(--text-main);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;display:inline-flex}button:hover:not(:disabled),.btn:hover{border-color:var(--primary-color);background:var(--bg-surface);color:var(--primary-color);box-shadow:0 4px 12px var(--primary-glow);transform:translateY(-2px)}button:active:not(:disabled),.btn:active{transform:translateY(0)}button:disabled{opacity:.4;cursor:not-allowed}button.primary,.btn-primary{background:var(--primary-color);border-color:var(--primary-color);color:var(--bg-color)!important}button.primary:hover,.btn-primary:hover{box-shadow:0 0 20px var(--primary-glow);background:0 0;color:var(--primary-color)!important}@keyframes pulse-caret{0%,to{opacity:1}50%{opacity:0}}@keyframes blink-accent{0%,to{border-color:var(--border-color)}50%{border-color:var(--primary-color)}}@keyframes float-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-float{animation:.5s cubic-bezier(.16,1,.3,1) forwards float-up}@keyframes typed-correct{0%{text-shadow:0 0 8px var(--text-correct)}to{text-shadow:none}}@keyframes typed-incorrect{0%{text-shadow:0 0 8px var(--text-incorrect)}to{text-shadow:none}}.word-display-container{border-radius:var(--radius-md);width:100%;max-width:900px;margin:1.5rem 0;padding:2.5rem;position:relative;overflow:hidden}.word-display-glow{background:radial-gradient(circle, var(--primary-glow) 0%, transparent 70%);opacity:.15;pointer-events:none;z-index:0;width:70%;height:60%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.word-display-text{font-family:var(--font-mono);letter-spacing:0;white-space:pre-wrap;word-break:normal;overflow-wrap:break-word;-webkit-user-select:none;user-select:none;z-index:1;max-height:180px;padding-right:5px;font-size:1.4rem;line-height:2.3rem;position:relative;overflow-y:auto}.word-node{white-space:pre;display:inline-block}.char-item{transition:color var(--transition-fast), background-color var(--transition-fast);border-radius:2px;position:relative}.char-future{color:var(--text-muted)}.char-correct{color:var(--text-correct);animation:.3s typed-correct}.char-incorrect{color:var(--text-incorrect);border-bottom:2px solid var(--text-incorrect);background-color:#ef44441f;animation:.3s typed-incorrect}.char-space.char-incorrect{border-bottom:2px solid var(--text-incorrect);background-color:#ef444433}.char-active{color:var(--text-main);background-color:#ffffff0d}.cursor-caret{background-color:var(--caret-color);width:2px;height:80%;box-shadow:0 0 8px var(--caret-color);animation:1s infinite pulse-caret;position:absolute;top:10%;left:0}.word-display-text:focus-within .cursor-caret,.word-display-container:hover .cursor-caret{animation:none}.char-space{min-width:.5rem;margin:0;display:inline-block}.char-newline{opacity:.6;font-size:.85em}.start-typing-overlay.focus-blur-overlay{background-color:color-mix(in srgb, var(--bg-surface) 75%, transparent);-webkit-backdrop-filter:blur(8px);border-radius:inherit;z-index:20;opacity:1;visibility:visible;justify-content:center;align-items:center;transition:opacity .3s,filter .3s;display:flex;position:absolute;inset:0}.start-typing-badge{background-color:var(--primary-color);color:var(--bg-main);letter-spacing:.03em;border-radius:30px;padding:.65rem 1.5rem;font-size:.95rem;font-weight:700;animation:2.5s ease-in-out infinite pulse-badge;box-shadow:0 6px 24px #00000026}@keyframes pulse-badge{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.word-display-container:focus{outline:none;border-color:var(--primary-color)!important;box-shadow:0 0 25px var(--primary-glow)!important}.word-display-container:focus-within .start-typing-overlay{opacity:0;visibility:hidden;transform:scale(.96)}.code-console-mode{border-radius:var(--radius-md);box-shadow:var(--shadow-md), 0 0 25px #00000026;overflow:hidden;padding:0!important}.console-header-bar{border-bottom:1px solid var(--border-color);font-family:var(--font-ui);-webkit-user-select:none;user-select:none;background:#00000026;justify-content:space-between;align-items:center;padding:.65rem 1.2rem;display:flex}.console-dots{align-items:center;gap:.45rem;display:flex}.mac-dot{border-radius:50%;width:11px;height:11px;box-shadow:inset 0 0 3px #0003}.mac-dot.red{background-color:#ff5f56}.mac-dot.yellow{background-color:#ffbd2e}.mac-dot.green{background-color:#27c93f}.console-file-tab{border:1px solid var(--border-color);font-family:var(--font-mono);color:var(--primary-color);background:#ffffff0f;border-radius:6px;align-items:center;gap:.45rem;padding:.25rem .8rem;font-size:.8rem;font-weight:700;display:inline-flex}.console-meta-badges{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;gap:.6rem;font-size:.72rem;font-weight:700;display:flex}.console-body-viewport{max-height:220px;font-family:var(--font-mono);padding:1.5rem 1.2rem;font-size:1.35rem;line-height:2.2rem;position:relative;overflow-y:auto}.console-line-row{border-radius:4px;align-items:baseline;width:100%;padding:0 .2rem;transition:background .15s;display:flex}.console-line-row.active-line{background-color:#ffffff0a}.console-gutter-num{text-align:right;width:36px;min-width:36px;font-family:var(--font-mono);color:var(--text-muted);opacity:.4;-webkit-user-select:none;user-select:none;padding-right:16px;font-size:.85rem}.console-line-row.active-line .console-gutter-num{opacity:1;color:var(--primary-color);font-weight:800}.console-line-content{white-space:pre-wrap;word-break:normal;flex:1}.console-footer-bar{border-top:1px solid var(--border-color);font-family:var(--font-mono);color:var(--text-muted);-webkit-user-select:none;user-select:none;background:#0000002e;justify-content:space-between;align-items:center;padding:.4rem 1.2rem;font-size:.75rem;display:flex}.console-footer-left,.console-footer-right{gap:1.2rem;display:flex}.syn-kw{font-weight:600;color:#a78bfa!important}.syn-str{color:#f59e0b!important}.syn-num{color:#f43f5e!important}.syn-fn{font-weight:600;color:#38bdf8!important}.syn-tag{color:#2dd4bf!important}@media (width<=768px){.word-display-container{padding:1.5rem}.word-display-text,.console-body-viewport{max-height:160px;font-size:1.15rem;line-height:1.8rem}}.stats-chart-wrapper{border-radius:var(--radius-md);width:100%;max-width:900px;margin:1.5rem 0;padding:1.5rem}.chart-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.chart-title{letter-spacing:.05em;color:var(--text-main);text-transform:uppercase;font-size:.95rem;font-weight:700}.chart-legend{color:var(--text-muted);gap:1.25rem;font-size:.8rem;font-weight:500;display:flex}.legend-item{align-items:center;gap:.4rem;display:flex}.legend-dot{border-radius:50%;width:8px;height:8px}.legend-item.wpm .legend-dot{background-color:var(--primary-color);box-shadow:0 0 6px var(--primary-glow)}.legend-item.raw .legend-dot{border:1px dashed var(--text-muted)}.demo-badge{text-transform:uppercase;background-color:#ffffff0d;border-radius:4px;padding:.1rem .4rem;font-size:.7rem}.chart-svg-container{width:100%;position:relative}.chart-svg{width:100%;height:auto;overflow:visible}.chart-grid-line{stroke:#ffffff09;stroke-width:1px}.chart-axis-text{font-family:var(--font-mono);fill:var(--text-muted);font-size:8px}.wpm-axis{text-anchor:end}.time-axis{text-anchor:middle}.chart-main-line{filter:drop-shadow(0px 2px 6px var(--primary-glow))}.chart-error-node{animation:1s infinite alternate pulse-caret}@media (width<=768px){.stats-chart-wrapper{padding:1rem}.chart-header{flex-direction:column;align-items:flex-start;gap:.5rem}}.dashboard-container{width:100%;max-width:900px;margin:0 auto;padding:1.5rem 0}.dashboard-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.dashboard-header h2{letter-spacing:-.02em;background:linear-gradient(135deg, var(--text-main) 30%, var(--primary-color) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.8rem;font-weight:800}.dashboard-header .subtitle{color:var(--text-muted);margin-top:.25rem;font-size:.9rem}.btn-clear{color:var(--text-incorrect);background:#ef44440a;border-color:#ef444433;padding:.5rem 1rem;font-size:.8rem}.btn-clear:hover{border-color:var(--text-incorrect)!important;color:#fff!important;background:var(--text-incorrect)!important;box-shadow:0 4px 12px #ef44444d!important}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:2rem;display:grid}.stat-card{transition:transform var(--transition-fast), box-shadow var(--transition-normal), border-color var(--transition-normal);align-items:center;gap:1.25rem;padding:1.5rem;display:flex}.stat-card:hover{box-shadow:0 12px 28px -6px #0000001f, 0 0 18px var(--primary-glow);border-color:var(--border-hover);transform:translateY(-3px)}.stat-icon-wrapper{border-radius:var(--radius-sm);background-color:#ffffff08;border:1px solid #ffffff0d;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.wpm-top{color:#fcc975;background:#fcc9750d;border-color:#fcc97533}.wpm-avg{color:#38bdf8;background:#38bdf80d;border-color:#38bdf833}.accuracy-avg{color:#34d399;background:#34d3990d;border-color:#34d39933}.time-total{color:#f43f5e;background:#f43f5e0d;border-color:#f43f5e33}.stat-data{flex-direction:column;display:flex}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.stat-value{font-family:var(--font-mono);color:var(--text-main);margin-top:.15rem;font-size:1.5rem;font-weight:800}.stat-unit{color:var(--text-muted);margin-left:.2rem;font-size:.9rem;font-weight:500}.dashboard-row-two{grid-template-columns:1fr 1.6fr;gap:1.5rem;margin-bottom:2rem;display:grid}.panel-header{align-items:center;gap:.6rem;margin-bottom:.5rem;display:flex}.panel-header h4{color:var(--text-main);font-size:1.1rem;font-weight:700}.panel-desc{color:var(--text-muted);margin-bottom:1.5rem;font-size:.8rem}.struggle-keys-card,.attempts-card{padding:1.5rem}.heatmap-list{flex-direction:column;gap:.9rem;display:flex}.heatmap-item{align-items:center;gap:1rem;display:flex}.heatmap-key-cap{width:32px;height:32px;font-family:var(--font-mono);color:var(--primary-color);border:1px solid var(--border-color);background:linear-gradient(#ffffff14 0%,#ffffff05 100%);border-bottom-width:3px;border-radius:6px;justify-content:center;align-items:center;font-size:.95rem;font-weight:800;display:flex;box-shadow:0 2px 4px #0000004d}.heatmap-bar-container{background-color:#ffffff08;border-radius:3px;flex:1;height:6px;overflow:hidden}.heatmap-bar{background:linear-gradient(90deg, var(--secondary-color) 0%, var(--primary-color) 100%);height:100%;box-shadow:0 0 8px var(--primary-glow);border-radius:3px}.heatmap-count{font-family:var(--font-mono);color:var(--text-muted);text-align:right;width:75px;font-size:.8rem}.no-struggle-msg{text-align:center;color:var(--text-muted);border-radius:var(--radius-sm);background:#ffffff03;border:1px dashed #ffffff0d;padding:1.5rem;font-size:.85rem}.perfect-badge{background-color:var(--text-correct);color:var(--bg-color);border-radius:4px;margin-right:.4rem;padding:.15rem .4rem;font-size:.75rem;font-weight:700}.table-responsive{width:100%;overflow-x:auto}.attempts-table{border-collapse:collapse;text-align:left;width:100%}.attempts-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #ffffff0d;padding:.75rem 1rem;font-size:.8rem;font-weight:700}.attempts-table td{border-bottom:1px solid #ffffff08;padding:.9rem 1rem;font-size:.875rem}.cell-date{color:var(--text-muted)}.cell-wpm{font-weight:600}.raw-small{color:var(--text-muted);font-size:.75rem;font-weight:400}.dashboard-cta{justify-content:center;margin-top:1rem;display:flex}.dashboard-empty-state{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;width:100%;max-width:600px;margin:3rem auto;padding:4rem 2rem;display:flex}.empty-icon{color:var(--text-muted);opacity:.3;animation:2s infinite alternate pulse-caret}.dashboard-empty-state h2{font-size:1.6rem;font-weight:700}.dashboard-empty-state p{color:var(--text-muted);max-width:400px;font-size:.95rem;line-height:1.5rem}@media (width<=768px){.dashboard-header{flex-direction:column;align-items:flex-start;gap:1rem}.dashboard-row-two{grid-template-columns:1fr}}.theme-selector-container{z-index:100;display:inline-block;position:relative}.btn-theme-trigger{border-radius:var(--radius-sm);align-items:center;gap:.5rem;padding:.5rem .9rem;font-size:.8rem;display:inline-flex}.btn-theme-trigger:hover{transform:none}.active-theme-name{font-weight:700}.arrow-icon{color:var(--text-muted);transition:transform var(--transition-fast)}.arrow-icon.open{transform:rotate(180deg)}.theme-dropdown{z-index:102;width:220px;padding:.5rem;position:absolute;top:calc(100% + 8px);right:0;box-shadow:var(--shadow-lg)!important}.theme-dropdown-backdrop{z-index:101;background:0 0;position:fixed;inset:0}.dropdown-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #ffffff08;margin-bottom:.25rem;padding:.5rem .75rem;font-size:.75rem;font-weight:700}.dropdown-options{flex-direction:column;gap:.25rem;display:flex}.theme-option{width:100%;box-shadow:none;background:0 0;border:none;border-radius:4px;justify-content:space-between;align-items:center;padding:.6rem .75rem;display:flex}.theme-option:hover{color:var(--primary-color)!important;box-shadow:none!important;background:#ffffff0a!important;border-color:#0000!important;transform:none!important}.theme-option.selected{color:var(--primary-color);background:#ffffff0f;font-weight:700}.theme-name-label{font-size:.85rem}.theme-preview-dots{gap:.25rem;display:flex}.color-dot{border:1px solid #ffffff1a;border-radius:50%;width:10px;height:10px;display:inline-block}.controls-hud{width:100%;max-width:900px;transition:opacity var(--transition-slow), transform var(--transition-slow), border-color var(--transition-normal);flex-direction:column;gap:1rem;margin:1.5rem 0;padding:1.25rem 1.5rem;display:flex}.hud-faded{opacity:.15;filter:blur(4px);pointer-events:none;transition:opacity .4s,filter .4s,transform .4s;transform:translateY(4px)}.hud-faded:hover{opacity:.95;filter:blur();pointer-events:auto;transform:translateY(0)}.control-row{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.control-section{flex-direction:column;gap:.4rem;display:flex}.section-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:.65rem;font-weight:800}.button-group{flex-wrap:wrap;gap:.35rem;display:flex}.btn-control{color:var(--text-muted);box-shadow:none;background:#ffffff04;border:1px solid #ffffff08;padding:.4rem .8rem;font-size:.8rem;font-weight:600}.btn-control:hover{color:var(--text-main);box-shadow:none;background:#ffffff0a;transform:none}.btn-control.active{background:var(--bg-surface);border-color:var(--primary-color);color:var(--primary-color);box-shadow:0 0 8px var(--primary-glow)}.btn-icon-text{align-items:center;gap:.4rem;display:inline-flex}.audio-control-wrap{align-items:center;display:flex;position:relative}.sound-mini-toggle{border:1px solid var(--border-color);background-color:var(--bg-surface);border-radius:4px;margin-left:.25rem;padding:1px;display:flex;overflow:hidden}.sound-dot{cursor:pointer;color:var(--text-muted);transition:all var(--transition-fast);padding:.15rem .3rem;font-size:.65rem;font-weight:800}.sound-dot:hover{color:var(--text-main)}.sound-dot.active{background-color:var(--primary-color);color:var(--bg-color)}.info-zen{flex-direction:row;align-items:center;gap:.5rem;display:inline-flex}.zen-caption{color:var(--text-muted);font-size:.8rem;font-weight:500}.divider-vertical{background-color:#ffffff0f;align-self:center;width:1px;height:24px;margin:0 .25rem}.divider-horizontal{background-color:#ffffff0a;width:100%;height:1px}.coding-sidebar-col .controls-hud{flex-direction:column;gap:1.2rem;width:100%;max-width:100%;margin:0;padding:1.4rem;display:flex}.coding-sidebar-col .control-row{flex-direction:column;align-items:flex-start;gap:1.1rem}.coding-sidebar-col .divider-vertical{width:100%;height:1px;margin:.3rem 0}@media (width<=768px){.controls-hud{padding:1rem}.control-row{flex-direction:column;align-items:flex-start;gap:1rem}.hide-mobile{display:none}}.app-shell{background-color:var(--bg-color);min-height:100vh;color:var(--text-main);transition:background-color var(--transition-normal);flex-direction:column;display:flex}.app-header{border-bottom:1px solid var(--border-color);height:64px;box-shadow:var(--shadow-sm);z-index:10;border-radius:0;justify-content:space-between;align-items:center;padding:0 2rem;display:flex}.header-logo{cursor:pointer;align-items:center;gap:.6rem;display:flex}.logo-image{-o-object-fit:contain;object-fit:contain;border-radius:6px;width:auto;height:32px}.header-logo h1{letter-spacing:-.01em;font-size:1.1rem;font-weight:800}.logo-badge{color:var(--text-muted);text-transform:uppercase;background-color:#ffffff0d;border-radius:4px;padding:.15rem .45rem;font-size:.65rem;font-weight:700}.header-nav{gap:.5rem;display:flex}.btn-nav-tab{color:var(--text-muted);box-shadow:none;border-radius:var(--radius-sm);background:0 0;border:none;padding:.4rem .9rem;font-size:.8rem;font-weight:700}.btn-nav-tab:hover{color:var(--text-main);background:#ffffff08}.btn-nav-tab.active{color:var(--primary-color);background-color:#ffffff0f}.app-viewport{width:100%;max-width:960px;transition:max-width var(--transition-normal);flex-direction:column;flex:1;margin:0 auto;padding:1rem 2rem 2rem;display:flex}.app-viewport.coding-viewport-active{max-width:1260px}.practice-screen{flex-direction:column;align-items:center;width:100%;display:flex;position:relative}.practice-screen.coding-layout-active{flex-direction:row;align-items:flex-start;gap:1.5rem;width:100%}.coding-main-col{flex-direction:column;flex:1;align-items:center;width:100%;display:flex}.practice-center-col{flex-direction:column;align-items:center;width:100%;display:flex}.coding-sidebar-col{flex-direction:column;width:320px;min-width:320px;margin-top:calc(30px + .75rem);display:flex}.coding-layout-active .code-console-mode{flex-direction:column;width:100%;height:calc(100vh - 230px);min-height:500px;max-height:720px;display:flex}.coding-layout-active .console-body-viewport{flex:1;height:100%;max-height:none!important}.live-hud{width:100%;transition:opacity var(--transition-slow), transform var(--transition-slow);justify-content:center;align-items:center;gap:1.5rem;margin-top:0;margin-bottom:.75rem;display:flex}.hud-pill{background-color:#ffffff05;border:1px solid #ffffff0a;border-radius:30px;align-items:center;gap:.4rem;padding:.35rem .8rem;font-size:.85rem;font-weight:500;display:inline-flex}.hud-value{color:var(--text-main);font-size:1rem;font-weight:800}.hud-tag{color:var(--text-muted);text-transform:uppercase;font-size:.7rem;font-weight:700}.text-correct{color:var(--text-correct)}.text-warning{color:var(--primary-color)}.text-incorrect{color:var(--text-incorrect)}.action-bar{transition:opacity var(--transition-slow);margin-top:.25rem}.btn-restart{box-shadow:none;color:var(--text-muted);border-radius:var(--radius-sm);background:0 0;border-color:#0000;padding:.4rem .8rem;font-size:.8rem}.btn-restart:hover{color:var(--primary-color);background-color:#ffffff08;transform:none;box-shadow:none!important;border-color:#0000!important}.shortcut-tag{color:var(--text-muted);background-color:#ffffff0f;border:1px solid #ffffff14;border-radius:4px;margin-left:.25rem;padding:.1rem .3rem;font-size:.65rem;font-weight:800}.practice-tip{color:var(--text-muted);text-align:center;margin-top:1rem;font-size:.8rem}.results-overlay{z-index:99;border-radius:var(--radius-md);background:var(--bg-surface);width:100%;min-height:100%;box-shadow:var(--shadow-lg);border-color:var(--border-hover);flex-direction:column;align-items:center;padding:3rem;display:flex;position:absolute;top:0;left:0}.results-header{text-align:center;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:2rem;display:flex}.award-badge{color:var(--primary-color);background-color:var(--primary-glow);width:68px;height:68px;box-shadow:0 0 16px var(--primary-glow);border-radius:50%;justify-content:center;align-items:center;margin-bottom:.5rem;display:flex}.results-header h3{font-size:1.8rem;font-weight:800}.results-header p{color:var(--text-muted);font-size:.9rem}.results-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.25rem;width:100%;margin-bottom:2rem;display:grid}.result-card{border-radius:var(--radius-sm);background:#ffffff04;flex-direction:column;gap:.25rem;padding:1.25rem;display:flex}.res-lbl{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:700}.res-val{font-family:var(--font-mono);font-size:2.2rem;font-weight:800}.wpm-gold{color:var(--primary-color);text-shadow:0 0 10px var(--primary-glow)}.acc-green{color:var(--text-correct);text-shadow:0 0 10px #38bdf833}.acc-orange{color:var(--primary-color)}.res-unit{color:var(--text-muted);font-size:1rem;font-weight:500}.res-sub{color:var(--text-muted);font-size:.75rem;font-weight:500}.struggle-keys-summary{border-radius:var(--radius-sm);background-color:#ef444408;border:1px dashed #ef444426;align-items:center;gap:.75rem;width:100%;margin-bottom:2rem;padding:.6rem 1rem;font-size:.85rem;display:flex}.struggle-caps-row{gap:.4rem;margin-left:.5rem;display:flex}.mini-cap{font-family:var(--font-mono);color:var(--text-incorrect);background-color:#ffffff0d;border:1px solid #ffffff14;border-bottom-width:2px;border-radius:4px;padding:.15rem .4rem;font-size:.75rem;font-weight:800}.mini-cap-count{color:var(--text-muted);margin-left:.15rem;font-size:.6rem;font-weight:400}.results-actions{gap:1rem;margin-top:1rem;display:flex}.footer-credits{border-top:1px solid var(--border-color);height:48px;color:var(--text-muted);border-radius:0;justify-content:center;align-items:center;margin-top:auto;font-size:.75rem;display:flex}@media (width<=768px){.app-header{flex-direction:column;gap:.75rem;height:auto;padding:.75rem 1rem}.app-viewport{padding:1rem}.results-overlay{padding:1.5rem}.results-grid{grid-template-columns:1fr 1fr}.results-actions{flex-direction:column;gap:.75rem;width:100%}.results-actions button{width:100%}}.app-header,.controls-hud,.practice-tip,.footer-credits{transition:filter .4s,opacity .4s,transform .4s}.app-shell.typing-active .app-header,.app-shell.typing-active .controls-hud,.app-shell.typing-active .practice-tip,.app-shell.typing-active .footer-credits{filter:blur(6px);opacity:.2;pointer-events:none}.app-shell.typing-active .app-header:hover,.app-shell.typing-active .controls-hud:hover{filter:blur();opacity:.95;pointer-events:auto}.app-shell.typing-active .live-hud{transform:scale(1.05);filter:none!important;opacity:1!important}.app-shell.typing-active .word-display-box{box-shadow:0 0 35px #ffffff0f,0 8px 32px #0000004d;filter:none!important;opacity:1!important}.app-shell.typing-active .action-bar{opacity:.6;transition:opacity .3s;filter:none!important}.app-shell.typing-active .action-bar:hover{opacity:1}.sample-testcase-card{border-radius:var(--radius-md);width:100%;margin-top:1rem;padding:1.25rem;transition:opacity .4s,filter .4s,transform .4s}.testcase-header{font-family:var(--font-ui);color:var(--text-main);border-bottom:1px solid var(--border-color);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.5rem;margin-bottom:.85rem;padding-bottom:.45rem;font-size:.8rem;font-weight:800;display:flex}.testcase-body{flex-direction:column;gap:.75rem;display:flex}.testcase-block{flex-direction:column;gap:.2rem;display:flex}.testcase-label{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:.65rem;font-weight:800}.testcase-val{font-family:var(--font-mono);border:1px solid var(--border-color);color:var(--text-main);word-break:break-all;white-space:pre-wrap;background:#0000000f;border-radius:6px;padding:.35rem .6rem;font-size:.8rem}.testcase-explanation{flex-direction:column;gap:.15rem;margin-top:.2rem;display:flex}.testcase-explanation p{color:var(--text-muted);font-size:.78rem;line-height:1.25rem}
