html,body,#root{height:100%}#root{display:flex;flex-direction:column}: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}}#root{width:100vw;margin:0 auto;text-align:center}html,body{overflow-x:hidden;color:#fff}.app-content{flex:1}.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}.page{max-width:900px;margin:80px auto;padding:0 20px;font-family:JetBrains Mono,monospace;line-height:1.7;color:#fff;text-align:left}.page h1{font-size:2.6rem;margin-bottom:1.5rem}.page p{opacity:.85;margin-bottom:1.3rem;font-size:1.2rem}.page h2{margin-top:2.5rem;margin-bottom:1rem}.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}.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}.home{display:flex;flex-direction:column;justify-content:center;color:#fff}.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}.tagline{font-size:1.2rem;opacity:.8;color:#fff}.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-section1{padding:5rem 10%}.info-section.alt{margin:100px;justify-content:center;align-items:center;align-content:center}.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:#040b27;padding:2rem;border-radius:12px}.step-num{font-size:.8rem;letter-spacing:.2em;opacity:.6}.info-heading{color:#889188}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.25rem;font-size:1.1rem;color:#f3fcf3;font-family:JetBrains Mono,monospace}.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:.55ch;height:.9em;margin-left:4px;background:#38bdf8;position:relative;top:2px;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}.why-section{padding:5rem 15%;text-align:center}.why-title{font-size:2.6rem;margin-bottom:1rem;font-family:JetBrains Mono,monospace}.why-description{max-width:700px;margin:0 auto 3rem;opacity:.8;line-height:1.6}.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:2rem;margin-bottom:3rem}.why-card{background:#040b27;padding:1.8rem;border-radius:12px;transition:transform .25s ease,box-shadow .25s ease}.why-card:hover{transform:translateY(-6px);box-shadow:0 0 20px #38bdf840,0 0 40px #818cf826}.why-card h3{margin-bottom:.6rem}.why-card p{opacity:.8;font-size:.9rem;line-height:1.5}.languages-supported{padding:5rem 10%;text-align:center}.languages-supported h2{font-size:2.3rem;margin-bottom:1rem}.languages-description{max-width:700px;margin:0 auto 3rem;opacity:.8}.language-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:2rem;max-width:900px;margin:auto}.language-card{background:#020617;border-radius:12px;padding:1.4rem;display:flex;flex-direction:column;align-items:center;gap:.6rem;border:1px solid rgba(255,255,255,.05);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;border-color:var(--accent)}.language-card:hover{transform:translateY(-6px);border-color:var(--accent);box-shadow:0 0 12px var(--accent),0 0 30px var(--accent)}.language-icon svg{width:36px;height:36px}.language-title{font-family:JetBrains Mono,monospace;font-size:.9rem;letter-spacing:.05em}.language-card{background:#020617;border-radius:12px;padding:1.4rem;display:flex;flex-direction:column;align-items:center;gap:.6rem;cursor:pointer;border:1px solid rgba(255,255,255,.06);box-shadow:0 0 6px var(--accent),0 0 14px #0009;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease}.language-card:hover{transform:translateY(-6px) scale(1.04);border-color:var(--accent);box-shadow:0 0 14px var(--accent),0 0 35px var(--accent),0 0 60px #ffffff14}.auto-hover{transform:translateY(-5px) scale(1.03);border-color:var(--accent);box-shadow:0 0 12px var(--accent),0 0 30px var(--accent)}.language-icon svg{width:36px;height:36px;filter:drop-shadow(0 0 4px var(--accent)) drop-shadow(0 0 10px var(--accent))}.language-card{cursor:pointer}.img-high{box-shadow:0 4px 8px #f4f4f433,0 6px 20px #00000030;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));border:2px solid #5b4c4c;margin:10px;padding:30px 10px 0 40px;border-radius:10px}.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}.footer{border-top:1px solid #1e293b;padding:40px 30px 20px;font-family:JetBrains Mono,monospace;background:#020617}.footer-content{display:flex;justify-content:space-between;flex-wrap:wrap;gap:40px}.footer-left{display:flex;flex-direction:column;align-items:flex-start}.footer-brand{font-size:1.4rem;font-weight:700;color:#f87171;margin-bottom:6px;text-shadow:0 0 6px rgba(248,113,113,.8),0 0 14px rgba(248,113,113,.6)}.footer-tag{color:#94a3b8;font-size:.85rem;max-width:fit-content}.footer-links{display:flex;gap:22px;flex-wrap:wrap}.footer-links a{cursor:pointer;color:#e5e7eb;font-size:.85rem;opacity:.8;transition:all .25s ease}.footer-links a:hover{color:#38bdf8;text-shadow:0 0 10px rgba(56,189,248,.6)}.footer-bottom{margin-top:30px;font-size:.75rem;color:#64748b;text-align:center}.blog-container{max-width:800px;margin:auto;padding:40px 20px;font-family:system-ui;line-height:1.7;text-align:left;color:#e5e7eb}.blog-container h1{font-size:2.4rem;margin-bottom:10px;color:#fff}.blog-container h2{margin-top:15px;font-size:1.8rem;color:#fff}.blog-container p{margin:15px 0;color:#d1d5db;font-size:1.2rem}.blog-container ul{margin-left:20px;margin-top:10px}.blog-container li{margin-bottom:6px}.tags span{display:inline-block;margin-right:10px;color:#60a5fa;font-weight:600}.cta{display:inline-block;margin-top:25px;background:#2563eb;color:#fff;padding:12px 20px;border-radius:6px;text-decoration:none;font-weight:700}.cta:hover{background:#fff;color:#2563eb}.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;scrollbar-width:none;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}@keyframes blink{50%{opacity:0}}.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;color:#d3d3d3}.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;color:#fff}.metric-label{font-size:.75rem;letter-spacing:.15em;opacity:.6;color:#fff}.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}*,*:before,*:after{box-sizing:border-box}html,body,#root{width:100%;min-width:0;height:auto;min-height:100%}:root{background:#020617;color-scheme:dark}body,#root{min-height:100vh}.navbar,.footer{flex-shrink:0}html,body{overflow-x:clip}a{color:#7dd3fc}a:hover{color:#bae6fd}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid #7dd3fc!important;outline-offset:4px}.skip-link{position:fixed;top:-100px;left:1rem;z-index:2000;padding:1rem;background:#020617}.skip-link:focus{top:1rem}.brand-label{font:1.5rem monospace;color:#38bdf8}.hero-section h1{font-size:clamp(2rem,5vw,3.5rem);max-width:18ch;margin:.5rem 0}.hero-section{padding:3rem max(1rem,8%)}.hero-actions{gap:1.5rem;margin-top:1rem}.play-button,a.navbar-auth-btn,a.navbar-leaderboard{display:inline-block;text-align:center}a.navbar-auth-btn,a.navbar-leaderboard{padding:.65rem 1rem}.img-high{display:block;max-width:100%;height:auto;padding:0;margin:1rem auto}.language-card{color:#e5e7eb;text-decoration:none}.language-title{overflow-wrap:anywhere}.practice-intro,.practice-content{width:min(900px,100%);margin:.7rem auto .5rem;padding:0 1.25rem;text-align:left;line-height:1.35}.practice-intro nav{font-size:.82rem}.practice-intro h1{font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.15;margin:.35rem 0}.practice-intro p{margin:.25rem 0;font-size:.92rem}.practice-instructions{color:#cbd5e1;font-size:.95rem}.practice-content h2{margin-top:2rem;font-size:1.5rem}.practice-example{padding:1rem;overflow-x:auto;background:#0f172a;border:1px solid #334155;border-radius:.5rem;font-size:.95rem}.practice-content li{margin:.65rem 0}.game-loading{min-height:12rem;display:grid;place-items:center}.game-contain,.game-page{min-width:0;width:100%}.game-page{max-width:1100px;height:calc(100vh - 175px);min-height:390px}.game-header{width:100%;gap:.75rem;align-items:center}.langs{display:flex;flex-wrap:wrap;gap:.4rem}.langs a{display:inline-flex;align-items:center;gap:.3rem;padding:.45rem;border-bottom:2px solid transparent;color:#e2e8f0}.langs a.active{border-color:#38bdf8}.code-container{width:100%;max-height:none;min-height:0;flex:1 1 auto;scrollbar-width:auto;cursor:text}.code-container .code{width:max-content;min-width:100%}.game-status{padding:1rem}.navbar{height:auto;min-height:56px;gap:.5rem;flex-wrap:wrap;padding-bottom:.5rem}.navbar-controls{flex-wrap:wrap;padding:.5rem 1rem;gap:.6rem}.navbar-brand{padding:.5rem 1rem}.navbar-user{flex-wrap:wrap}.navbar-user-btn{max-width:100%;overflow-wrap:anywhere}.auth-modal{width:min(440px,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow-y:auto;padding:3rem 1.5rem 1.5rem}.auth-form label{text-align:left}.endgame-panel{max-height:none;overflow:visible}.endgame-actions{flex-wrap:wrap}.leaderboard-scroll{overflow-x:auto}.leaderboard-table{width:100%;border-collapse:collapse;text-align:left}.leaderboard-table th,.leaderboard-table td{padding:.75rem;border-bottom:1px solid #334155}.leaderboard-table td,.page,.blog-container{overflow-wrap:anywhere}@media(max-width:600px){.navbar{position:static;justify-content:center}.navbar-brand{font-size:1.5rem}.navbar-controls{justify-content:center}.why-section,.info-section1,.languages-supported{padding:2rem 1rem}.why-title,.languages-supported h2{font-size:1.8rem}.why-grid,.steps{grid-template-columns:1fr}.language-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.language-card{padding:1rem .5rem}.game-header{padding:.75rem}.lang-text{font-size:.75rem}.code-container{padding:1rem}.code-container .code{font-size:16px}.leaderboard-page{padding:1rem}.page h1,.blog-container h1{font-size:2rem}.page{margin:2rem auto}.footer{padding:2rem 1rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.hero-actions{gap:2.5rem}.play-button{margin-top:1rem;font-size:1.2rem;padding:.9rem 2.5rem}.language-carousel{width:220px;height:130px}.language-carousel .language-icon svg{width:42px;height:42px}.language-carousel .language-name{bottom:9px;font-size:.72rem}.language-carousel .carousel-arrow{font-size:1.15rem;opacity:.65}.language-carousel .carousel-arrow.left{left:9px}.language-carousel .carousel-arrow.right{right:9px}.language-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1.25rem;max-width:950px}.language-card{padding:1.15rem .8rem}.language-card .language-icon svg{width:34px;height:34px}.language-title{font-size:.9rem;letter-spacing:.02em;white-space:nowrap}.game-header{width:100%;overflow:hidden}.langs{display:flex;flex:1 1 auto;min-width:0;flex-wrap:nowrap;gap:.1rem;overflow:hidden}.langs a{flex:1 1 0;min-width:0;justify-content:center;gap:.2rem;padding:.35rem .25rem;font-size:.78rem;white-space:nowrap;overflow:hidden}.langs a .lang-icon svg{width:22px;height:22px}.langs a .lang-text{font-size:.78rem}.race-progress{display:flex;flex:0 0 auto;align-items:center;gap:.55rem;margin-left:.65rem;white-space:nowrap;color:#cbd5e1;font-size:.82rem}.code-container{text-align:left}.code-container .code{width:max-content;min-width:0}.code-container{position:relative;isolation:isolate;border:1px solid rgba(56,189,248,.38);border-radius:12px;background:radial-gradient(circle at 50% 45%,rgba(20,83,75,.22),transparent 68%),#020b12;box-shadow:inset 0 0 28px #0e749033,inset 0 0 4px #7dd3fc59,0 0 18px #0891b21f}.code-container:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;background:repeating-linear-gradient(to bottom,rgba(125,211,252,.045) 0,rgba(125,211,252,.045) 1px,transparent 1px,transparent 4px);background-size:100% 8px;animation:crtScan 9s linear infinite}.code-wrapper{position:relative;z-index:1;width:max-content;margin:0 auto}.code-container .code{text-shadow:0 0 7px rgba(56,189,248,.18)}.code.syntax .token.comment,.code.syntax .token.prolog,.code.syntax .token.doctype,.code.syntax .token.cdata{color:#7f9f7f}.code.syntax .token.punctuation{color:#d8dee9}.code.syntax .token.property,.code.syntax .token.tag,.code.syntax .token.boolean,.code.syntax .token.number,.code.syntax .token.constant,.code.syntax .token.symbol{color:#f08d49}.code.syntax .token.selector,.code.syntax .token.attr-name,.code.syntax .token.string,.code.syntax .token.char,.code.syntax .token.builtin,.code.syntax .token.inserted{color:#a8d582}.code.syntax .token.operator,.code.syntax .token.entity,.code.syntax .token.url,.code.syntax .language-css .token.string,.code.syntax .style .token.string{color:#67cdcc}.code.syntax .token.atrule,.code.syntax .token.attr-value,.code.syntax .token.keyword{color:#c792ea}.code.syntax .token.function,.code.syntax .token.class-name{color:#82aaff}.code.syntax .token.regex,.code.syntax .token.important,.code.syntax .token.variable{color:#f78c6c}.wpm-indicator{transition:color .2s ease,text-shadow .2s ease}.wpm-indicator,.timer{display:inline-flex;align-items:baseline;min-height:2.1rem;padding:.28rem .55rem;border-radius:.5rem;font-size:1.08rem;font-weight:800;letter-spacing:.02em;background:#0f172ad9;border:1px solid rgba(148,163,184,.2)}.wpm-indicator:first-letter{font-size:1.12em}.wpm-low{color:#f87171}.wpm-warming{color:#facc15}.wpm-good{color:#4ade80;text-shadow:0 0 8px rgba(74,222,128,.65)}.wpm-excellent{color:#38bdf8;text-shadow:0 0 9px rgba(56,189,248,.8)}.timer{color:#facc15;text-shadow:0 0 7px rgba(250,204,21,.45);border-color:#facc1566}.percentile-card{margin:0 auto 2rem;padding:1rem 1.25rem 1.1rem;max-width:760px;border:1px solid rgba(56,189,248,.2);border-radius:12px;background:#0b1424}.percentile-heading{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;margin-bottom:2.25rem;color:#cbd5e1}.percentile-heading strong{color:#7dd3fc}.percentile-curve{position:relative;height:12px;border-radius:999px;background:linear-gradient(90deg,#f87171,#facc15 30%,#4ade80 62%,#38bdf8);box-shadow:0 0 12px #38bdf833}.percentile-curve:before{content:"";position:absolute;inset:-8px 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);border-radius:999px}.percentile-marker{position:absolute;top:-31px;height:51px;width:2px;transform:translate(-1px);background:#fff;box-shadow:0 0 9px #ffffffe6}.percentile-marker span{position:absolute;bottom:100%;left:50%;transform:translate(-50%);white-space:nowrap;color:#fff;font-size:.7rem;padding:.12rem .35rem;border-radius:.25rem;background:#172033;border:1px solid rgba(255,255,255,.25)}.percentile-labels{display:flex;justify-content:space-between;margin-top:.7rem;color:#94a3b8;font-size:.72rem}.percentile-card small{display:block;margin-top:.8rem;color:#64748b;font-size:.7rem}.code-container:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:#7dd3fc05;animation:crtFlicker 4s steps(2,end) infinite}@keyframes crtScan{to{background-position:0 8px}}@keyframes crtFlicker{50%{opacity:.65}}@media(max-width:700px){.practice-intro{margin-top:.5rem}.game-page{height:calc(100vh - 145px);min-height:330px}.game-header{padding:.65rem .5rem}.langs a{font-size:.68rem;padding-left:.15rem;padding-right:.15rem}.langs a .lang-icon svg{width:18px;height:18px}.langs a .lang-text{font-size:.68rem}.race-progress{gap:.3rem;margin-left:.25rem;font-size:.7rem}.wpm-indicator,.timer{min-height:1.8rem;padding:.2rem .35rem;font-size:.82rem}}
