:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;min-width:320px;width:100vw;min-height:100vh;background-color:#020617;background-image:linear-gradient(rgba(56,189,248,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.05) 1px,transparent 1px);background-size:40px 40px}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#999}.token.punctuation{color:#ccc}.token.tag,.token.attr-name,.token.namespace,.token.deleted{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.number,.token.function{color:#f08d49}.token.property,.token.class-name,.token.constant,.token.symbol{color:#f8c555}.token.selector,.token.important,.token.atrule,.token.keyword,.token.builtin{color:#cc99cd}.token.string,.token.char,.token.attr-value,.token.regex,.token.variable{color:#7ec699}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}.game-contain{display:flex;justify-content:center;height:fit-content}.game-page{margin:10px;border-radius:20px;height:fit-content;background:#020617;color:#fff;display:flex;flex-direction:column;align-items:center}.game-header{display:flex;border-radius:20px 20px 0 0;justify-content:space-between;padding:12px 20px;background:#0e0b0b;border-bottom:1px solid #1e293b}.langs button{background:transparent;color:#94b8a7;border:none;margin-right:12px;cursor:pointer;font-weight:600}.langs .active{color:#fff;border-bottom:2px solid #38bdf8}.timer{font-weight:700}.code-container{flex:1;padding:24px;outline:none;overflow:auto;display:block;text-align:left}.code{font-family:JetBrains Mono,monospace;font-size:20px;line-height:1.6;white-space:pre;margin:0}.overlay{position:absolute;top:0;left:0;pointer-events:none}.code-wrapper{position:relative}.code.syntax{position:relative;z-index:1}.code.overlay{position:absolute;top:0;left:0;z-index:2;pointer-events:none}.char{visibility:hidden}.wrong{color:#ff3b3b}.char.wrong{visibility:visible;color:#ff3b3b;background:#ff3b3b47;border-radius:4px;box-shadow:0 0 0 1px #ff3b3b8c inset}.char.forced-wrong{visibility:visible;color:#ff1f2d;background:#ff1f2d57;border-radius:1px;box-shadow:0 0 0 1px #ff1f2db3 inset,0 0 16px #ff1f2d2e}.char.forced-wrong{text-shadow:0 0 10px rgba(255,31,45,.25)}.char.correct,.char.wrong,.char.caret{visibility:visible}.correct{color:#22c55e}.caret{background:#7ec8e3}.caret{background:none;background:#7ec8e3;position:relative}.char.caret:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;border-radius:2px;background:#38bdf8f2;box-shadow:0 0 10px #38bdf859;animation:caretBlink 1s steps(2,start) infinite}.char.caret{box-shadow:0 0 0 1px #38bdf840 inset;border-radius:4px}@keyframes caretBlink{50%{opacity:0;background:none}}.char.caret.forced-wrong:after{background:#ff1f2df2;box-shadow:0 0 12px #ff1f2d59;animation:caretBlinkError .9s steps(2,start) infinite}@keyframes caretBlinkError{50%{opacity:0}}.cursor{position:absolute;width:2px;height:1.6em;background:#38bdf8;animation:blink 1s step-end infinite}.lang-button{display:inline-flex;align-items:center;gap:8px}.lang-icon svg{display:block}.lang-text{text-shadow:-.5px -.5px 0 #434549,.5px -.5px 0 #4a4c53,-.5px .5px 0 #605858,.5px .5px 0 #4e4848}.char.forced-wrong{color:#f87171;background:#f8717126}.char.caret.forced-wrong{animation:blink-error 1s infinite}@keyframes blink-error{0%,to{background:#f8717133}50%{background:#f8717166}}.signup-callout{margin-top:20vh;padding:12px 14px}.signup-title{font-weight:800;color:#e5e7eb;margin-bottom:4px}.signup-sub{font-size:.9rem;opacity:.85;margin-bottom:10px}.signup-btn{border:none;cursor:pointer;padding:.55rem 1.1rem;border-radius:999px;font-weight:800;color:#000;background:linear-gradient(90deg,#38bdf8,#818cf8,#38bdf8);background-size:200% 100%;transition:transform .2s ease,box-shadow .2s ease,background-position .6s ease}.signup-btn:hover{transform:translateY(-2px);background-position:100% 0;box-shadow:0 0 14px #38bdf8b3,0 0 30px #818cf880}.endgame-root{max-height:fit-content;display:flex;justify-content:center;align-items:center;background:radial-gradient(circle at top,rgba(56,189,248,.15),transparent 60%),#020617}.endgame-panel{width:min(900px,95%);padding:clamp(1rem,1vw,1rem);border-radius:16px;max-height:100vh;overflow:hidden;background:#020617;box-shadow:0 0 40px #38bdf826,inset 0 0 20px #ffffff08}.endgame-title{text-align:center;font-family:JetBrains Mono,monospace;color:#38bdf8;margin-bottom:2rem}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1.5rem;margin-bottom:3rem}.metric-card{background:#0f172a;padding:1.5rem;border-radius:12px;text-align:center;box-shadow:inset 0 0 10px #ffffff08}.metric-label{font-size:.75rem;letter-spacing:.15em;opacity:.6}.metric-value{margin-top:.5rem;font-size:2rem;font-weight:700;color:#e5e7eb}.chart-container{margin-bottom:2rem}.endgame-actions{display:flex;justify-content:center;gap:1.5rem;margin-top:3.5rem}.endgame-btn{padding:.8rem 2rem;border-radius:999px;font-size:1rem;cursor:pointer;border:none;position:relative;padding:.85rem 2.2rem;display:inline-flex;align-items:center;gap:.6rem;transition:transform .25s ease,box-shadow .25s ease,background-position .6s ease,color .25s ease}.endgame-btn.primary{background:linear-gradient(90deg,#38bdf8,#818cf8);background-size:200% 100%;color:#000;font-weight:600}.endgame-btn.primary:hover{transform:translateY(-2px);background-position:100% 0;box-shadow:0 0 12px #38bdf8b3,0 0 28px #818cf866}.endgame-btn.secondary{background:transparent;color:#e5e7eb;border:1px solid rgba(255,255,255,.25)}.endgame-btn.secondary:hover{transform:translateY(-2px);border-color:#38bdf8;box-shadow:0 0 12px #38bdf840}.endgame-btn.primary:hover span.spin{transform:rotate(360deg)}.endgame-btn span.spin{display:inline-block;transition:transform .6s ease}.auth-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:999}.auth-modal{position:relative;width:380px;padding:2.5rem;border-radius:16px;background:#020617;box-shadow:0 0 40px #38bdf840,inset 0 0 20px #ffffff08;animation:modalFade .25s ease;padding:100px 30px}@keyframes modalFade{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.auth-close{position:absolute;top:12px;right:14px;background:none;border:none;color:#e5e7eb;font-size:1.2rem;cursor:pointer;transition:.2s}.auth-close:hover{color:#38bdf8}.auth-switch{display:flex;margin-bottom:2rem;border-radius:999px;background:#0f172a;padding:4px}.auth-switch button{flex:1;padding:.4rem;border:none;background:transparent;color:#94a3b8;cursor:pointer;border-radius:999px;transition:.2s}.auth-switch button.active{background:linear-gradient(90deg,#38bdf8,#818cf8);color:#000}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-form input{padding:.7rem;border-radius:8px;border:1px solid #334155;background:#0f172a;color:#e5e7eb}.auth-form input:focus{outline:none;border-color:#38bdf8}.auth-submit{margin-top:1rem;padding:.7rem;border-radius:999px;border:none;cursor:pointer;font-weight:600;background:linear-gradient(90deg,#38bdf8,#818cf8);color:#000;transition:.25s}.auth-submit:hover{transform:translateY(-2px);box-shadow:0 0 14px #38bdf8b3,0 0 30px #818cf880}#root{width:100vw;margin:0 auto;text-align:center}html,body{overflow-x:hidden}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.navbar{position:sticky;top:0;z-index:100;height:56px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #1e293b;width:100%}.navbar-brand{font-size:2rem;font-weight:800;cursor:pointer;letter-spacing:.5px;padding:20px;font-family:JetBrains Mono,monospace;display:inline-flex;align-items:center}.brand-text{color:#f87171;text-shadow:0 0 6px rgba(248,113,113,.8),0 0 14px rgba(248,113,113,.6),0 0 26px rgba(248,113,113,.4)}.navbar-controls{display:flex;align-items:center;gap:14px;padding-right:30px}.navbar-select{background:#020617;color:#e5e7eb;border:1px solid #334155;padding:6px 10px;border-radius:6px;font-family:inherit;cursor:pointer}.navbar-select:focus{outline:none;border-color:#38bdf8}.navbar-auth-btn{padding:.55rem 1.6rem;border-radius:999px;font-size:.9rem;font-weight:600;cursor:pointer;border:none;background:linear-gradient(90deg,#38bdf8,#818cf8,#38bdf8);background-size:200% 100%;color:#000;transition:transform .25s ease,box-shadow .25s ease,background-position .6s ease}.navbar-auth-btn:hover{transform:translateY(-2px);background-position:100% 0;box-shadow:0 0 14px #38bdf8b3,0 0 30px #818cf880}.navbar-play{padding:.55rem 1.8rem;border-radius:999px;font-size:.9rem;font-weight:700;cursor:pointer;border:none;background:linear-gradient(90deg,#22d3ee,#38bdf8,#22d3ee);background-size:200% 100%;color:#000;transition:transform .25s ease,box-shadow .25s ease,background-position .6s ease}.navbar-play:hover{transform:translateY(-3px);background-position:100% 0;box-shadow:0 0 18px #22d3eee6,0 0 40px #38bdf899}.user-badge{width:32px;height:32px;border-radius:50%;background:#38bdf8;color:#000;display:flex;align-items:center;justify-content:center;font-weight:700}.user-email{font-size:.9rem;opacity:.85}.navbar-logout{background:transparent;border:1px solid rgba(255,255,255,.25);color:#e5e7eb;padding:.4rem .9rem;border-radius:999px;cursor:pointer;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.navbar-logout:hover{transform:translateY(-2px);border-color:#38bdf8;box-shadow:0 0 10px #38bdf866}.navbar-leaderboard{background:linear-gradient(90deg,#d4af37,#f7e0a1,#d4af37);border:1px solid rgba(255,255,255,.25);color:#000;padding:.4rem .9rem;border-radius:999px;cursor:pointer;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background-position .6s ease}.navbar-leaderboard:hover{transform:translateY(-2px);background-position:100% 0;border-color:#38bdf8;box-shadow:0 0 14px #38bdf8b3,0 0 30px #818cf880}.navbar-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:#020617d9;color:#e5e7eb;border:1px solid rgba(51,65,85,.9);padding:.55rem 2.4rem .55rem 1.1rem;border-radius:999px;font-size:.9rem;font-weight:650;letter-spacing:.2px;cursor:pointer;line-height:1;box-shadow:inset 0 0 0 1px #ffffff0a,0 0 #0000;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease}.navbar-select:hover{transform:translateY(-2px);border-color:#38bdf8e6;box-shadow:0 0 14px #38bdf840,0 0 26px #818cf82e,inset 0 0 0 1px #ffffff0d}.navbar-select:focus{outline:none;border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf833,0 0 18px #38bdf840,inset 0 0 0 1px #ffffff0f}.navbar-select option{background:#020617;color:#e5e7eb}.navbar-select{background-image:linear-gradient(45deg,transparent 50%,#94a3b8 50%),linear-gradient(135deg,#94a3b8 50%,transparent 50%),linear-gradient(to right,transparent,transparent);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px),100% 0;background-size:6px 6px,6px 6px,2.4rem 100%;background-repeat:no-repeat}.navbar-select{min-height:38px}.navbar-select{font-family:JetBrains Mono,monospace;text-transform:none;letter-spacing:.4px}.navbar-select{text-shadow:0 0 10px rgba(56,189,248,.18),0 0 20px rgba(129,140,248,.1)}.navbar-select{background-image:linear-gradient(to bottom,#ffffff0a,#fff0),linear-gradient(45deg,transparent 50%,#94a3b8 50%),linear-gradient(135deg,#94a3b8 50%,transparent 50%),linear-gradient(to right,transparent,transparent);background-position:0 0,calc(100% - 18px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px),100% 0;background-size:100% 100%,6px 6px,6px 6px,2.4rem 100%;background-repeat:no-repeat}.navbar-user-btn{display:inline-flex;align-items:center;gap:.75rem;background:#020617bf;border:1px solid rgba(51,65,85,.75);border-radius:999px;padding:.35rem .9rem .35rem .45rem;cursor:pointer;color:#e5e7eb;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease}.navbar-user-btn:hover{transform:translateY(-2px);border-color:#38bdf8f2;box-shadow:0 0 14px #38bdf838,0 0 28px #818cf81f,inset 0 0 0 1px #ffffff0d;background:#020617e6}.navbar-user-btn:active{transform:translateY(0) scale(.98)}.navbar-user-btn:focus{outline:none}.navbar-user-btn:focus-visible{box-shadow:0 0 0 3px #38bdf838,0 0 18px #38bdf840;border-color:#38bdf8}.navbar-user-btn:hover .user-badge{box-shadow:0 0 18px #38bdf859,0 0 28px #38bdf833}.navbar-user-btn .user-email{font-weight:650;letter-spacing:.2px;opacity:.92}.navbar-user{display:flex;align-items:center;gap:.8rem}.home{display:flex;flex-direction:column}.hero-section{padding:3rem 20%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}.hero-actions{margin-top:2.5rem;display:flex;align-items:center;justify-content:center;gap:3rem;flex-wrap:wrap}@keyframes blink{50%{opacity:0}}.tagline{font-size:1.2rem;opacity:.8}.language-carousel{position:relative;margin:2rem auto;width:200px;height:120px;border-radius:12px;background:#0f172a;display:flex;justify-content:center;align-items:center;box-shadow:0 0 20px var(--glow),inset 0 0 10px #ffffff0d;transition:all .4s ease}.language-icon svg{width:48px;height:48px}.language-name{position:absolute;bottom:10px;text-transform:uppercase;font-size:.75rem;letter-spacing:.15em;opacity:.85;pointer-events:none}.play-button{margin-top:2rem;align-self:center;font-size:1.2rem;padding:.9rem 2.5rem;border-radius:999px;border:none;cursor:pointer;background:linear-gradient(90deg,#38bdf8,#818cf8,#38bdf8);background-size:200% 100%;color:#000;font-weight:600;box-shadow:0 0 #38bdf800;transition:transform .25s ease,box-shadow .25s ease,background-position .6s ease}.play-button{background:linear-gradient(90deg,var(--accent),#ffffff,var(--accent));background-size:200% 100%;color:#000;box-shadow:0 0 12px var(--accent),0 0 30px #0003}.play-button:hover{transform:translateY(-2px);background-position:100% 0;box-shadow:0 0 12px #38bdf8cc,0 0 28px #818cf899}.info-section{padding:5rem 10%}.info-section.alt{background:#0f172a}.info-section h2{font-size:2.5rem;margin-bottom:2rem}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem}.step{background:#020617;padding:2rem;border-radius:12px}.step-num{font-size:.8rem;letter-spacing:.2em;opacity:.6}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;font-size:1.1rem}.typed-title{font-size:4rem;font-family:JetBrains Mono,monospace;display:inline-block;white-space:nowrap}.typed-text{color:#38bdf8;text-shadow:0 0 8px rgba(56,189,248,.8),0 0 18px rgba(56,189,248,.6),0 0 32px rgba(56,189,248,.4)}.cursor{display:inline-block;width:.6ch;height:1em;margin-left:4px;background:#38bdf8;vertical-align:baseline;box-shadow:0 0 8px #38bdf8e6,0 0 16px #38bdf8b3;animation:blink 1s steps(1) infinite}.carousel-arrow{outline:none;position:absolute;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;opacity:.4;transition:opacity .2s ease,transform .2s ease}.carousel-arrow:focus{outline:none}.carousel-arrow::-moz-focus-inner{border:0}.carousel-arrow:hover{opacity:1;transform:scale(1.2)}.carousel-arrow.left{left:12px}.carousel-arrow.right{right:12px}.language-carousel{position:relative}.userstats-root{min-height:100vh;width:100%;background:#020617;display:flex;justify-content:center;padding:3rem 1.5rem}.userstats-container{width:100%;max-width:1400px;min-width:320px;padding:0 2rem}.stats-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.stats-topbar h1{font-family:JetBrains Mono,monospace;color:#38bdf8;font-size:clamp(1.5rem,2vw,2.2rem)}.stats-topbar select{background:#0f172a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.5rem 1rem;border-radius:8px}.best-card{background:#0f172a;padding:1.5rem 2rem;border-radius:16px;margin-bottom:2.5rem;box-shadow:0 0 25px #38bdf826}.best-label{font-size:.7rem;letter-spacing:.15em;opacity:.6}.best-value{font-size:clamp(1.5rem,2vw,2rem);font-weight:700;color:#38bdf8;margin:.5rem 0}.best-meta{opacity:.7}.stats-chart-wrapper{height:clamp(250px,35vh,400px);width:100%;margin-bottom:3rem}.stats-table{background:#0f172a;border-radius:12px;overflow:hidden}.table-row{display:grid;grid-template-columns:80px 1fr 1fr 1fr 1fr;padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.05);transition:background .2s ease}.table-row:hover{background:#38bdf814}.empty-state{padding:2rem;text-align:center;opacity:.6}@media(max-width:900px){.userstats-container{padding:0 1rem}.table-row{grid-template-columns:repeat(2,1fr);row-gap:.5rem}}.charts-row{display:grid;grid-template-columns:2fr 1fr;gap:2rem;margin-bottom:3rem;align-items:stretch}.chart-wpm{height:420px}.chart-side{display:flex;flex-direction:column;gap:2rem}.chart-small{height:200px;min-height:180px}@media(max-width:1000px){.charts-row{grid-template-columns:1fr}.chart-wpm{height:350px}.chart-small{height:220px}}.account-card{background:#0f172a;border-radius:16px;margin-bottom:2rem;overflow:hidden;box-shadow:0 0 20px #38bdf814}.account-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;cursor:pointer;transition:background .2s ease}.account-header:hover{background:#38bdf80d}.account-header h2{color:#38bdf8;margin:0;font-size:1.4rem}.account-header p{margin:.2rem 0 0;opacity:.6;font-size:.85rem}.expand-icon{font-size:1.5rem;opacity:.6}.account-body{padding:1.5rem 2rem;border-top:1px solid rgba(255,255,255,.05)}.delete-btn{background:#dc262626;border:1px solid rgba(220,38,38,.5);color:#f87171;padding:.6rem 1.2rem;border-radius:8px;cursor:pointer;transition:all .2s ease}.delete-btn:hover{background:#dc262640}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-box{background:#0f172a;padding:2rem;border-radius:16px;width:350px;text-align:center;box-shadow:0 0 30px #0006}.modal-box h3{margin-bottom:1rem;color:#fff}.modal-box p{opacity:.7;margin-bottom:1.5rem}.modal-actions{display:flex;justify-content:space-between;gap:1rem}.cancel-btn{flex:1;background:#1e293b;border:none;padding:.6rem;border-radius:8px;color:#fff;cursor:pointer}.confirm-delete-btn{flex:1;background:#dc2626;border:none;padding:.6rem;border-radius:8px;color:#fff;cursor:pointer}.confirm-delete-btn:hover{background:#b91c1c}.leaderboard-page{background:#020617;color:#fff;padding:40px;min-height:100vh}.leaderboard-tabs{margin:20px 0}.leaderboard-tabs button{background:transparent;border:none;color:#94b8a7;margin-right:20px;font-weight:600;cursor:pointer}.leaderboard-tabs .active{color:#fff;border-bottom:2px solid #38bdf8}.leaderboard-row{display:flex;justify-content:space-between;padding:12px;background:#0e0b0b;margin-bottom:8px;border-radius:8px;transition:.2s ease}.leaderboard-row:hover{background:#1e293b}.rank{font-weight:700;color:#38bdf8}
