.home-page{color:#f8fafc;background-color:#0b0f19;flex-direction:column;width:100%;display:flex;position:relative;overflow-x:hidden}.home-container{width:100%;max-width:1360px;margin:0 auto;padding:0 1.5rem}.home-hero-section{background:radial-gradient(circle at 50% 0,#2563eb14 0%,#0000 60%);width:100%;padding:3.5rem 0 4.5rem;position:relative}.hero-grid{flex-direction:row;justify-content:space-between;align-items:center;gap:3.5rem;width:100%;display:flex}.hero-copy-col{flex-direction:column;flex:52%;gap:1.5rem;min-width:0;display:flex}.hero-pill-badge{color:#fbbf24;letter-spacing:.04em;text-transform:uppercase;background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:20px;align-items:center;gap:8px;width:-moz-fit-content;width:fit-content;padding:6px 14px;font-size:.8rem;font-weight:700;display:inline-flex}.hero-pill-icon{color:#fbbf24;width:15px;height:15px}.hero-title{letter-spacing:-.03em;color:#f8fafc;margin:0;font-size:clamp(2.5rem,4.5vw,3.8rem);font-weight:900;line-height:1.12}.hero-title-accent{background:linear-gradient(135deg,#38bdf8 0%,#3b82f6 50%,#818cf8 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;display:inline}.hero-subtitle{color:#94a3b8;max-width:580px;margin:0;font-size:1.15rem;line-height:1.65}.hero-cta-group{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:.5rem;display:flex}.btn-hero-primary{color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;background:#2563eb;border-top:1px solid #60a5fa;border-bottom:3.5px solid #000;border-left:1px solid #3b82f6;border-right:2px solid #020617;border-radius:8px;justify-content:center;align-items:center;gap:9px;padding:13px 26px;font-size:.95rem;font-weight:700;text-decoration:none;transition:transform 80ms,background .15s;display:inline-flex}.btn-hero-primary:hover{background:#1d4ed8}.btn-hero-primary:active{border-bottom-width:1px;transform:translateY(2px)}.btn-hero-secondary{color:#f8fafc;cursor:pointer;-webkit-user-select:none;user-select:none;background:#1e293b;border-top:1px solid #475569;border-bottom:3.5px solid #000;border-left:1px solid #334155;border-right:2px solid #020617;border-radius:8px;justify-content:center;align-items:center;gap:9px;padding:13px 22px;font-size:.95rem;font-weight:700;text-decoration:none;transition:transform 80ms,background .15s,border-color .15s;display:inline-flex}.btn-hero-secondary:hover{color:#38bdf8;background:#2d3b52;border-color:#38bdf8}.btn-hero-secondary:active{border-bottom-width:1px;transform:translateY(2px)}.btn-icon{width:18px;height:18px}.hero-trust-row{border-top:1px solid #1e293b;flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:.75rem;padding-top:1.25rem;display:flex}.trust-item{color:#cbd5e1;align-items:center;gap:7px;font-size:.85rem;font-weight:600;display:inline-flex}.trust-icon{width:16px;height:16px}.text-emerald{color:#10b981}.text-blue{color:#38bdf8}.text-amber{color:#fbbf24}.text-slate{color:#64748b}.text-coral{color:#f43f5e}.hero-widget-col{flex:48%;justify-content:center;min-width:0;display:flex}.terminal-widget-card{cursor:text;background:#0d131f;border:1px solid #1e283d;border-radius:12px;flex-direction:column;width:100%;max-width:580px;transition:border-color .2s;display:flex;overflow:hidden;box-shadow:inset 0 2px 10px #0006}.terminal-widget-card.is-focused{border-color:#3b82f6}.terminal-header{-webkit-user-select:none;user-select:none;background:#080d1a;border-bottom:1px solid #1e283d;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.terminal-dots{align-items:center;gap:7px;display:flex}.terminal-dot{border-radius:50%;width:11px;height:11px}.dot-red{background-color:#ef4444}.dot-amber{background-color:#f59e0b}.dot-emerald{background-color:#10b981}.terminal-title{color:#64748b;text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:7px;font-size:.75rem;font-weight:700;display:flex}.terminal-pulse{background:#10b981;border-radius:50%;width:7px;height:7px}.terminal-stats-hud{align-items:center;gap:8px;display:flex}.terminal-stat-chip{background:#111827;border:1px solid #1e293b;border-radius:5px;align-items:center;gap:5px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:700;display:inline-flex}.stat-chip-label{color:#64748b}.terminal-stream-body{align-items:center;min-height:160px;padding:1.75rem;display:flex;position:relative}.terminal-hidden-input{opacity:0;cursor:text;z-index:10;width:100%;height:100%;position:absolute;top:0;left:0}.terminal-chars-row{-webkit-user-select:none;user-select:none;flex-wrap:wrap;align-items:baseline;font-family:JetBrains Mono,Fira Code,monospace;font-size:1.45rem;line-height:1.65;display:flex}.terminal-char{transition:color 50ms;position:relative}.terminal-char.char-pending{color:#475569}.terminal-char.char-correct{color:#10b981}.terminal-char.char-error{color:#f43f5e;background-color:#f43f5e33;border-radius:2px;text-decoration:underline}.terminal-char.char-active{color:#f8fafc}.terminal-caret{background:#38bdf8;border-radius:1px;width:2.5px;height:70%;animation:1s step-end infinite blink;position:absolute;top:15%;left:0}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.terminal-footer{background:#080d1a;border-top:1px solid #1e283d;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.terminal-footer-hint{color:#64748b;font-size:.78rem}.hint-completed,.hint-typing{align-items:center;gap:7px;display:flex}.hint-icon{width:15px;height:15px}.btn-terminal-reset{color:#94a3b8;cursor:pointer;background:#111827;border:1px solid #1f293d;border-radius:6px;align-items:center;gap:6px;padding:5px 12px;font-size:.78rem;font-weight:700;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn-terminal-reset:hover{color:#f8fafc;background:#1e293b;border-color:#38bdf8}.btn-terminal-reset .btn-icon{width:13px;height:13px}.home-features-section{background-color:#0b0f19;border-top:1px solid #1e293b;width:100%;padding:5rem 0}.section-header-block{text-align:center;flex-direction:column;align-items:center;gap:.75rem;max-width:680px;margin:0 auto 3.5rem;display:flex}.section-badge-tag{color:#60a5fa;text-transform:uppercase;letter-spacing:.05em;background:#3b82f61a;border:1px solid #3b82f640;border-radius:16px;align-items:center;gap:6px;padding:4px 12px;font-size:.75rem;font-weight:700;display:inline-flex}.section-badge-icon{width:14px;height:14px}.section-title{letter-spacing:-.02em;color:#f8fafc;margin:0;font-size:clamp(1.8rem,3.2vw,2.5rem);font-weight:800}.section-desc{color:#94a3b8;margin:0;font-size:1.05rem;line-height:1.6}.features-grid{grid-template-columns:repeat(3,1fr);gap:1.75rem;display:grid}.feature-card{background:#0f172a;border:1px solid #1e293b;border-radius:12px;flex-direction:column;transition:transform .15s,border-color .15s;display:flex;position:relative;overflow:hidden}.feature-card:hover{border-color:#334155;transform:translateY(-2px)}.feat-card-top-bar{width:100%;height:3px}.bar-emerald{background:#10b981}.bar-amber{background:#f59e0b}.bar-coral{background:#f43f5e}.feat-card-body{flex-direction:column;flex:1;gap:1.25rem;padding:2rem;display:flex}.feat-icon-box{border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;width:50px;height:50px;display:flex}.box-emerald{background:#10b9811a;border-color:#10b98140}.box-amber{background:#f59e0b1a;border-color:#f59e0b40}.box-coral{background:#f43f5e1a;border-color:#f43f5e40}.feat-icon{width:24px;height:24px}.feat-card-meta{flex-direction:column;gap:6px;display:flex}.feat-tag{letter-spacing:.08em;text-transform:uppercase;font-size:.6875rem;font-weight:800}.tag-emerald{color:#10b981}.tag-amber{color:#f59e0b}.tag-coral{color:#f43f5e}.feat-heading{color:#f8fafc;margin:0;font-size:1.3rem;font-weight:700}.feat-text{color:#94a3b8;margin:0;font-size:.95rem;line-height:1.6}.feat-text code{color:#38bdf8;background:#1e293b;border-radius:4px;padding:1px 5px;font-family:JetBrains Mono,monospace;font-size:.85em}.home-roadmap-section{background-color:#070a12;border-top:1px solid #1e293b;width:100%;padding:5rem 0}.trust-requirement-banner{background:#0f172a;border:1px solid #1e293b;border-left:4px solid #10b981;border-radius:12px;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:2.5rem;padding:1.5rem 2rem;display:flex}.trust-banner-info{align-items:flex-start;gap:1.25rem;display:flex}.trust-banner-badge{color:#10b981;text-transform:uppercase;background:#10b9811a;border:1px solid #10b9814d;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;font-size:.75rem;font-weight:800;display:inline-flex}.trust-badge-icon{width:14px;height:14px}.trust-banner-copy{flex-direction:column;gap:4px;display:flex}.trust-banner-title{color:#f8fafc;margin:0;font-size:1.05rem;font-weight:700}.trust-banner-desc{color:#94a3b8;margin:0;font-size:.875rem;line-height:1.5}.btn-banner-action{color:#f8fafc;background:#1e293b;border:1px solid #334155;border-radius:8px;flex-shrink:0;align-items:center;gap:7px;padding:10px 18px;font-size:.875rem;font-weight:700;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.btn-banner-action:hover{color:#38bdf8;background:#25334a;border-color:#38bdf8}.roadmap-timeline{grid-template-columns:repeat(4,1fr);gap:1.5rem;display:grid}.roadmap-step-card{background:#0f172a;border:1px solid #1e293b;border-radius:12px;flex-direction:column;gap:.85rem;padding:1.5rem;transition:transform .15s,border-color .15s;display:flex}.roadmap-step-card:hover{border-color:#334155;transform:translateY(-2px)}.step-header{justify-content:space-between;align-items:center;display:flex}.step-number-badge{color:#38bdf8;background:#38bdf81f;border:1px solid #38bdf84d;border-radius:6px;padding:2px 8px;font-size:.72rem;font-weight:800}.step-focus-pill{color:#64748b;text-transform:uppercase;font-size:.6875rem;font-weight:700}.step-title{color:#f8fafc;margin:0;font-size:1.15rem;font-weight:700}.step-desc{color:#94a3b8;flex:1;margin:0;font-size:.85rem;line-height:1.5}.step-keys-row{flex-wrap:wrap;gap:5px;margin-top:.5rem;display:flex}.step-key-chip{color:#cbd5e1;background:#1e293b;border:1px solid #334155;border-bottom:2px solid #020617;border-radius:4px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 6px;font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:700;display:inline-flex}.home-conversion-section{background-color:#0b0f19;border-top:1px solid #1e293b;width:100%;padding:5rem 0 6rem}.conversion-card{text-align:center;background:linear-gradient(135deg,#2563eb1f 0%,#0f172acc 100%);border:1px solid #1e293b;border-radius:16px;width:100%;padding:4rem 2rem;position:relative;overflow:hidden}.conversion-card:before{content:"";background:linear-gradient(90deg,#0000,#38bdf8,#3b82f6,#0000);height:2px;position:absolute;top:0;left:0;right:0}.conversion-content{flex-direction:column;align-items:center;gap:1.25rem;max-width:650px;margin:0 auto;display:flex}.conversion-title{letter-spacing:-.02em;color:#f8fafc;margin:0;font-size:clamp(2rem,3.8vw,2.75rem);font-weight:800}.conversion-subtitle{color:#94a3b8;margin:0;font-size:1.1rem;line-height:1.6}.conversion-cta-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.25rem;margin-top:1rem;display:flex}@media (max-width:1080px){.hero-grid{flex-direction:column;gap:3rem}.hero-copy-col{text-align:center;align-items:center;width:100%}.hero-subtitle{margin:0 auto}.hero-cta-group,.hero-trust-row{justify-content:center}.hero-widget-col{width:100%}.features-grid,.roadmap-timeline{grid-template-columns:repeat(2,1fr)}.trust-requirement-banner{flex-direction:column;align-items:flex-start}}@media (max-width:768px){.home-hero-section{padding:2rem 0 3rem}.features-grid,.roadmap-timeline{grid-template-columns:1fr}.conversion-card{padding:2.5rem 1.5rem}.terminal-stream-body{padding:1.25rem}.terminal-chars-row{font-size:1.15rem}}:root{--bg-primary:#0f172a;--bg-card:#1e293b;--bg-card-hover:#334155;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--border-color:#334155;--border-subtle:#334155b3;--accent-amber:#fbbf24;--accent-amber-glow:#fbbf2440;--accent-sky:#38bdf8;--accent-emerald:#34d399;--accent-rose:#f43f5e;--accent-violet:#a78bfa}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-primary);width:100%;min-height:100vh;color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-viewport{flex-direction:column;width:100%;padding:1.5rem 1rem 2rem;display:flex}.main-container{flex-direction:column;gap:1.5rem;width:100%;max-width:1000px;margin:0 auto;display:flex}.prompt-banner{color:var(--text-muted);justify-content:center;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.prompt-icon{width:1rem;height:1rem;color:var(--accent-amber)}.button-center-wrapper{justify-content:center;align-items:center;display:flex}.btn-restart{background-color:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;border-radius:.5rem;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-restart:hover{background-color:var(--bg-card-hover);color:var(--text-primary);border-color:var(--text-muted)}.btn-restart .icon{width:1rem;height:1rem;transition:transform .3s}.btn-restart:hover .icon{transform:rotate(-180deg)}.btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:10px;align-items:center;gap:.5rem;padding:.75rem 1.75rem;font-size:.95rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 14px #2563eb59}.btn-primary:hover{background:linear-gradient(135deg,#3b82f6,#2563eb);transform:translateY(-2px);box-shadow:0 8px 24px #2563eb73}.btn-primary .icon{width:1.1rem;height:1.1rem;transition:transform .3s}.btn-primary:hover .icon{transform:rotate(-180deg)}.results-card{-webkit-backdrop-filter:blur(12px);background:#0f172af2;border:1px solid #334155;border-radius:14px;flex-direction:column;gap:.85rem;width:100%;max-width:520px;margin:.5rem auto;padding:1.25rem 1.5rem;animation:.3s ease-out fadeIn;display:flex;box-shadow:0 16px 36px #00000080}.results-header{text-align:center;flex-direction:column;align-items:center;gap:.25rem;display:flex}.trophy-badge{background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:10px;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:flex}.trophy-badge .icon{color:#0f172a;width:1.25rem;height:1.25rem}.results-title{letter-spacing:-.02em;color:#f8fafc;margin:0;font-size:1.35rem;font-weight:800}@media (max-width:480px){.results-grid{grid-template-columns:repeat(2,1fr)}}.result-stat-box{text-align:center;border:1px solid #1e293b;border-radius:8px;flex-direction:column;align-items:center;gap:.15rem;padding:.6rem .4rem;display:flex}.result-stat-box .stat-lbl{text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-size:.625rem;font-weight:700}.result-stat-box:first-child{background:#3b82f614;border-color:#3b82f633}.result-stat-box:nth-child(2){background:#6366f114;border-color:#6366f133}.result-stat-box:nth-child(3){background:#10b98114;border-color:#10b98133}.result-stat-box:nth-child(4){background:#f59e0b14;border-color:#f59e0b33}.val-violet{color:#8b5cf6}.results-details{color:var(--text-muted);justify-content:center;align-items:center;gap:1.25rem;font-size:.8125rem;display:flex}.results-details .highlight-correct{color:var(--accent-emerald);font-weight:600}.results-details .highlight-incorrect{color:var(--accent-rose);font-weight:600}.results-details .highlight-neutral{color:var(--text-secondary);font-weight:600}.app-footer{text-align:center;color:var(--text-muted);margin-top:1rem;font-size:.8rem}.kbd-badge{background-color:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:.25rem;padding:.1rem .35rem;font-family:monospace;font-size:.75rem;display:inline-block}.placeholder-page{background-color:var(--bg-primary);min-height:100vh;color:var(--text-primary);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.placeholder-badge{border-radius:1rem;justify-content:center;align-items:center;width:4rem;height:4rem;margin-bottom:1rem;display:flex;box-shadow:0 8px 20px #0000004d}.placeholder-badge .icon{color:#0f172a;width:2rem;height:2rem}.badge-emerald{background:linear-gradient(135deg, var(--accent-emerald), #0d9488)}.badge-sky{background:linear-gradient(135deg, var(--accent-sky), #2563eb)}.badge-violet{background:linear-gradient(135deg, var(--accent-violet), #7c3aed)}.badge-amber{background:linear-gradient(135deg, var(--accent-amber), #ea580c)}.placeholder-title{margin-bottom:.5rem;font-size:2rem;font-weight:700}.placeholder-subtitle{color:var(--text-muted)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.app-layout{background-color:#0b0f19;flex-direction:column;width:100%;min-height:100vh;display:flex;overflow-x:hidden}.app-layout>header{z-index:100;background-color:#0b0f19;border-bottom:1px solid #1e293b;flex-shrink:0;width:100%;position:sticky;top:0}.main-content{flex-direction:column;flex-grow:1;width:100%;padding:2rem 1rem;display:flex}.app-layout>footer{background-color:#070a10;border-top:1px solid #1e293b;flex-shrink:0;width:100%}.home-header{z-index:100;-webkit-backdrop-filter:blur(12px);background-color:#0b0f19;border-bottom:1px solid #1e293b;width:100%;position:sticky;top:0}.home-header-inner{box-sizing:border-box;justify-content:space-between;align-items:center;width:100%;max-width:1280px;height:4.25rem;margin:0 auto;padding:0 1.5rem;display:flex}.home-brand{color:inherit;flex-shrink:0;align-items:center;gap:.75rem;text-decoration:none;display:flex}.brand-logo-container{cursor:pointer;align-items:center;gap:10px;text-decoration:none;display:flex}.brand-logo-img{object-fit:contain;flex-shrink:0;width:auto;height:34px;display:block}.brand-text-img{object-fit:contain;width:auto;height:20px;display:block}.home-nav{align-items:center;gap:2rem;display:flex}.home-nav-link{color:#94a3b8;align-items:center;padding:.5rem .25rem;font-size:.9375rem;font-weight:500;text-decoration:none;transition:color .15s;display:inline-flex;position:relative}.home-nav-link:after{content:"";transform-origin:50%;background-color:#3b82f6;border-radius:1px;width:100%;height:2px;transition:transform .2s cubic-bezier(.16,1,.3,1);position:absolute;bottom:4px;left:0;transform:scaleX(0)}.home-nav-link:hover,.home-nav-link.active{color:#f8fafc}.home-nav-link:hover:after,.home-nav-link.active:after{transform:scaleX(1)}.home-header-actions{flex-shrink:0;align-items:center;gap:.875rem;display:flex}.lang-indicator{color:#94a3b8;letter-spacing:.04em;box-sizing:border-box;background-color:#111827;border:1px solid #1f2937;border-radius:6px;align-items:center;gap:.45rem;height:36px;padding:.4rem .75rem;font-size:.75rem;font-weight:700;display:inline-flex}.lang-dot{background-color:#10b981;border-radius:50%;width:6px;height:6px}.btn-header-cta{color:#fff;box-sizing:border-box;white-space:nowrap;background-color:#2563eb;border:1px solid #3b82f6;border-radius:6px;justify-content:center;align-items:center;height:36px;padding:.45rem 1.15rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.btn-header-cta:hover{background-color:#1d4ed8;border-color:#60a5fa;box-shadow:0 0 12px #2563eb59}.btn-hamburger{color:#f8fafc;cursor:pointer;background-color:#1e293b;border:1px solid #334155;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:all .2s;display:none}.btn-hamburger:hover{color:#38bdf8;background-color:#334155;border-color:#3b82f6}.btn-hamburger .hamburger-icon{width:20px;height:20px}.mobile-nav-overlay{-webkit-backdrop-filter:blur(4px);z-index:99;background-color:#000000b3;flex-direction:column;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:4.25rem 0 0}.mobile-nav-drawer{background-color:#0f172a;border-bottom:1px solid #1e293b;flex-direction:column;gap:1.25rem;padding:1.5rem 1.25rem 2rem;animation:.25s cubic-bezier(.16,1,.3,1) slideDown;display:flex;box-shadow:0 12px 30px #00000080}.mobile-nav-links{flex-direction:column;gap:.5rem;display:flex}.mobile-nav-link{color:#94a3b8;background:#1e293b66;border:1px solid #0000;border-radius:8px;align-items:center;padding:.75rem 1rem;font-size:1.05rem;font-weight:600;text-decoration:none;transition:all .15s;display:flex}.mobile-nav-link:hover,.mobile-nav-link.active{color:#fff;background-color:#1e293b;border-color:#3b82f6;padding-left:1.25rem}.mobile-nav-divider{background-color:#1e293b;width:100%;height:1px}.mobile-nav-actions{flex-direction:column;gap:.875rem;display:flex}.mobile-action-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.btn-mobile-cta{color:#fff;text-align:center;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:1px solid #3b82f6;border-radius:8px;justify-content:center;align-items:center;padding:.85rem 1rem;font-size:.95rem;font-weight:700;text-decoration:none;transition:all .15s;display:flex;box-shadow:0 4px 14px #2563eb4d}.btn-mobile-cta:hover{background:linear-gradient(135deg,#3b82f6,#2563eb);transform:translateY(-1px)}.btn-install-pwa{cursor:pointer;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:.45rem;font-family:inherit;font-weight:600;transition:all .15s ease-in-out;display:inline-flex}.btn-install-pwa .install-icon{flex-shrink:0;width:1rem;height:1rem}.btn-install-header{color:#10b981;box-sizing:border-box;background-color:#111827;border:1px solid #334155;height:36px;padding:.4rem .85rem;font-size:.8125rem}.btn-install-header:hover{color:#34d399;background-color:#1e293b;border-color:#10b981;box-shadow:0 0 10px #10b98133}@media (max-width:900px){.home-nav,.home-header-actions{display:none}.btn-hamburger{display:inline-flex}}@media (max-width:480px){.home-header-inner{height:3.75rem;padding:0 1rem}.brand-logo-container{gap:8px}.brand-logo-img{height:30px}.brand-text-img{height:17px}.mobile-nav-overlay{top:3.75rem}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.home-footer{background-color:#070a10;width:100%;padding:2rem 0 1rem}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:clamp(1rem,3vw,2.5rem);max-width:1200px;margin-bottom:1.5rem;margin-left:auto;margin-right:auto;padding:0 2rem;display:grid}.footer-brand-col{flex-direction:column;align-items:flex-start;display:flex}.footer-brand{color:inherit;align-items:center;gap:.75rem;margin-bottom:.75rem;text-decoration:none;display:inline-flex}.footer-bio{color:#64748b;max-width:280px;margin:0 0 .75rem;font-size:.8125rem;line-height:1.5}.footer-version-tag{color:#475569;background-color:#111827;border:1px solid #1f2937;border-radius:4px;align-items:center;gap:.4rem;padding:.2rem .55rem;font-size:.6875rem;font-weight:600;display:inline-flex}.version-dot{background-color:#10b981;border-radius:50%;width:5px;height:5px}.footer-col{flex-direction:column;display:flex}.footer-col-title{text-transform:uppercase;letter-spacing:.06em;color:#cbd5e1;margin:0 0 .75rem;font-size:.75rem;font-weight:800}.footer-nav-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.footer-link{color:#64748b;font-size:.8125rem;text-decoration:none;transition:color .15s}.footer-link:hover{color:#e2e8f0}.footer-link-static{color:#475569;font-size:.8125rem}.footer-bottom-row{color:#475569;border-top:1px solid #1e293b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;max-width:1200px;margin:0 auto;padding:1rem 2rem 0;font-size:.75rem;display:flex}.footer-copyright{color:#64748b}.footer-legal-links{align-items:center;gap:.5rem;display:inline-flex}.footer-legal-item{cursor:pointer;transition:color .15s}.footer-legal-item:hover{color:#94a3b8}.footer-bullet{color:#1e293b}.footer-powered-by strong{color:#cbd5e1;font-weight:700}@media (max-width:1024px){.footer-grid{grid-template-columns:1fr 1fr;gap:1.5rem}}@media (max-width:768px){.footer-grid{grid-template-columns:1fr;gap:1.25rem}.footer-bottom-row{text-align:center;flex-direction:column;align-items:center;gap:.5rem}}.stats-container{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:.75rem;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex;box-shadow:0 4px 12px #0003}.stat-item{flex-direction:column;align-items:center;gap:.25rem;min-width:4rem;display:flex}.stat-value{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:2rem;font-weight:800;line-height:1}.stat-divider{background-color:var(--border-color);width:1px;height:2.25rem}.stat-time{color:var(--text-primary)}.stat-time-urgent{color:var(--accent-rose);animation:1s infinite alternate pulseUrgent}.stat-wpm{color:var(--accent-amber)}.stat-net-wpm{color:var(--accent-sky)}.stat-accuracy-high{color:var(--accent-emerald)}.stat-accuracy-medium{color:var(--accent-amber)}.stat-accuracy-low{color:var(--accent-rose)}.keys-display{align-items:baseline;gap:.2rem;display:flex}.keys-correct{color:var(--accent-emerald)}.keys-separator{color:var(--text-muted);font-size:1.25rem}.keys-incorrect{color:var(--accent-rose)}@keyframes pulseUrgent{0%{opacity:1}to{opacity:.5}}@media (max-width:640px){.stats-container{gap:.5rem;padding:.75rem 1rem}.stat-value{font-size:1.5rem}.stat-item{min-width:3rem}}.typing-box{background-color:var(--bg-card);border:1px solid var(--border-color);letter-spacing:.05em;-webkit-user-select:none;user-select:none;border-radius:.75rem;width:100%;max-height:160px;padding:1.5rem 1.75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1.5rem;line-height:2rem;position:relative;overflow:hidden;box-shadow:inset 0 2px 4px #0003}.words-stream{flex-wrap:wrap;transition:filter .2s;display:flex;position:relative}.word-wrapper{display:inline-flex}#smooth-caret{background-color:var(--accent-sky,#38bdf8);pointer-events:none;will-change:transform;z-index:10;border-radius:2px;width:2.5px;height:1.4em;transition:transform 75ms cubic-bezier(.1,.9,.2,1);position:absolute;top:0;left:0;box-shadow:0 0 10px #38bdf8b3}#smooth-caret.caret-blinking{animation:1s ease-in-out infinite smoothCaretBlink}#smooth-caret.caret-solid{opacity:1;animation:none}#smooth-caret.caret-hidden{opacity:0;pointer-events:none;transition:opacity .15s}@keyframes smoothCaretBlink{0%,to{opacity:1}50%{opacity:0}}.char-span{transition:color 80ms;display:inline-block;position:relative}.char-incorrect{color:var(--accent-rose);text-decoration:underline;-webkit-text-decoration-color:var(--accent-rose);text-decoration-color:var(--accent-rose);background-color:#f43f5e26;border-radius:2px;text-decoration-thickness:2px}.char-current{color:var(--text-primary)}.pause-overlay{-webkit-backdrop-filter:blur(6px);z-index:20;background-color:#0f172abf;border-radius:.75rem;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:absolute;inset:0}.pause-message{background-color:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);letter-spacing:normal;border-radius:.625rem;align-items:center;gap:.75rem;padding:.875rem 1.75rem;font-family:system-ui,-apple-system,sans-serif;font-size:.95rem;font-weight:600;display:flex;box-shadow:0 12px 30px #00000080}.pause-message-icon{width:1.15rem;height:1.15rem;color:var(--accent-amber);flex-shrink:0}.typing-fade-bottom{pointer-events:none;z-index:5;background:linear-gradient(#0000 0%,#1e293be6 100%);height:2.5rem;position:absolute;bottom:0;left:0;right:0}@media (max-width:640px){.typing-box{max-height:140px;padding:1rem 1.25rem;font-size:1.2rem;line-height:1.75rem}.pause-message{gap:.5rem;padding:.625rem 1rem;font-size:.8rem}}.virtual-keyboard-container{background-color:var(--bg-card);border:1px solid var(--border-color);-webkit-user-select:none;user-select:none;border-radius:.75rem;flex-direction:column;align-items:center;gap:.375rem;width:100%;padding:1rem;display:flex;box-shadow:0 4px 12px #0003}.keyboard-row{flex-direction:row;justify-content:center;gap:.375rem;width:100%;display:flex}.row-top{padding-left:0}.row-middle{padding-left:1.25rem}.row-bottom{padding-left:2.5rem}.key{border:1px solid var(--border-color);width:2.75rem;height:2.75rem;color:var(--text-muted);text-transform:uppercase;background-color:#1e293b;border-radius:.5rem;justify-content:center;align-items:center;font-size:.875rem;font-weight:600;transition:all .1s;display:flex}.key-space{letter-spacing:.05em;width:18rem;height:2.75rem;color:var(--text-muted);font-size:.75rem}.key-active{transform:scale(.95);box-shadow:0 0 12px #fbbf244d;border-color:var(--accent-amber)!important;color:var(--accent-amber)!important;background-color:#fbbf2433!important}.finger-pinky-l,.finger-pinky-r{background-color:#f43f5e1f;border-color:#f43f5e4d}.finger-ring-l,.finger-ring-r{background-color:#fbbf241f;border-color:#fbbf244d}.finger-middle-l,.finger-middle-r{background-color:#34d3991f;border-color:#34d3994d}.finger-index-l,.finger-index-r{background-color:#38bdf81f;border-color:#38bdf84d}@media (max-width:640px){.key{width:2rem;height:2.25rem;font-size:.75rem}.key-space{width:12rem;height:2.25rem}.row-middle{padding-left:.75rem}.row-bottom{padding-left:1.5rem}}.controls-container{justify-content:center;align-items:center;gap:1rem;width:100%;margin-top:.25rem;display:flex}.btn-control{background-color:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-control .icon{flex-shrink:0;width:1rem;height:1rem}.btn-control:hover:not(:disabled){background-color:var(--bg-card-hover);color:var(--text-primary);border-color:var(--text-muted)}.btn-control:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn-pause{color:var(--accent-amber);border-color:#fbbf244d}.btn-pause:hover:not(:disabled){border-color:var(--accent-amber);background-color:#fbbf241f}.btn-resume{color:var(--accent-sky);border-color:#38bdf84d}.btn-resume:hover:not(:disabled){border-color:var(--accent-sky);background-color:#38bdf81f}.btn-submit{background-color:var(--accent-emerald);color:#064e3b;border:1px solid #34d39999;font-weight:700;box-shadow:0 4px 12px #34d39940}.btn-submit:hover:not(:disabled){color:#022c22;background-color:#2ebd85;transform:translateY(-1px);box-shadow:0 6px 16px #34d39959}.btn-submit:active:not(:disabled){transform:translateY(0)}.btn-restart .icon{transition:transform .3s}.btn-restart:hover:not(:disabled) .icon{transform:rotate(-180deg)}@media (max-width:640px){.controls-container{flex-wrap:wrap;gap:.5rem}.btn-control{padding:.5rem .875rem;font-size:.8rem}}.splash-container{background-color:var(--bg-primary);width:100%;min-height:100vh;color:var(--text-primary);flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex;position:relative;overflow:hidden}.splash-glow-top{pointer-events:none;background:radial-gradient(circle,#fbbf2414 0%,#0000 70%);width:600px;height:400px;position:absolute;top:-150px;left:50%;transform:translate(-50%)}.splash-glow-bottom{pointer-events:none;background:radial-gradient(circle,#38bdf80f 0%,#0000 70%);width:500px;height:400px;position:absolute;bottom:-150px;right:20%}.splash-content{z-index:2;text-align:center;flex-direction:column;align-items:center;gap:1.75rem;max-width:480px;animation:.4s ease-out fadeIn;display:flex;position:relative}.splash-brand{flex-direction:column;align-items:center;gap:1rem;display:flex}.splash-logo-img{object-fit:contain;width:auto;height:64px;margin-bottom:.25rem;display:block}.splash-title{letter-spacing:-.03em;color:var(--text-primary);font-size:2.25rem;font-weight:800;line-height:1.1}.splash-title span{color:var(--accent-amber)}.splash-subtitle{color:var(--text-secondary);font-size:.95rem;font-weight:500}.keycaps-loader{gap:.625rem;margin:.5rem 0;display:flex}.keycap{background-color:var(--bg-card);border:1px solid var(--border-color);width:2.75rem;height:2.75rem;color:var(--text-muted);border-bottom:4px solid #334155;border-radius:.5rem;justify-content:center;align-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1rem;font-weight:700;animation:1.6s ease-in-out infinite keycapPress;display:flex;box-shadow:0 4px 10px #0000004d}.keycap-1{animation-delay:0s}.keycap-2{animation-delay:.25s}.keycap-3{animation-delay:.5s}.keycap-4{animation-delay:.75s}.splash-progress-wrapper{flex-direction:column;gap:.5rem;width:100%;max-width:260px;display:flex}.splash-progress-bar{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:9999px;width:100%;height:6px;overflow:hidden}.splash-progress-fill{background:linear-gradient(90deg, var(--accent-amber), var(--accent-sky));border-radius:9999px;width:0%;height:100%;animation:2s cubic-bezier(.4,0,.2,1) forwards fillProgress;box-shadow:0 0 10px #fbbf2480}.splash-status-text{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;font-weight:600}@keyframes keycapPress{0%,to{color:var(--text-muted);border-bottom-width:4px;border-color:var(--border-color);background-color:var(--bg-card);transform:translateY(0)}25%{color:var(--accent-amber);border-bottom-width:1px;border-color:var(--accent-amber);background-color:#fbbf2426;transform:translateY(3px);box-shadow:0 0 14px #fbbf2459}}@keyframes fillProgress{0%{width:0%}30%{width:35%}70%{width:75%}to{width:100%}}@keyframes pulseLogo{0%,to{transform:scale(1);box-shadow:0 12px 30px #fbbf244d}50%{transform:scale(1.04);box-shadow:0 14px 36px #fbbf2473}}.app-viewport{flex-direction:column;align-items:center;width:100%;margin:0;padding:0;display:flex}.app-viewport .main-container,.main-container{background-color:#0000;flex-direction:column;gap:1.5rem;margin:0 auto;padding:2.5rem 1.5rem 2rem;display:flex;width:95vw!important;max-width:1450px!important}.speed-test-layout{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:2.5rem;width:100%;margin:0 auto;display:flex}.focus-area{flex-direction:column;flex:auto;gap:2.5rem;min-width:0;display:flex}.speed-test-top-bar{justify-content:flex-end;align-items:center;width:100%;display:flex}.header-actions{align-items:center;gap:1rem;display:flex;position:relative}.btn-sound-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;outline:none;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;padding:0;transition:transform 80ms,background .15s,border-color .15s;display:inline-flex;position:relative}.btn-sound-toggle .sound-icon{width:20px;height:20px;transition:color .15s}.btn-sound-toggle.sound-active{color:#38bdf8;background:#0f233a;border-top:1px solid #7dd3fc;border-bottom:3px solid #000;border-left:1px solid #38bdf8;border-right:2px solid #020617}.btn-sound-toggle.sound-active:hover{color:#7dd3fc;background:#142e4d}.btn-sound-toggle.sound-active:active{border-bottom-width:1px;transform:translateY(2px)}.btn-sound-toggle.sound-muted{color:#64748b;background:#1e293b;border-top:1px solid #475569;border-bottom:3px solid #000;border-left:1px solid #334155;border-right:2px solid #020617}.btn-sound-toggle.sound-muted:hover{color:#94a3b8;background:#334155}.btn-sound-toggle.sound-muted:active{border-bottom-width:1px;transform:translateY(2px)}.custom-duration-dropdown{-webkit-user-select:none;user-select:none;display:inline-block;position:relative}.duration-trigger-btn{cursor:pointer;color:#f8fafc;background:#1e293b;border-top:1px solid #475569;border-bottom:3px solid #000;border-left:1px solid #334155;border-right:2px solid #020617;border-radius:8px;outline:none;justify-content:space-between;align-items:center;gap:12px;min-width:190px;height:44px;padding:0 14px;transition:transform 80ms,border-color .15s,background .15s;display:flex}.duration-trigger-btn:hover:not(:disabled){background:#25334a;border-color:#38bdf8}.duration-trigger-btn:active:not(:disabled){border-bottom-width:1px;transform:translateY(2px)}.duration-trigger-btn:focus-visible{border-color:#38bdf8}.duration-trigger-btn:disabled{opacity:.45;cursor:not-allowed;border-color:#334155}.custom-duration-dropdown.is-open .duration-trigger-btn{background:#25334a;border-color:#38bdf8;border-bottom-style:solid;border-bottom-width:1px;transform:translateY(2px)}.duration-trigger-left{align-items:center;gap:10px;display:flex}.duration-clock-icon{color:#fbbf24;flex-shrink:0;width:17px;height:17px}.duration-current-label{letter-spacing:-.01em;color:#f8fafc;font-size:.92rem;font-weight:700}.duration-current-tag{color:#38bdf8;background:#38bdf826;border:1px solid #38bdf84d;border-radius:4px;padding:1px 6px;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:700;line-height:1.25}.duration-chevron{color:#94a3b8;flex-shrink:0;width:16px;height:16px;transition:transform .2s cubic-bezier(.16,1,.3,1),color .15s}.duration-chevron.chevron-rotated{color:#38bdf8;transform:rotate(180deg)}.duration-menu-popup{z-index:50;background:#0f172a;border:1px solid #334155;border-radius:10px;flex-direction:column;gap:2px;width:240px;padding:6px;animation:.15s cubic-bezier(.16,1,.3,1) menuFadeIn;display:flex;position:absolute;top:calc(100% + 6px);right:0}.duration-menu-header{text-transform:uppercase;letter-spacing:.08em;color:#64748b;border-bottom:1px solid #1e293b;margin-bottom:4px;padding:6px 10px 4px;font-size:.6875rem;font-weight:800}.duration-menu-list{flex-direction:column;gap:2px;display:flex}.duration-menu-item{color:#94a3b8;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:space-between;align-items:center;width:100%;padding:8px 10px;font-size:.875rem;font-weight:600;transition:background .12s,color .12s;display:flex}.duration-menu-item:hover{color:#f8fafc;background-color:#1e293b;border-color:#334155}.duration-menu-item.selected{color:#fff;background:#38bdf81f;border-color:#38bdf866}.duration-item-left{align-items:center;gap:8px;display:flex}.duration-color-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.duration-item-label{font-size:.875rem;font-weight:600}.duration-item-right{align-items:center;gap:8px;display:flex}.duration-item-tag{color:#64748b;background:#0b0f19;border:1px solid #1e293b;border-radius:4px;padding:1px 5px;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:700}.duration-menu-item.selected .duration-item-tag{color:#38bdf8;background:#38bdf826;border-color:#38bdf84d}.duration-check-icon{color:#38bdf8;flex-shrink:0;width:15px;height:15px}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.typing-box{-webkit-user-select:none;user-select:none;background-color:#0b0f19;border:1px solid #1e293b;border-radius:12px;min-height:210px;max-height:250px;padding:2.25rem 2.5rem;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:28px;line-height:1.7;position:relative;overflow:hidden;box-shadow:inset 0 2px 10px #0003}.words-stream{outline:none;flex-wrap:wrap;align-items:baseline;width:100%;display:flex;position:relative}.word-wrapper{white-space:pre;display:inline-flex}.char-span{transition:color 50ms;position:relative}.char-incorrect{color:#ef4444;background-color:#ef44442e;border-radius:3px;-webkit-text-decoration:underline #ef4444;text-decoration:underline #ef4444}#smooth-caret{z-index:10;pointer-events:none;background-color:#38bdf8;border-radius:2px;width:3px;height:34px;transition:transform 90ms cubic-bezier(.1,.9,.2,1);position:absolute}.caret-blinking{animation:1.1s ease-in-out infinite caretPulse}.caret-solid{opacity:1}.caret-hidden{opacity:0}@keyframes caretPulse{0%,to{opacity:1}50%{opacity:.15}}.pause-overlay{-webkit-backdrop-filter:blur(8px);z-index:20;background:#0b0f19e0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.pause-message{color:#fbbf24;background:#1e293b;border:1px solid #334155;border-radius:10px;align-items:center;gap:12px;padding:1rem 1.75rem;font-size:1.15rem;font-weight:700;display:flex}.pause-message-icon{width:22px;height:22px}.typing-fade-bottom{pointer-events:none;background:linear-gradient(#0000,#0b0f19);height:36px;position:absolute;bottom:0;left:0;right:0}.virtual-keyboard-container{-webkit-user-select:none;user-select:none;background:0 0;flex-direction:column;align-items:center;gap:8px;width:100%;padding:0;display:flex}.keyboard-row.row-top{margin-left:0}.keyboard-row.row-middle{margin-left:.6rem}.keyboard-row.row-bottom{margin-left:1.4rem}.key{color:#f8fafc;text-transform:uppercase;width:3.5rem;min-width:3.5rem;height:3rem;box-shadow:none;cursor:default;background-color:#1e293b;border-top:1px solid #475569;border-bottom:3px solid #000;border-left:1px solid #334155;border-right:2px solid #020617;border-radius:6px;justify-content:center;align-items:center;font-family:JetBrains Mono,monospace;font-size:.85rem;font-weight:700;transition:transform 50ms,background-color 80ms,color 80ms,border-color 80ms;display:flex}.key-modifier{color:#94a3b8;letter-spacing:.04em;background-color:#162032;font-size:.72rem;font-weight:800}.key-tab{width:4.8rem;min-width:4.8rem}.key-caps{width:5.4rem;min-width:5.4rem}.key-enter{width:6.2rem;min-width:6.2rem}.key-shift{width:6.6rem;min-width:6.6rem}.key-shiftr{width:7.5rem;min-width:7.5rem}.key-space{color:#64748b;letter-spacing:.1em;width:25rem;min-width:25rem;height:3rem;font-size:.72rem}.finger-pinky-l,.finger-pinky-r{border-top-color:#f43f5e}.finger-ring-l,.finger-ring-r{border-top-color:#a855f7}.finger-middle-l,.finger-middle-r{border-top-color:#3b82f6}.finger-index-l,.finger-index-r{border-top-color:#10b981}.key-next{color:#38bdf8!important;background-color:#38bdf814!important;border-color:#38bdf8!important}.key-active{transform:translateY(2px);color:#fff!important;box-shadow:none!important;background-color:#2563eb!important;border-color:#3b82f6 #3b82f6 #1d4ed8!important;border-bottom-width:1px!important}.control-panel{width:320px;box-shadow:none;background:#0f172a;border:1px solid #1e293b;border-radius:12px;flex-direction:column;flex:0 0 320px;gap:1.25rem;padding:1.25rem;display:flex;position:sticky;top:80px}.control-panel .stats-dashboard{box-shadow:none;background:0 0;border:none;flex-direction:column;gap:.75rem;width:100%;padding:0;display:flex}.control-panel .stat-pill{width:100%;height:80px;box-shadow:none;background-color:#0b0f19;border:1px solid #1e293b;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:.75rem 1rem;transition:transform .1s,border-color .15s;display:flex}.control-panel .stat-pill:hover{border-color:#334155;transform:translateY(-1px)}.control-panel .stat-num{font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin-bottom:.2rem;font-family:JetBrains Mono,monospace;font-size:2rem;font-weight:800;line-height:1.1}.control-panel .stat-lbl{color:#64748b;text-transform:uppercase;letter-spacing:.09em;font-size:.6875rem;font-weight:800}.stat-time-pill .stat-num{color:#fbbf24}.stat-wpm-pill .stat-num{color:#38bdf8}.stat-net-wpm-pill .stat-num{color:#818cf8}.stat-acc-pill .stat-num{color:#10b981}.stat-keys-pill .stat-num{color:#ef4444}.control-panel .controls-container{flex-direction:column;gap:.75rem;width:100%;margin-top:.25rem;display:flex}.control-panel .controls-container .btn-control{cursor:pointer;-webkit-user-select:none;user-select:none;width:100%;box-shadow:none;border-radius:8px;justify-content:center;align-items:center;gap:.625rem;padding:.85rem 1rem;font-size:.92rem;font-weight:700;transition:transform 80ms,background .15s,border-color .15s;display:flex}.control-panel .controls-container .btn-control .icon{width:18px;height:18px}.btn-pause{color:#fbbf24;background:#f59e0b14;border-top:1px solid #fcd34d!important;border-bottom:3px solid #000!important;border-left:1px solid #f59e0b!important;border-right:2px solid #020617!important}.btn-pause:hover:not(:disabled){background:#f59e0b2e;border-color:#fbbf24!important}.btn-pause:active:not(:disabled){transform:translateY(2px);border-bottom-width:1px!important}.btn-pause:disabled{opacity:.35;cursor:not-allowed;color:#475569;border-color:#334155!important}.btn-resume{color:#fff;background:#10b981;border-top:1px solid #34d399!important;border-bottom:3px solid #000!important;border-left:1px solid #10b981!important;border-right:2px solid #020617!important}.btn-resume:hover{background:#059669}.btn-resume:active{transform:translateY(2px);border-bottom-width:1px!important}.btn-submit{color:#fff;background:#2563eb;border-top:1px solid #60a5fa!important;border-bottom:3px solid #000!important;border-left:1px solid #3b82f6!important;border-right:2px solid #020617!important}.btn-submit:hover{background:#1d4ed8}.btn-submit:active{transform:translateY(2px);border-bottom-width:1px!important}.btn-restart{color:#f8fafc;background:#1e293b;border-top:1px solid #475569!important;border-bottom:3px solid #000!important;border-left:1px solid #334155!important;border-right:2px solid #020617!important}.btn-restart:hover{color:#fff;background:#334155}.btn-restart:active{transform:translateY(2px);border-bottom-width:1px!important}.results-card{text-align:center;width:100%;max-width:540px;box-shadow:none;background:#0f172a;border:1px solid #1e293b;border-radius:14px;flex-direction:column;gap:1rem;margin:1.5rem auto;padding:1.5rem 1.75rem;display:flex}.results-header{flex-direction:column;justify-content:center;align-items:center;gap:.35rem;display:flex}.trophy-badge{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d;border-radius:10px;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;display:flex}.trophy-badge .icon{width:1.4rem;height:1.4rem}.results-title{color:#f8fafc;margin:0;font-size:1.45rem;font-weight:800}.results-grid{grid-template-columns:repeat(4,1fr);gap:.625rem;display:grid}@media (max-width:480px){.results-grid{grid-template-columns:repeat(2,1fr)}}.result-stat-box{background:#0b0f19;border:1px solid #1e293b;border-radius:8px;flex-direction:column;align-items:center;gap:.2rem;padding:.75rem .5rem;display:flex}.result-stat-box .icon{width:1.1rem;height:1.1rem;margin-bottom:.1rem}.result-stat-box .stat-val{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,monospace;font-size:1.6rem;font-weight:800;line-height:1.1}.result-stat-box .stat-lbl{color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-size:.65rem;font-weight:800}.val-blue{color:#38bdf8}.val-indigo{color:#818cf8}.results-details{color:#94a3b8;justify-content:center;gap:1.5rem;font-family:JetBrains Mono,monospace;font-size:.85rem;display:flex}.button-center-wrapper{justify-content:center;margin-top:.25rem;display:flex}@media (max-width:1100px){.speed-test-layout{gap:1.5rem}.control-panel{flex:0 0 280px;width:280px}}@media (max-width:991px){.speed-test-layout{flex-direction:column;gap:2rem}.focus-area{order:2;width:100%}.control-panel{order:1;width:100%;padding:1rem;position:static}.control-panel .stats-dashboard{flex-flow:wrap;justify-content:center;gap:.5rem}.control-panel .stat-pill{flex:calc(33.333% - .5rem);min-width:85px;height:70px;padding:.6rem .5rem}.control-panel .stat-num{font-size:1.5rem}.control-panel .controls-container{flex-flow:wrap;gap:.5rem}.control-panel .controls-container .btn-control{flex:calc(50% - .5rem);min-width:120px}.keyboard-row.row-middle,.keyboard-row.row-bottom{margin-left:0}}@media (max-width:768px){.app-viewport .main-container,.main-container{padding:1rem .75rem;width:100%!important}.control-panel .stat-pill{flex:calc(50% - .5rem)}.control-panel .controls-container .btn-control{flex:100%}.key{width:2.2rem;min-width:2.2rem;height:2.4rem;font-size:.75rem}.key-tab{width:3rem;min-width:3rem}.key-caps{width:3.4rem;min-width:3.4rem}.key-enter{width:3.8rem;min-width:3.8rem}.key-shift{width:4.2rem;min-width:4.2rem}.key-shiftr{width:4.6rem;min-width:4.6rem}.key-space{width:14rem;min-width:14rem}.typing-box{padding:1.25rem;font-size:20px}}.lessons-hub-page{background-color:var(--bg-primary);width:100%;min-height:100vh;color:var(--text-primary);flex-direction:column;display:flex;position:relative;overflow-x:hidden}.lessons-hub-container{flex-direction:column;gap:2.5rem;width:100%;max-width:1050px;margin:0 auto;padding:2.5rem 1.5rem 5rem;display:flex}.hub-title-section{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.hub-main-subtitle{color:var(--text-secondary);margin-top:.35rem;font-size:.95rem}.hub-progress-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:.875rem;flex-direction:column;gap:.75rem;padding:1.25rem 1.75rem;display:flex;box-shadow:0 4px 14px #00000040}.hub-progress-info{justify-content:space-between;align-items:center;font-size:.875rem;font-weight:600;display:flex}.hub-progress-stats{color:var(--text-muted)}.hub-progress-stats strong{color:var(--accent-amber);font-size:1.1rem}.hub-progress-percent{color:var(--accent-emerald);font-weight:700}progress.hub-progress-meter{appearance:none;border:1px solid var(--border-subtle);background-color:#0f172acc;border-radius:9999px;width:100%;height:8px;overflow:hidden}progress.hub-progress-meter::-webkit-progress-bar{background-color:#0f172acc;border-radius:9999px}progress.hub-progress-meter::-webkit-progress-value{background:linear-gradient(90deg, var(--accent-amber), var(--accent-emerald));border-radius:9999px;transition:width .4s}progress.hub-progress-meter::-moz-progress-bar{background:linear-gradient(90deg, var(--accent-amber), var(--accent-emerald));border-radius:9999px}.modules-container{flex-direction:column;gap:2rem;display:flex}.module-group{flex-direction:column;gap:1rem;display:flex}.module-header{align-items:center;gap:.75rem;display:flex}.module-badge-number{width:1.75rem;height:1.75rem;color:var(--accent-amber);background-color:#fbbf2426;border:1px solid #fbbf244d;border-radius:.375rem;justify-content:center;align-items:center;font-size:.8rem;font-weight:800;display:flex}.module-title{color:var(--text-primary);letter-spacing:-.01em;font-size:1.25rem;font-weight:700}.lessons-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;display:grid}.lesson-card{background-color:var(--bg-card);border:1px solid var(--border-color);color:inherit;border-radius:.75rem;flex-direction:column;justify-content:space-between;gap:1rem;padding:1.25rem 1.35rem;text-decoration:none;transition:all .2s;display:flex;position:relative;overflow:hidden}.lesson-card-unlocked:hover{background-color:#243248;border-color:#475569;transform:translateY(-2px);box-shadow:0 8px 20px #0000004d}.lesson-card-locked{opacity:.55;cursor:not-allowed;filter:grayscale(.4)}.lesson-card-completed{border-color:#34d39959}.lesson-card-completed:before{content:"";background-color:var(--accent-emerald);width:4px;height:100%;position:absolute;top:0;left:0}.lesson-card-top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.lesson-card-title{color:var(--text-primary);font-size:1rem;font-weight:700;line-height:1.3}.status-pill{white-space:nowrap;border-radius:9999px;align-items:center;gap:.3rem;padding:.25rem .5rem;font-size:.7rem;font-weight:700;display:inline-flex}.status-pill .icon{width:.75rem;height:.75rem}.status-completed{color:var(--accent-emerald);background-color:#34d39926;border:1px solid #34d3994d}.status-unlocked{color:var(--accent-amber);background-color:#fbbf2426;border:1px solid #fbbf244d}.status-locked{color:var(--text-muted);background-color:#64748b26;border:1px solid #64748b40}.lesson-card-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.5}.lesson-keys-row{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.key-tag{border:1px solid var(--border-color);min-width:1.5rem;height:1.5rem;color:var(--text-primary);background-color:#0f172a;border-radius:.25rem;justify-content:center;align-items:center;padding:0 .35rem;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.75rem;font-weight:700;display:inline-flex}.key-tag-more{color:var(--text-muted);margin-left:.25rem;font-size:.75rem}.lesson-card-footer{border-top:1px solid var(--border-subtle);color:var(--text-muted);justify-content:space-between;align-items:center;padding-top:.75rem;font-size:.75rem;display:flex}.lesson-score-display{align-items:center;gap:.75rem;font-weight:600;display:flex}.lesson-score-acc{color:var(--accent-emerald);align-items:center;gap:.25rem;display:inline-flex}.lesson-score-icon{width:.875rem;height:.875rem;color:var(--accent-emerald)}.lesson-score-wpm{color:var(--accent-amber)}.start-lesson-cta{color:var(--accent-amber);align-items:center;gap:.35rem;font-weight:700;display:inline-flex}.start-lesson-cta .icon{width:.875rem;height:.875rem;transition:transform .15s}.lesson-card-unlocked:hover .start-lesson-cta .icon{transform:translate(3px)}.hub-reset-btn{color:var(--accent-rose);cursor:pointer;background-color:#ef44441a;border:1px solid #ef444440;border-radius:.375rem;align-items:center;gap:.4rem;padding:.45rem .85rem;font-size:.8rem;font-weight:600;transition:all .15s;display:inline-flex}.hub-reset-btn:hover{border-color:var(--accent-rose);background-color:#ef444433}.hub-reset-btn .icon{width:.875rem;height:.875rem}@media (max-width:640px){.lessons-grid{grid-template-columns:1fr}.hub-main-title{font-size:1.75rem}}.lesson-active-page{color:#f9fafb;box-sizing:border-box;background-color:#0b0f19;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;max-width:100%;min-height:100vh;padding:clamp(1.5rem,3vw,2.5rem) clamp(1rem,2.5vw,1.75rem);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;display:flex;position:relative;overflow-x:hidden}.lesson-active-container{flex-direction:column;gap:1rem;width:100%;max-width:1040px;margin:0 auto;display:flex}.lesson-header-bar{border:none;flex-direction:row;justify-content:space-between;align-items:center;gap:1.25rem;width:100%;margin:0;padding:0;display:flex}.lesson-header-left{flex-shrink:0;align-items:center;gap:1.15rem;display:flex}.lesson-back-btn{color:#94a3b8;background-color:#1e293b99;border:1px solid #334155;border-radius:9999px;flex-shrink:0;align-items:center;gap:.5rem;min-height:38px;padding:.45rem 1rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.lesson-back-btn:hover{color:#f8fafc;background-color:#1e293b;border-color:#64748b;transform:translate(-2px)}.lesson-back-btn .icon{width:.95rem;height:.95rem;transition:transform .15s}.lesson-back-btn:hover .icon{transform:translate(-2px)}.lesson-title-group{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.lesson-module-tag{text-transform:uppercase;letter-spacing:.08em;color:#f59e0b;background-color:#f59e0b1a;border:1px solid #f59e0b47;border-radius:4px;align-items:center;padding:.15rem .5rem;font-family:JetBrains Mono,monospace;font-size:.675rem;font-weight:800;display:inline-flex}.lesson-active-title{letter-spacing:-.025em;color:#fff;margin:0;font-size:1.4rem;font-weight:800;line-height:1.15}.lesson-stats-row{flex-direction:row;flex-shrink:0;align-items:center;gap:.75rem;display:flex}.stat-card{box-sizing:border-box;background-color:#111827;border:1px solid #1f2937;border-radius:8px;flex-direction:column;justify-content:center;gap:.25rem;min-width:115px;padding:.55rem .95rem;display:flex}.stat-card.stat-progress{min-width:195px}.stat-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.stat-label{text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-size:.675rem;font-weight:700}.stat-req-badge{border-radius:4px;padding:.1rem .4rem;font-family:JetBrains Mono,monospace;font-size:.65rem;font-weight:700}.stat-req-badge.req-emerald{color:#10b981;background-color:#10b9811f;border:1px solid #10b9814d}.stat-req-badge.req-blue{color:#3b82f6;background-color:#3b82f61f;border:1px solid #3b82f64d}.stat-value{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,monospace;font-size:1.35rem;font-weight:800;line-height:1}.stat-value.val-emerald{color:#10b981}.stat-value.val-blue{color:#3b82f6}.unit-wpm{color:#64748b;margin-left:.2rem;font-size:.75rem;font-weight:600}.progress-counter{color:#94a3b8;font-family:JetBrains Mono,monospace;font-size:.725rem}.progress-counter strong{color:#f8fafc}.progress-track-wrapper{align-items:center;gap:.5rem;width:100%;display:flex}progress.lesson-progress-bar{appearance:none;background-color:#1e293b;border:1px solid #334155;border-radius:9999px;width:100%;height:6px;overflow:hidden}progress.lesson-progress-bar::-webkit-progress-bar{background-color:#1e293b;border-radius:9999px}progress.lesson-progress-bar::-webkit-progress-value{background:linear-gradient(90deg,#3b82f6,#10b981);border-radius:9999px;transition:width .15s}progress.lesson-progress-bar::-moz-progress-bar{background:linear-gradient(90deg,#3b82f6,#10b981);border-radius:9999px}.progress-percentage-label{color:#38bdf8;text-align:right;min-width:2.25rem;font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:700}.lesson-typing-box{letter-spacing:.04em;-webkit-user-select:none;user-select:none;cursor:text;box-sizing:border-box;background-color:#111827;border:1px solid #1f2937;border-radius:12px;width:100%;min-height:140px;max-height:200px;padding:clamp(1.5rem,3vw,2.25rem);font-family:JetBrains Mono,Fira Code,Courier New,monospace;font-size:26px;line-height:1.8;position:relative;overflow-y:hidden;box-shadow:0 4px 16px #00000059}.lesson-words-stream{flex-wrap:wrap;align-items:center;gap:0;display:flex}.word-wrapper{white-space:nowrap;align-items:center;display:inline-flex}.char-span{border-radius:2px;transition:color 50ms,background-color 50ms;display:inline;position:relative}.char-pending{color:#94a3b8}.char-correct{color:#10b981}.char-incorrect{color:#ef4444;background-color:#ef44442e;border-bottom:2px solid #ef4444}.char-current{color:#fff;background-color:#38bdf838}.char-current .cursor-bar{background-color:#38bdf8;border-radius:2px;width:100%;height:3px;position:absolute;bottom:0;left:0}.virtual-keyboard-container{-webkit-user-select:none;user-select:none;box-sizing:border-box;background-color:#111827;border:1px solid #1f2937;border-radius:12px;flex-direction:column;align-items:center;gap:.45rem;width:100%;padding:1.5rem 1rem;display:flex;box-shadow:0 4px 20px #00000059}.keyboard-row{justify-content:center;gap:.35rem;width:100%;display:flex}.key{text-transform:uppercase;color:#f1f5f9;box-sizing:border-box;background-color:#1e293b;border:1px solid #334155;border-bottom:3px solid #0f172a;border-radius:6px;justify-content:center;align-items:center;min-width:2.75rem;height:2.75rem;padding:0 .5rem;font-family:JetBrains Mono,monospace;font-size:.95rem;font-weight:700;transition:transform 50ms,background-color 50ms,border-color 50ms;display:flex;position:relative}.key.key-zone-pinky{border-top:2.5px solid #f43f5e}.key.key-zone-ring{border-top:2.5px solid #f59e0b}.key.key-zone-middle{border-top:2.5px solid #a855f7}.key.key-zone-index{border-top:2.5px solid #06b6d4}.key.key-zone-thumb{border-top:2.5px solid #64748b}.key.key-space{color:#94a3b8;letter-spacing:.05em;width:16rem;font-size:.8rem}.key.key-target{transform:translateY(-1px);color:#0f172a!important;background-color:#f59e0b!important;border-color:#fef08a #fbbf24 #b45309!important;border-top-style:solid!important;border-top-width:2.5px!important;border-bottom-style:solid!important;border-bottom-width:3px!important;font-weight:900!important}.key.key-active{transform:translateY(2px);color:#fff!important;background-color:#2563eb!important;border-color:#60a5fa #3b82f6 #1d4ed8!important;border-bottom-style:solid!important;border-bottom-width:1px!important}.lesson-modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:100;background-color:#0b0f19e0;justify-content:center;align-items:center;padding:1.5rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.lesson-modal-card{text-align:center;background-color:#111827;border:1px solid #1f2937;border-radius:14px;flex-direction:column;align-items:center;gap:1.5rem;width:100%;max-width:480px;padding:2.5rem 2rem;animation:.25s cubic-bezier(.16,1,.3,1) modalScaleUp;display:flex;box-shadow:0 20px 60px #0009}.modal-result-icon{border-radius:12px;justify-content:center;align-items:center;width:4.25rem;height:4.25rem;display:flex}.modal-result-icon.passed{color:#10b981;background-color:#10b98126;border:1px solid #10b98159}.modal-result-icon.failed{color:#f43f5e;background-color:#f43f5e26;border:1px solid #f43f5e59}.modal-result-icon .icon{width:2.25rem;height:2.25rem}.modal-title{letter-spacing:-.02em;color:#f9fafb;font-size:1.75rem;font-weight:800}.modal-subtitle{color:#94a3b8;margin-top:.25rem;font-size:.95rem;line-height:1.55}.modal-scorecard{background-color:#0b0f19;border:1px solid #1f2937;border-radius:8px;grid-template-columns:repeat(3,1fr);gap:.75rem;width:100%;padding:1rem;display:grid}.scorecard-item{flex-direction:column;align-items:center;gap:.25rem;display:flex}.scorecard-val{font-variant-numeric:tabular-nums;color:#f9fafb;font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:800}.scorecard-val.passed-val{color:#10b981}.scorecard-val.failed-val{color:#f43f5e}.scorecard-lbl{text-transform:uppercase;color:#64748b;letter-spacing:.05em;font-size:.65rem;font-weight:700}.modal-actions{gap:.75rem;width:100%;display:flex}.modal-btn-primary{color:#fff;cursor:pointer;background-color:#2563eb;border:1px solid #3b82f6;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.5rem;min-height:46px;padding:.8rem 1.25rem;font-size:.95rem;font-weight:700;transition:all .15s;display:inline-flex}.modal-btn-primary:hover{background-color:#1d4ed8;border-color:#60a5fa}.modal-btn-secondary{color:#f1f5f9;cursor:pointer;background-color:#1e293b;border:1px solid #334155;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.5rem;min-height:46px;padding:.8rem 1.25rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.modal-btn-secondary:hover{background-color:#334155;border-color:#475569}.modal-btn-icon{width:1.1rem;height:1.1rem}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (max-width:900px){.lesson-header-bar{flex-direction:column;align-items:flex-start;gap:.85rem}.lesson-stats-row{width:100%}}@media (max-width:768px){.lesson-header-left{flex-wrap:wrap;gap:.75rem}.lesson-active-title{font-size:1.25rem}.lesson-stats-row{grid-template-columns:1fr 1fr;gap:.5rem;width:100%;display:grid}.stat-card.stat-progress{grid-column:span 2}.lesson-typing-box{padding:1.25rem 1rem;font-size:20px}.key{min-width:2rem;height:2.35rem;padding:0 .25rem;font-size:.8rem}.key.key-space{width:10rem}.modal-actions{flex-direction:column}}@media (max-width:480px){.lesson-stats-row{grid-template-columns:1fr}.stat-card.stat-progress{grid-column:span 1}.key{min-width:1.65rem;height:2.1rem;padding:0 .15rem;font-size:.725rem}.keyboard-row{gap:.2rem}.key.key-space{width:7.5rem}.lesson-modal-card{padding:1.75rem 1.25rem}}.keyboard-overlay-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;width:100%;max-width:920px;margin:0 auto .75rem;display:flex}.overlay-hint-hud{align-items:center;gap:.65rem;font-size:.8125rem;display:flex}.hud-label{color:#64748b;letter-spacing:.08em;font-size:.6875rem;font-weight:800}.hud-badge-group{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.hud-target-key{color:#fff;background-color:#2563eb;border-radius:4px;justify-content:center;align-items:center;min-width:2rem;height:1.85rem;padding:0 .5rem;font-family:JetBrains Mono,monospace;font-size:.875rem;font-weight:700;display:inline-flex;box-shadow:0 0 10px #2563eb66}.hud-shift-badge{color:#f43f5e;letter-spacing:.05em;background-color:#1e293b;border:1px solid #f43f5e;border-radius:4px;align-items:center;gap:.4rem;padding:.25rem .6rem;font-size:.6875rem;font-weight:700;display:inline-flex}.shift-dot{background-color:#f43f5e;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite pulse-shift-dot}@keyframes pulse-shift-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.hud-finger-name{color:#94a3b8;font-size:.75rem;font-weight:600}.hud-idle-text{color:#64748b;font-size:.8125rem;font-style:italic}.overlay-toggles-group{align-items:center;gap:.5rem;display:flex}.overlay-toggle-btn{color:#94a3b8;cursor:pointer;background-color:#111827;border:1px solid #334155;border-radius:6px;align-items:center;gap:.45rem;min-height:32px;padding:.35rem .75rem;font-family:inherit;font-size:.75rem;font-weight:600;transition:all .15s ease-in-out;display:inline-flex}.overlay-toggle-btn:hover{color:#f8fafc;background-color:#1e293b;border-color:#475569}.overlay-toggle-btn.is-active{color:#60a5fa;background-color:#2563eb26;border-color:#3b82f6}.toggle-icon{font-size:.875rem}.toggle-status{opacity:.7;font-size:.6875rem;font-weight:800}.keyboard-overlay-wrapper{aspect-ratio:900/340;-webkit-user-select:none;user-select:none;background-color:#0b0f19;border:1px solid #1f2937;border-radius:12px;width:100%;max-width:920px;margin:0 auto;transition:opacity .25s,visibility .25s;overflow:hidden;box-shadow:0 8px 24px #00000080;container:keyboard-stage/inline-size}.keyboard-overlay-wrapper.is-hidden{opacity:0;visibility:hidden;pointer-events:none;height:0;margin:0;overflow:hidden}.keyboard-layer{box-sizing:border-box;flex-direction:column;justify-content:space-between;width:100%;height:100%;padding:1.5% 2% 2%;display:flex}.kb-row{gap:.55%;width:100%;height:17%;display:flex}.kb-key{color:#cbd5e1;cursor:default;box-sizing:border-box;text-align:center;background-color:#1e293b;border:1px solid #334155;border-bottom:3px solid #0f172a;border-radius:clamp(3px,.7cqi,7px);flex-direction:column;justify-content:center;align-items:center;padding:2px;font-family:JetBrains Mono,monospace;font-size:clamp(.6rem,1.6cqi,.9375rem);font-weight:600;line-height:1;transition:all .12s ease-in-out;display:flex;position:relative}.kb-key.is-target-key{color:#fff;z-index:5;background-color:#2563eb;border-color:#60a5fa #60a5fa #1d4ed8;border-bottom-style:solid;border-bottom-width:3px;transform:translateY(1px);box-shadow:0 0 16px #2563eb99,inset 0 1px #ffffff40}.kb-key.is-target-shift{color:#fff;z-index:5;background-color:#f43f5e;border-color:#fda4af #fda4af #be123c;border-bottom-style:solid;border-bottom-width:3px;animation:1.5s ease-in-out infinite pulse-shift-key;transform:translateY(1px);box-shadow:0 0 16px #f43f5e99,inset 0 1px #ffffff40}@keyframes pulse-shift-key{0%,to{box-shadow:0 0 14px #f43f5e99}50%{box-shadow:0 0 24px #f43f5ee6}}.key-legend-shift{opacity:.6;margin-bottom:2px;font-size:clamp(.45rem,1.1cqi,.6875rem);line-height:1}.key-legend-main{line-height:1}.homing-nub{background-color:#64748b;border-radius:1px;width:25%;max-width:14px;height:2px;position:absolute;bottom:12%;left:50%;transform:translate(-50%)}.kb-key.is-target-key .homing-nub{background-color:#fff}.key-u-100{flex:1}.key-u-125{flex:1.25}.key-u-150{flex:1.5}.key-u-175{flex:1.75}.key-u-200{flex:2}.key-u-225{flex:2.25}.key-u-275{flex:2.75}.key-u-space{flex:6.25}@container keyboard-stage (width<=600px){.key-legend-shift{display:none}.kb-key{padding:1px;font-size:clamp(.55rem,2cqi,.8rem)}.homing-nub{display:none}}.practices-hub-page{background-color:var(--bg-primary);width:100%;min-height:100vh;color:var(--text-primary);flex-direction:column;display:flex;position:relative;overflow-x:hidden}.practices-hub-container{flex-direction:column;gap:2.5rem;width:100%;max-width:1050px;margin:0 auto;padding:2.5rem 1.5rem 5rem;display:flex}.hub-header{flex-direction:column;gap:1.25rem;display:flex}.hub-nav-back{color:var(--text-secondary);align-items:center;gap:.5rem;width:-moz-fit-content;width:fit-content;font-size:.875rem;font-weight:600;text-decoration:none;transition:color .15s;display:inline-flex}.hub-nav-back:hover{color:var(--accent-amber)}.hub-nav-back .icon{width:1rem;height:1rem}.hub-title-section{flex-direction:column;gap:.35rem;display:flex}.hub-main-title{letter-spacing:-.025em;font-size:2.25rem;font-weight:800;line-height:1.2}.hub-main-title span{color:var(--accent-sky)}.hub-main-subtitle{color:var(--text-secondary);font-size:.95rem}.practice-config-panel{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:1rem;flex-direction:column;gap:1.5rem;padding:1.75rem 2rem;display:flex;box-shadow:0 8px 24px #00000040}.config-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.5rem;font-size:.8rem;font-weight:700}.category-tabs{border:1px solid var(--border-subtle);background-color:#0f172a;border-radius:.625rem;flex-wrap:wrap;gap:.5rem;padding:.35rem;display:flex}.category-tab{min-width:140px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:.45rem;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1rem;font-size:.875rem;font-weight:600;transition:all .15s;display:inline-flex}.category-tab:hover{color:var(--text-primary);background-color:#ffffff0a}.category-tab-active{background-color:var(--bg-card);color:var(--accent-sky);border:1px solid #38bdf840;font-weight:700;box-shadow:0 2px 8px #0000004d}.category-tab .icon{width:1rem;height:1rem}.config-options-bar{border-top:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;padding-top:.5rem;display:flex}.length-options-group{align-items:center;gap:.5rem;display:flex}.length-label{text-transform:uppercase;color:var(--text-muted);margin-right:.25rem;font-size:.75rem;font-weight:700}.length-button-group{border:1px solid var(--border-color);background-color:#0f172a;border-radius:.5rem;gap:.25rem;padding:.25rem;display:inline-flex}.length-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:.35rem;padding:.4rem .75rem;font-size:.8rem;font-weight:600;transition:all .15s}.length-btn:hover{color:var(--text-primary)}.length-btn-active{background-color:var(--bg-card);color:var(--accent-amber);font-weight:700;box-shadow:0 1px 4px #00000040}.toggles-group{align-items:center;gap:.75rem;display:flex}.toggle-chip{border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;background-color:#0f172a;border-radius:.5rem;align-items:center;gap:.45rem;padding:.45rem .85rem;font-size:.8rem;font-weight:600;transition:all .15s;display:inline-flex}.toggle-chip:hover{color:var(--text-secondary);border-color:#475569}.toggle-chip-active{color:var(--accent-sky);background-color:#38bdf81f;border-color:#38bdf859}.toggle-chip .icon{width:.95rem;height:.95rem}.custom-text-box{flex-direction:column;gap:.6rem;margin-top:.5rem;display:flex}.custom-textarea{border:1px solid var(--border-color);width:100%;min-height:110px;color:var(--text-primary);resize:vertical;background-color:#0f172a;border-radius:.625rem;padding:.875rem 1rem;font-family:inherit;font-size:.9rem;line-height:1.5;transition:border-color .15s}.custom-textarea:focus{border-color:var(--accent-sky);outline:none;box-shadow:0 0 0 2px #38bdf833}.custom-text-hints{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:.75rem;display:flex}.btn-sample-insert{color:var(--accent-sky);cursor:pointer;background:0 0;border:none;font-size:.75rem;font-weight:600;text-decoration:underline}.launch-practice-row{border-top:1px solid var(--border-subtle);justify-content:flex-end;padding-top:.75rem;display:flex}.btn-launch-practice{background:linear-gradient(135deg, var(--accent-sky), #0284c7);color:#0f172a;cursor:pointer;border:none;border-radius:.5rem;align-items:center;gap:.5rem;padding:.75rem 1.75rem;font-size:.95rem;font-weight:800;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 4px 14px #38bdf859}.btn-launch-practice:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 6px 18px #38bdf873}.btn-launch-practice .icon{width:1.1rem;height:1.1rem}.categories-overview-section{flex-direction:column;gap:1rem;display:flex}.overview-heading{letter-spacing:-.01em;font-size:1.25rem;font-weight:700}.categories-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem;display:grid}.practice-category-card{background-color:var(--bg-card);border:1px solid var(--border-color);color:inherit;cursor:pointer;border-radius:.75rem;flex-direction:column;justify-content:space-between;gap:1rem;padding:1.35rem 1.5rem;text-decoration:none;transition:all .2s;display:flex}.practice-category-card:hover{background-color:#243248;border-color:#475569;transform:translateY(-2px);box-shadow:0 8px 20px #0000004d}.category-card-top{align-items:flex-start;gap:.85rem;display:flex}.category-icon-box{width:2.5rem;height:2.5rem;color:var(--accent-sky);background-color:#38bdf81f;border:1px solid #38bdf840;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;display:flex}.category-icon-box .icon{width:1.25rem;height:1.25rem}.category-meta{flex-direction:column;display:flex}.category-title{font-size:1.05rem;font-weight:700;line-height:1.25}.category-tagline{color:var(--accent-sky);margin-top:.15rem;font-size:.75rem;font-weight:600}.category-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.45}.category-sample-badge{border:1px solid var(--border-color);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;background-color:#0f172a;border-radius:.375rem;padding:.45rem .65rem;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.75rem;overflow:hidden}.category-card-footer{border-top:1px solid var(--border-subtle);color:var(--accent-sky);justify-content:space-between;align-items:center;padding-top:.65rem;font-size:.75rem;font-weight:700;display:flex}.category-card-footer .icon{width:.875rem;height:.875rem;transition:transform .15s}.practice-category-card:hover .category-card-footer .icon{transform:translate(3px)}@media (max-width:640px){.categories-grid{grid-template-columns:1fr}.config-options-bar{flex-direction:column;align-items:flex-start}.category-tabs{flex-direction:column}.category-tab{width:100%}.hub-main-title{font-size:1.75rem}}.practice-active-page{background-color:var(--bg-primary);width:100%;min-height:100vh;color:var(--text-primary);flex-direction:column;justify-content:center;align-items:center;padding:2rem 1.5rem;display:flex;position:relative;overflow-x:hidden}.practice-active-container{flex-direction:column;gap:1.5rem;width:100%;max-width:1000px;display:flex}.practice-top-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;width:100%;display:flex}.practice-nav-back{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:color .15s;display:inline-flex}.practice-nav-back:hover{color:var(--accent-sky)}.practice-nav-back .icon{width:1rem;height:1rem}.practice-top-info{align-items:center;gap:.75rem;display:flex}.practice-category-badge{color:var(--accent-sky);text-transform:uppercase;letter-spacing:.05em;background-color:#38bdf81f;border:1px solid #38bdf840;border-radius:9999px;align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.8rem;font-weight:700;display:inline-flex}.practice-category-badge .icon{width:.875rem;height:.875rem}.practice-controls-group{align-items:center;gap:.5rem;display:flex}.practice-control-btn{background-color:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:.5rem;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.8rem;font-weight:600;transition:all .15s;display:inline-flex}.practice-control-btn:hover{color:var(--text-primary);border-color:#475569}.practice-control-btn-active{color:var(--accent-sky);background-color:#38bdf81f;border-color:#38bdf859}.practice-control-btn .icon{width:.9rem;height:.9rem}.practice-hud-bar{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:.875rem;grid-template-columns:repeat(4,1fr) 2fr;align-items:center;gap:1rem;padding:1rem 1.75rem;display:grid;box-shadow:0 4px 14px #0003}.hud-stat-box{flex-direction:column;align-items:center;gap:.15rem;display:flex}.hud-stat-val{font-variant-numeric:tabular-nums;font-size:1.75rem;font-weight:800;line-height:1.1}.hud-stat-lbl{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:.65rem;font-weight:700}.val-sky{color:var(--accent-sky)}.val-emerald{color:var(--accent-emerald)}.val-amber{color:var(--accent-amber)}.val-rose{color:var(--accent-rose)}.hud-breakdown-box{border-left:1px solid var(--border-subtle);flex-direction:column;align-items:flex-end;gap:.35rem;padding-left:1rem;display:flex}.breakdown-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:.65rem;font-weight:700}.breakdown-items-row{font-variant-numeric:tabular-nums;align-items:center;gap:.85rem;font-size:.8rem;font-weight:700;display:flex}.breakdown-pill{align-items:center;gap:.3rem;display:inline-flex}.pill-dot{border-radius:9999px;width:.45rem;height:.45rem}.dot-correct{background-color:var(--accent-emerald);box-shadow:0 0 6px #34d39966}.dot-missed{background-color:var(--accent-rose);box-shadow:0 0 6px #f43f5e66}.dot-extra{background-color:var(--accent-amber);box-shadow:0 0 6px #fbbf2466}.practice-typing-card{background-color:var(--bg-card);border:1px solid var(--border-color);cursor:text;border-radius:.875rem;width:100%;padding:1.75rem 2rem;position:relative;box-shadow:inset 0 2px 6px #00000040}.practice-scroll-viewport{-webkit-user-select:none;user-select:none;letter-spacing:.05em;scroll-behavior:smooth;width:100%;max-height:145px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.6rem;line-height:2.5rem;position:relative;overflow:hidden}.practice-words-wrapper{flex-wrap:wrap;gap:0 .85rem;display:flex}.practice-word{white-space:pre;border-radius:.25rem;transition:opacity .15s;display:inline-flex;position:relative}.practice-word-active{opacity:1}.practice-word-completed{opacity:.85}.p-char{transition:color 60ms;display:inline-block;position:relative}.p-char-pending{color:var(--text-muted)}.p-char-correct{color:var(--accent-emerald)}.p-char-incorrect{color:var(--accent-rose);text-decoration:underline;-webkit-text-decoration-color:var(--accent-rose);text-decoration-color:var(--accent-rose);background-color:#f43f5e2e;border-radius:2px;text-decoration-thickness:2px}.p-char-extra{color:#fb923c;opacity:.9;background-color:#fb923c2e;border-radius:2px;-webkit-text-decoration:underline #fb923c;text-decoration:underline #fb923c}.p-cursor{background-color:var(--accent-sky);border-radius:2px;width:2.5px;height:70%;animation:.9s infinite blinkCursor;position:absolute;top:15%;left:-2px;box-shadow:0 0 8px #38bdf8cc}.focus-shield-message{-webkit-backdrop-filter:blur(4px);color:var(--text-primary);cursor:pointer;z-index:10;background-color:#0f172aa6;border-radius:.875rem;justify-content:center;align-items:center;font-size:.95rem;font-weight:600;display:flex;position:absolute;inset:0}.problem-keys-box{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:.75rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1.5rem;display:flex}.problem-keys-header{color:var(--text-secondary);align-items:center;gap:.6rem;font-size:.85rem;font-weight:700;display:flex}.problem-keys-header .icon{width:1.1rem;height:1.1rem;color:var(--accent-rose)}.problem-keys-list{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.problem-key-chip{color:var(--accent-rose);background-color:#0f172a;border:1px solid #f43f5e59;border-radius:.35rem;align-items:center;gap:.35rem;padding:.25rem .55rem;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.8rem;font-weight:800;display:inline-flex}.problem-key-chip .error-count{color:var(--text-muted);font-size:.7rem}.problem-keys-empty{color:var(--accent-emerald);font-size:.8rem;font-weight:600}.practice-shortcuts-hint{color:var(--text-muted);justify-content:center;align-items:center;gap:.5rem;font-size:.75rem;display:flex}.shortcut-kbd{border:1px solid var(--border-color);color:var(--text-primary);background-color:#0f172a;border-radius:.25rem;padding:.15rem .4rem;font-family:ui-monospace,SFMono-Regular,monospace;font-weight:700}.practice-modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:100;background-color:#0f172ad9;justify-content:center;align-items:center;padding:1.5rem;animation:.25s ease-out fadeIn;display:flex;position:fixed;inset:0}.practice-modal-card{background-color:var(--bg-card);border:1px solid var(--border-color);text-align:center;border-radius:1rem;flex-direction:column;align-items:center;gap:1.5rem;width:100%;max-width:520px;padding:2.25rem 2rem;animation:.3s cubic-bezier(.16,1,.3,1) modalScaleUp;display:flex;box-shadow:0 20px 50px #0009}.modal-header-icon{background:linear-gradient(135deg, var(--accent-sky), #0284c7);color:#0f172a;border-radius:1rem;justify-content:center;align-items:center;width:4rem;height:4rem;display:flex;box-shadow:0 10px 25px #38bdf859}.modal-header-icon .icon{width:2rem;height:2rem}.practice-modal-title{letter-spacing:-.02em;font-size:1.75rem;font-weight:800}.practice-modal-subtitle{color:var(--text-secondary);margin-top:.25rem;font-size:.95rem}.modal-scorecard-grid{border:1px solid var(--border-color);background-color:#0f172a;border-radius:.75rem;grid-template-columns:repeat(4,1fr);gap:.65rem;width:100%;padding:1rem;display:grid}.modal-scorecard-unit{flex-direction:column;align-items:center;gap:.2rem;display:flex}.modal-scorecard-val{font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:800}.modal-scorecard-lbl{text-transform:uppercase;color:var(--text-muted);font-size:.65rem;font-weight:700}.modal-weak-keys-section{border:1px solid var(--border-color);background-color:#0f172a;border-radius:.75rem;justify-content:space-between;align-items:center;gap:.75rem;width:100%;padding:.85rem 1rem;font-size:.85rem;display:flex}.modal-weak-keys-title{color:var(--text-muted);font-weight:700}.modal-actions-row{gap:.75rem;width:100%;display:flex}.modal-btn-sky{background:linear-gradient(135deg, var(--accent-sky), #0284c7);color:#0f172a;cursor:pointer;border:none;border-radius:.5rem;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.95rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 14px #38bdf84d}.modal-btn-sky:hover{filter:brightness(1.1);transform:translateY(-1px)}.modal-btn-sky .icon{width:1rem;height:1rem}@media (max-width:768px){.practice-hud-bar{grid-template-columns:repeat(2,1fr)}.hud-breakdown-box{border-left:none;border-top:1px solid var(--border-subtle);grid-column:span 2;align-items:center;padding-top:.75rem;padding-left:0}.modal-scorecard-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.practice-top-bar{flex-direction:column;align-items:flex-start}.modal-actions-row{flex-direction:column}}.dl-page{flex-direction:column;gap:48px;width:100%;max-width:1200px;margin:0 auto;padding:40px 32px 80px;display:flex}.dl-page-header{text-align:center;padding-bottom:8px}.dl-page-title{color:#f8fafc;letter-spacing:-.5px;margin:0 0 12px;font-size:clamp(28px,5vw,44px);font-weight:800;line-height:1.15}.dl-page-subtitle{color:#94a3b8;max-width:560px;margin:0 auto;font-size:clamp(15px,2vw,18px);line-height:1.6}.dl-recommended-section{position:relative}.dl-recommended-badge{color:#f59e0b;text-transform:uppercase;letter-spacing:.6px;background:#f59e0b1f;border:1px solid #f59e0b59;border-radius:20px;align-items:center;gap:6px;margin-bottom:16px;padding:5px 14px;font-size:12px;font-weight:700;display:inline-flex}.dl-badge-icon{width:14px;height:14px}.dl-recommended-card{box-shadow:none;background:#111827;border:1px solid #1e293b;border-radius:14px;flex-direction:column;gap:28px;padding:36px;display:flex;position:relative;overflow:hidden}.dl-recommended-card:before{content:"";background:linear-gradient(90deg,#2563eb,#f59e0b,#10b981);border-radius:14px 14px 0 0;height:3px;position:absolute;top:0;left:0;right:0}.dl-recommended-content{align-items:flex-start;gap:28px;display:flex}.dl-recommended-icon-wrapper{background:#2563eb1a;border:1px solid #2563eb40;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.dl-recommended-icon{color:#60a5fa;width:28px;height:28px}.dl-recommended-text{flex:1}.dl-recommended-title{color:#f8fafc;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 10px;font-size:22px;font-weight:700;display:flex}.dl-pwa-tag{color:#60a5fa;letter-spacing:.5px;text-transform:uppercase;vertical-align:middle;background:#2563eb26;border:1px solid #2563eb66;border-radius:4px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-block}.dl-recommended-desc{color:#94a3b8;margin:0 0 16px;font-size:15px;line-height:1.7}.dl-pwa-perks{grid-template-columns:repeat(2,1fr);gap:10px 24px;margin:0;padding:0;list-style:none;display:grid}.dl-pwa-perk-item{color:#cbd5e1;align-items:center;gap:8px;font-size:13px;display:flex}.pwa-perk-icon{color:#10b981;flex-shrink:0;width:15px;height:15px}.dl-recommended-actions{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.btn-primary-install{color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:none;background:#2563eb;border-top:1px solid #60a5fa;border-bottom:3.5px solid #000;border-left:1px solid #3b82f6;border-right:2px solid #020617;border-radius:8px;outline:none;justify-content:center;align-items:center;gap:10px;padding:12px 24px;font-size:15px;font-weight:700;transition:transform 80ms,background .15s,border-color .15s;display:inline-flex}.btn-primary-install:hover{background:#1d4ed8}.btn-primary-install:active{border-bottom-width:1px;transform:translateY(2px)}.btn-primary-install .dl-btn-icon{width:18px;height:18px}.dl-open-browser-link{color:#94a3b8;align-items:center;gap:6px;font-size:14px;font-weight:600;text-decoration:none;transition:color .15s;display:inline-flex}.dl-open-browser-link:hover{color:#38bdf8}.dl-link-arrow{width:14px;height:14px}.dl-section{flex-direction:column;gap:20px;display:flex}.dl-section-header{align-items:center;gap:10px;display:flex}.dl-section-icon{color:#64748b;width:22px;height:22px}.dl-section-title{color:#e2e8f0;letter-spacing:-.3px;margin:0;font-size:20px;font-weight:700}.dl-grid{gap:20px;display:grid}.dl-grid-3{grid-template-columns:repeat(3,1fr)}.dl-grid-2{grid-template-columns:repeat(2,1fr)}.dl-card{box-shadow:none;background:#111827;border:1px solid #1e293b;border-radius:12px;flex-direction:column;gap:16px;padding:24px;transition:border-color .2s,transform .15s;display:flex;position:relative}.dl-card:hover{border-color:#334155}.dl-card:after{content:"";border-radius:0 0 2px 2px;height:2px;position:absolute;top:0;left:16px;right:16px}.dl-accent-blue.dl-card:after{background:#2563eb}.dl-accent-slate.dl-card:after{background:#64748b}.dl-accent-amber.dl-card:after{background:#f59e0b}.dl-accent-green.dl-card:after{background:#10b981}.dl-accent-purple.dl-card:after{background:#a855f7}.dl-card-top{align-items:center;gap:14px;display:flex}.dl-card-icon{color:#64748b;flex-shrink:0;width:32px;height:32px}.dl-accent-blue .dl-card-icon{color:#60a5fa}.dl-accent-slate .dl-card-icon{color:#94a3b8}.dl-accent-amber .dl-card-icon{color:#fbbf24}.dl-accent-green .dl-card-icon{color:#34d399}.dl-accent-purple .dl-card-icon{color:#c084fc}.dl-card-title-group{flex-direction:column;gap:2px;display:flex}.dl-card-name{color:#f1f5f9;margin:0;font-size:17px;font-weight:700;line-height:1.2}.dl-card-subtitle{color:#64748b;font-size:12px;font-weight:500}.dl-card-desc{color:#94a3b8;flex:1;margin:0;font-size:13.5px;line-height:1.65}.dl-card-meta{flex-wrap:wrap;gap:10px;display:flex}.dl-meta-chip{color:#64748b;background:#1e293b99;border:1px solid #1e293b;border-radius:6px;align-items:center;gap:5px;padding:4px 10px;font-size:11.5px;display:inline-flex}.dl-meta-icon{width:12px;height:12px}.btn-download{text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;color:#f8fafc;width:100%;box-shadow:none;background:#1e293b;border-top:1px solid #475569;border-bottom:3px solid #000;border-left:1px solid #334155;border-right:2px solid #020617;border-radius:8px;outline:none;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-size:13.5px;font-weight:700;text-decoration:none;transition:transform 60ms,background .15s,border-color .15s,color .15s;display:flex}.btn-download .dl-btn-icon{flex-shrink:0;width:16px;height:16px}.btn-download:active{border-bottom-width:1px;transform:translateY(2px)}.btn-download.windows:hover{color:#93c5fd;background:#172554;border-color:#60a5fa #3b82f6 #3b82f6}.btn-download.android:hover{color:#6ee7b7;background:#062e20;border-color:#34d399 #10b981 #10b981}.btn-download.mac:hover{color:#fff;background:#2a374a;border-color:#f1f5f9 #cbd5e1 #cbd5e1}.btn-download.linux:hover{color:#fde68a;background:#2e1f0d;border-color:#fbbf24 #f59e0b #f59e0b}.btn-download.ios:hover{color:#e9d5ff;background:#26193d;border-color:#c084fc #a855f7 #a855f7}.ios-modal-backdrop{-webkit-backdrop-filter:blur(8px);z-index:1000;background:#05080fd9;justify-content:center;align-items:center;padding:20px;animation:.2s cubic-bezier(.16,1,.3,1) modalFadeIn;display:flex;position:fixed;inset:0}.ios-modal-card{width:100%;max-width:480px;box-shadow:none;background:#0f172a;border:1px solid #334155;border-radius:14px;flex-direction:column;gap:22px;padding:28px;animation:.25s cubic-bezier(.16,1,.3,1) modalSlideUp;display:flex;position:relative}.ios-modal-header{align-items:flex-start;gap:14px;display:flex;position:relative}.ios-modal-badge{color:#f8fafc;background:#1e293b;border:1px solid #334155;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.ios-modal-icon{width:22px;height:22px}.ios-modal-title-group{flex:1}.ios-modal-title{color:#f8fafc;margin:0 0 4px;font-size:18px;font-weight:700}.ios-modal-subtitle{color:#94a3b8;margin:0;font-size:13px}.ios-modal-close{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:color .15s,background .15s;display:flex}.ios-modal-close:hover{color:#f8fafc;background:#1e293b}.ios-modal-close .close-icon{width:18px;height:18px}.ios-steps-list{flex-direction:column;gap:14px;display:flex}.ios-step-item{background:#111827;border:1px solid #1e293b;border-radius:10px;align-items:flex-start;gap:14px;padding:14px 16px;display:flex}.ios-step-number{color:#38bdf8;background:#1e293b;border:1px solid #334155;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:800;display:flex}.ios-step-content{flex:1}.ios-step-title{color:#f8fafc;align-items:center;gap:8px;margin-bottom:4px;font-size:14px;font-weight:700;display:flex}.ios-step-title .step-icon{color:#38bdf8;width:16px;height:16px}.ios-step-desc{color:#94a3b8;margin:0;font-size:12.5px;line-height:1.5}.ios-step-desc strong{color:#e2e8f0}.ios-modal-footer{justify-content:flex-end;display:flex}.btn-ios-done{color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;background:#2563eb;border-top:1px solid #60a5fa;border-bottom:3px solid #000;border-left:1px solid #3b82f6;border-right:2px solid #020617;border-radius:8px;padding:10px 22px;font-size:14px;font-weight:700;transition:transform 80ms,background .15s}.btn-ios-done:hover{background:#1d4ed8}.btn-ios-done:active{border-bottom-width:1px;transform:translateY(2px)}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.dl-faq-section{padding-top:16px}.dl-faq-title{color:#e2e8f0;letter-spacing:-.3px;margin:0 0 20px;font-size:20px;font-weight:700}.dl-faq-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.dl-faq-item{box-shadow:none;background:#111827;border:1px solid #1e293b;border-radius:10px;padding:20px 22px;transition:border-color .2s}.dl-faq-item:hover{border-color:#334155}.dl-faq-question{color:#e2e8f0;margin:0 0 8px;font-size:14.5px;font-weight:650;line-height:1.35}.dl-faq-answer{color:#94a3b8;margin:0;font-size:13.5px;line-height:1.65}.dl-bottom-cta{text-align:center;box-shadow:none;background:#111827;border:1px solid #1e293b;border-radius:14px;padding:48px 24px}.dl-bottom-cta-title{color:#f8fafc;margin:0 0 8px;font-size:clamp(22px,4vw,30px);font-weight:800}.dl-bottom-cta-desc{color:#94a3b8;margin:0 0 24px;font-size:15px;line-height:1.6}.dl-bottom-cta-btn{color:#fff;cursor:pointer;box-shadow:none;background:#2563eb;border-top:1px solid #60a5fa;border-bottom:3.5px solid #000;border-left:1px solid #3b82f6;border-right:2px solid #020617;border-radius:8px;align-items:center;gap:8px;padding:12px 28px;font-size:15px;font-weight:700;text-decoration:none;transition:background .15s,transform 80ms;display:inline-flex}.dl-bottom-cta-btn:hover{background:#1d4ed8}.dl-bottom-cta-btn:active{border-bottom-width:1px;transform:translateY(2px)}.dl-cta-arrow{width:16px;height:16px}@media (max-width:1024px){.dl-page{gap:40px;padding:32px 24px 64px}.dl-grid-3{grid-template-columns:repeat(2,1fr)}.dl-recommended-card{padding:28px}}@media (max-width:768px){.dl-page{gap:36px;padding:24px 16px 56px}.dl-recommended-content{flex-direction:column;gap:16px}.dl-recommended-icon-wrapper{width:48px;height:48px}.dl-recommended-icon{width:24px;height:24px}.dl-pwa-perks{grid-template-columns:1fr;gap:8px}.dl-grid-3,.dl-grid-2,.dl-faq-grid{grid-template-columns:1fr}.dl-recommended-card{padding:24px}.dl-bottom-cta{padding:36px 20px}}@media (max-width:480px){.dl-page{gap:32px;padding:20px 14px 48px}.dl-recommended-card{gap:20px;padding:20px}.dl-recommended-title{font-size:19px}.dl-recommended-desc{font-size:14px}.dl-recommended-actions{flex-direction:column;align-items:stretch;gap:12px}.btn-primary-install{width:100%}.dl-card{padding:20px}.dl-card-icon{width:28px;height:28px}.dl-section-title{font-size:18px}.dl-bottom-cta{padding:28px 16px}.dl-bottom-cta-btn{justify-content:center;width:100%}.ios-modal-card{padding:20px}}@media (min-width:1440px){.dl-page{gap:56px;max-width:1320px;padding:48px 40px 100px}.dl-recommended-card{padding:44px}.dl-card{padding:28px}.dl-faq-grid{grid-template-columns:repeat(2,1fr);gap:20px}}
