.typing-test-wrapper{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;display:flex;justify-content:center;align-items:center;flex-grow:1;height:100vh;width:100vw;background-color:#121212;margin:0;padding:0;box-sizing:border-box}.typing-test{position:relative;max-width:1200px;margin:auto;padding:20px;text-align:center}@keyframes pulse{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.words-container{overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;white-space:normal;line-height:2.4rem;display:inline-block;max-width:100%;font-size:2em;color:#ffffff8f;-webkit-user-select:none;user-select:none;padding:60px}.words-container span{display:inline-block;min-height:1.3em;border-bottom:1px solid rgba(0,0,0,0)}.words-container .space{display:inline-block;width:.4em}.words-container .correct{color:#fff}.words-container .incorrect{color:#555454;border-bottom:1px solid rgba(184,184,184,.3)}.words-container .space.incorrect{border-bottom:none}.overlay{position:absolute;top:100%;left:50%;transform:translate(-50%);pointer-events:none;transition:opacity .4s ease;color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.overlay.visible{opacity:1;pointer-events:auto}.overlay .prompt{font-size:1.1rem;opacity:.5}.overlay .result{font-size:1.1rem;margin-bottom:8px}.results-summary{margin-top:1rem;text-align:center}.stats-row{display:flex;justify-content:center;gap:2rem;margin-bottom:.5rem}.words-container .current{position:relative}.cursor-jump:after{content:"";position:absolute;left:0;top:0;width:2px;height:100%;background:#fff;animation:jump .2s ease-in-out forwards}@keyframes jump{0%{transform:translateY(-10%);opacity:0}to{transform:translateY(0);opacity:1}}.cursor-underline-animated:after{content:"";position:absolute;bottom:-4px;left:0;width:100%;height:3px;background:#fff;animation:underline-slide .2s forwards}@keyframes underline-slide{0%{width:0%}to{width:100%}}.cursor-underline-static:after{content:"";position:absolute;bottom:-4px;left:0;width:100%;height:3px;background:#fff}.nav-links{list-style:none;display:flex;gap:24px;margin:0;padding:0}.typing-test-wrapper{padding:0}.settings-toggle{background:none;border:none;color:#ffffff5d;cursor:pointer;font-size:1rem;transition:color .2s}.settings-toggle:hover{background:none;border:none;color:#a78bfa;cursor:pointer;font-size:1rem}.settings-toggle:focus{outline:none;border:0px;border-radius:4px}.settings-panel{position:fixed;top:60px;right:50px;background:#121212;padding:1rem;border-radius:12px;border:1px solid #444;display:flex;flex-direction:column;gap:.8rem;z-index:999;box-shadow:0 0 10px #0000004d;width:max-content;min-width:260px}.settings-panel.visible{pointer-events:auto}.typing-test-wrapper{overflow-x:hidden}.settings-modal button{background-color:#1e1e1e;color:#a78bfa;border:1px solid #444;border-radius:10px;padding:.4rem .9rem;font-size:.9rem;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}.settings-modal button:hover{background-color:#2c2c2c;border-color:#a78bfa;color:#fff}.settings-modal button:focus{outline:none;border-color:#a78bfa;box-shadow:0 0 0 2px #a78bfa66}.settings-modal{position:fixed;top:80px;right:40px;background:#121212;padding:1rem;border-radius:12px;border:1px solid #444;box-shadow:0 0 10px #0000004d;width:max-content;min-width:280px;z-index:1000;display:flex;flex-direction:column;gap:1rem;font-family:system-ui,sans-serif}.settings-modal .setting-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.settings-modal label{color:#fff;font-size:.9rem;white-space:nowrap;flex-shrink:0}.settings-modal input[type=number]::-webkit-inner-spin-button,.settings-modal input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.settings-modal input[type=number]{-moz-appearance:textfield}.settings-modal input[type=number],.settings-modal select{flex-grow:1;padding:.5rem .75rem;background-color:#1e1e1e;color:#a78bfa;border:1px solid #444;border-radius:12px;font-size:.95rem;outline:none;transition:border-color .2s}.settings-modal input[type=checkbox]{margin-right:.5rem;accent-color:#a78bfa}.settings-modal input[type=number]:focus,.settings-modal select:focus{border-color:#a78bfa}.glow-text{font-size:1.1rem;background:linear-gradient(30deg,transparent,#a78bfa,transparent);background-size:200% auto;background-clip:text;-webkit-background-clip:text;color:transparent;animation:glow-slide 10s linear infinite}@keyframes glow-slide{0%{background-position:-200% 0}to{background-position:200% 0}}.goal-bar-container{height:20px;width:100%;max-width:200px;border:solid 1px rgba(255,255,255,.452);background-color:#fff0;border-radius:3px;overflow:hidden;position:relative}.goal-bar-container:hover{border:solid 1px #ffffff;background-color:#0000}.goal-bar-text:hover{color:#0000}.goal-bar{height:100%;background:linear-gradient(90deg,#ffffff34,#ffffff1e);transition:width .6s ease-in-out}.goal-bar-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#ffffff7e;font-size:.8rem;white-space:nowrap;pointer-events:none}@media (max-width: 768px){html,body{overflow-x:hidden}.settings-panel{transform:scale(.9);max-width:90vw;padding:10px;font-size:.85rem}.typing-test-wrapper{flex-direction:column;align-items:center;height:auto;padding:1rem;overflow-x:hidden;width:100%}.typing-test{width:100%;padding:10px;box-sizing:border-box}.words-container{font-size:1rem!important;line-height:1.8rem;padding:1rem!important;max-width:100%;overflow-wrap:break-word;word-break:break-word}.nav-links{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:1rem;width:100%;padding:0;margin:0}.header-controls{flex-direction:column;align-items:center;width:100%;gap:.5rem}.settings-modal{position:fixed;top:70px;left:5%;right:5%;width:90%;max-width:400px;min-width:auto;z-index:1000}.keyboard-row{flex-wrap:wrap;justify-content:center}.key{font-size:.75rem;padding:6px 10px;min-width:24px}.stats-row{flex-direction:column;gap:.5rem;align-items:center}.goal-bar-container{max-width:90%}.footer-bar{padding:1rem;text-align:center}.footer-text{font-size:.75rem;white-space:nowrap}.results-summary{padding:1rem}.overlay{transform:translate(-50%) translateY(10px)}}.keyboard{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center}.keyboard-row{display:flex;gap:4px}.key{padding:8px 14px;border:1px solid #444;background-color:#1e1e1e00;color:#fff;border-radius:6px;min-width:30px;text-align:center;font-size:.9rem;font-family:monospace}.key.pressed{color:#fff;transform:scale(1.05);border:1px solid rgb(255,255,255)}.theme1-q,.theme1-a,.theme1-z{background-color:#607b58!important}.theme1-w,.theme1-s,.theme1-x{background-color:#77772c!important}.theme1-e,.theme1-d,.theme1-c{background-color:#967830!important}.theme1-r,.theme1-f,.theme1-v,.theme1-t,.theme1-g,.theme1-b{background-color:#5b6d66!important}.theme1-y,.theme1-h,.theme1-n,.theme1-u,.theme1-j,.theme1-m{background-color:#825c67!important}.theme1-i,.theme1-k,.theme1-,.theme1-\,{background-color:#967830!important}.theme1-\.,.theme1-o,.theme1-l{background-color:#77772c!important}.theme1-\/,.theme1-\;,.theme1-p,.theme1-\[,.theme1-\',.theme1-\]{background-color:#607b58!important}@media (max-width: 768px){.keyboard{transform:scale(.8);width:100%}.keyboard-row{gap:3px}.key{font-size:.7rem;padding:6px 10px;min-width:0px;border-radius:4px}}.app-footer{width:100%;position:fixed;bottom:0;left:0;z-index:1000}.footer-link{text-decoration:none;color:inherit;cursor:pointer;transition:color .2s ease}.footer-link:hover{color:#a78bfa}.footer-bar{display:flex;justify-content:center;align-items:center;margin:0 auto}.footer-text{color:#ffffff5d;font-size:.8rem;text-align:center;transition:color .2s}.footer-text:hover{color:#a78bfa;font-size:.8rem;text-align:center}.header-controls{display:flex;align-items:center;gap:1rem;color:#ffffff5d}.login-container{display:flex;justify-content:center;align-items:center;height:100vh;width:100vw;background-color:#1e1e1e;color:#fff;padding:20px;box-sizing:border-box}.login-box{background-color:#111;padding:30px 40px;border-radius:16px;box-shadow:0 8px 24px #0000004d;width:100%;max-width:400px;text-align:center}.login-box input[type=email],.login-box input[type=password]{width:360px;padding:12px;margin:12px 0;background-color:#181818;border:1px solid #333;border-radius:6px;color:#fff;font-size:1rem}.login-box input[type=checkbox]{margin-right:8px}.checkbox{display:flex;justify-content:center;align-items:center;gap:6px;font-size:.9rem;margin:2px 0;color:#ccc;flex-wrap:wrap;text-align:center}.login-box input::placeholder{color:#ccc;opacity:1;text-align:center}.checkbox a{color:#4c8bf5;text-decoration:none}.checkbox a:hover{text-decoration:underline}.login-box button{width:390px;font-size:14px;height:40px;padding:12px;background-color:#3f51b5;color:#fff;font-weight:700;border:none;border-radius:6px;margin-top:12px;font-size:1rem;cursor:pointer;transition:background-color .3s ease;transition:color .3s ease}.login-box button:hover{background-color:#2c3e9a;transition:background-color .3s ease}.login-box .back-button{color:#ffffff85;background-color:#fff0}.login-box .back-button:hover{color:#fff;background-color:#0000}.toggle{margin-top:20px;font-size:.95rem;color:#ccc}.toggle span{color:#4c8bf5;cursor:pointer}.toggle span:hover{text-decoration:underline}.gsi-material-button{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;background-color:#131314;border:1px solid #747775;border-radius:4px;box-sizing:border-box;color:#e3e3e3;cursor:pointer;font-family:Roboto,arial,sans-serif;font-size:14px;height:40px;letter-spacing:.25px;outline:none;overflow:hidden;padding:0 12px;position:relative;text-align:center;transition:background-color .218s,border-color .218s,box-shadow .218s;vertical-align:middle;white-space:nowrap;width:auto;max-width:400px;min-width:min-content;border-color:#8e918f;margin-top:12px}.gsi-material-button .gsi-material-button-icon{height:20px;margin-right:12px;min-width:20px;width:20px}.gsi-material-button .gsi-material-button-content-wrapper{display:flex;align-items:center;flex-direction:row;flex-wrap:nowrap;height:100%;justify-content:center;position:relative;width:100%}.gsi-material-button .gsi-material-button-contents{flex-grow:0;font-weight:500;overflow:hidden;text-overflow:ellipsis;vertical-align:top}.gsi-material-button .gsi-material-button-state{transition:opacity .218s;bottom:0;left:0;opacity:0;position:absolute;right:0;top:0}.gsi-material-button:disabled{cursor:default;background-color:#13131461;border-color:#8e918f1f}.gsi-material-button:disabled .gsi-material-button-state{background-color:#e3e3e31f}.gsi-material-button:disabled .gsi-material-button-contents,.gsi-material-button:disabled .gsi-material-button-icon{opacity:38%}.gsi-material-button:not(:disabled):active .gsi-material-button-state,.gsi-material-button:not(:disabled):focus .gsi-material-button-state{background-color:#fff;opacity:12%}.gsi-material-button:not(:disabled):hover{box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}.gsi-material-button:not(:disabled):hover .gsi-material-button-state{background-color:#fff;opacity:8%}body,.dashboard{background:#121212!important;color:#fff;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif}.dashboard{min-height:100vh;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0;padding:0}.dashboard-panel{background:#0000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:16px;padding:20px;max-width:1200px;margin:0 auto;box-shadow:none;display:flex;flex-direction:column;align-items:stretch;gap:2rem;animation:dashboard-fade-in .7s cubic-bezier(.4,0,.2,1)}@keyframes dashboard-fade-in{0%{opacity:0;transform:translateY(40px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem;margin-bottom:1.5rem}.dashboard-card{background:#23232b;color:#fff;border-radius:12px;padding:20px 10px;display:flex;flex-direction:column;align-items:center;border:none;box-shadow:none;animation:card-fade-in .8s cubic-bezier(.4,0,.2,1)}.dashboard-card:hover{filter:brightness(1.08)}.card-title{font-size:1.1rem;color:#aeb8c4;margin-bottom:.5rem;font-weight:500}.card-value{font-size:2.1rem;font-weight:700;color:#fff}.dashboard-chart-section{background:#23232b;color:#fff;border-radius:12px;padding:20px 10px 10px;margin-bottom:1.5rem;box-shadow:none}.dashboard-chart-section h3{color:#fff;font-size:1.2rem;font-weight:600;text-align:center;margin-bottom:1rem}.dashboard-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem}.dashboard-btn{background:#23232b;color:#fff;border:none;border-radius:8px;padding:.8rem 2rem;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:none;transition:background .2s,filter .2s}.dashboard-btn:hover{filter:brightness(1.2)}.logout{color:#ffffff63;background-color:#f000}.logout:hover{color:#a78bfa}@media (max-width: 900px){.dashboard-panel{padding:10px 2px}.dashboard-cards{grid-template-columns:1fr 1fr;gap:1rem}.gh-heatmap{grid-template-columns:30px repeat(53,10px);grid-template-rows:16px repeat(7,10px)}.gh-heatmap-cell,.gh-heatmap-legend-box{width:10px;height:10px}}@media (max-width: 600px){.dashboard-panel{padding:4px .1rem;min-width:0}.dashboard-cards{grid-template-columns:1fr;gap:.7rem}.dashboard-card,.dashboard-chart-section{padding:10px 4px;min-width:0}.dashboard-actions{flex-direction:column;gap:.5rem;align-items:stretch}.heatmap-day{width:22px;height:22px;border-radius:4px}.heatmap-day-label{font-size:.65rem;margin-bottom:2px}.gh-heatmap{grid-template-columns:18px repeat(53,7px);grid-template-rows:12px repeat(7,7px);gap:1.5px}.gh-heatmap-cell,.gh-heatmap-legend-box{width:7px;height:7px;border-radius:2px}}.app-header{width:100%;position:fixed;top:0;left:0;z-index:1000}.header-user-link{color:#ffffff5d;font-size:1rem;text-decoration:none;transition:color .2s}.header-user-link:hover{color:#a78bfa;text-decoration:none}.nav-bar{display:flex;justify-content:space-between;align-items:center;padding:0 20px;max-width:1200px;margin:0 auto;flex-wrap:wrap;gap:1rem}.nav-links{list-style:none;display:flex;gap:24px;margin:0;padding:10px}.nav-links a{color:#ffffff5d;text-decoration:none;font-size:1rem;transition:color .2s}.nav-links a:hover{color:#a78bfa}@keyframes card-fade-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.gh-heatmap{display:grid;grid-template-columns:40px repeat(53,14px);grid-template-rows:20px repeat(7,14px);gap:3px;margin:24px 0 8px;align-items:center}.gh-heatmap-month{grid-row:1;font-size:.8rem;color:#aeb8c4;text-align:center;grid-column-end:span 4}.gh-heatmap-daylabel{grid-column:1;font-size:.7rem;color:#aeb8c4;text-align:right;padding-right:4px}.gh-heatmap-cell{width:14px;height:14px;border-radius:3px;background:#161b22;transition:background .2s;cursor:pointer;border:1px solid #222;box-sizing:border-box}.gh-heatmap-cell[data-level="1"]{background:#39d353}.gh-heatmap-cell[data-level="2"]{background:#26a641}.gh-heatmap-cell[data-level="3"]{background:#006d32}.gh-heatmap-cell[data-level="4"]{background:#003820}.gh-heatmap-cell[data-level="0"]{background:#161b22}.strike-day{border:1px solid rgb(255,255,255)!important}.gh-heatmap-legend{display:flex;align-items:center;gap:6px;font-size:.8rem;color:#aeb8c4;margin-top:8px}.gh-heatmap-legend-box{width:14px;height:14px;border-radius:3px;border:1px solid #00000000;display:inline-block}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;background-color:#121212;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;padding:0;height:100%;width:100%;justify-content:center;align-items:center;min-width:320px;display:flex;min-height:100vh}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}}
