@font-face{font-family:Oxanium;font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/oxanium-500.woff2) format("woff2")}@font-face{font-family:Oxanium;font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/oxanium-500.woff2) format("woff2")}@font-face{font-family:Oxanium;font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/oxanium-500.woff2) format("woff2")}@font-face{font-family:Oxanium;font-style:normal;font-weight:700;font-display:swap;src:url(../assets/fonts/oxanium-500.woff2) format("woff2")}@font-face{font-family:Rajdhani;font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/rajdhani-400.woff2) format("woff2")}@font-face{font-family:Rajdhani;font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/rajdhani-500.woff2) format("woff2")}@font-face{font-family:Rajdhani;font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/rajdhani-600.woff2) format("woff2")}@font-face{font-family:Rajdhani;font-style:normal;font-weight:700;font-display:swap;src:url(../assets/fonts/rajdhani-700.woff2) format("woff2")}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/nunitosans-700.woff2) format("woff2")}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/nunitosans-700.woff2) format("woff2")}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/nunitosans-700.woff2) format("woff2")}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../assets/fonts/nunitosans-700.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/ibmplexsans-400.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/ibmplexsans-400.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/ibmplexsans-400.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../assets/fonts/ibmplexsans-400.woff2) format("woff2")}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/manrope-500.woff2) format("woff2")}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/manrope-500.woff2) format("woff2")}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/manrope-500.woff2) format("woff2")}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../assets/fonts/manrope-500.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/spacegrotesk-600.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/spacegrotesk-600.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/spacegrotesk-600.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../assets/fonts/spacegrotesk-600.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/ibmplexmono-400.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/ibmplexmono-500.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/ibmplexmono-600.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../assets/fonts/ibmplexmono-700.woff2) format("woff2")}@font-face{font-family:Lora;font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/lora-700.woff2) format("woff2")}@font-face{font-family:Lora;font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/lora-700.woff2) format("woff2")}@font-face{font-family:Lora;font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/lora-700.woff2) format("woff2")}@font-face{font-family:Lora;font-style:normal;font-weight:700;font-display:swap;src:url(../assets/fonts/lora-700.woff2) format("woff2")}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;background:radial-gradient(circle at top,#141927 0,#05060a 40%,#000);color:#f5f5f5;display:flex;justify-content:center;align-items:stretch;overflow:hidden;overscroll-behavior:none}body.about-blur-page{position:relative;background:#01030a;background-color:#01030a}.about-backdrop{position:fixed;inset:0;z-index:0;background:radial-gradient(circle at 18% 18%,rgba(var(--abg1-r, 76),var(--abg1-g, 143),var(--abg1-b, 251),.3) 0%,transparent 42%),radial-gradient(circle at 82% 82%,rgba(var(--abg2-r, 123),var(--abg2-g, 92),var(--abg2-b, 255),.3) 0%,transparent 42%),#01030a;background-size:140% 140%,140% 140%,auto;background-position:18% 18%,82% 82%,center;animation:about-blob-move 55s ease-in-out infinite alternate;opacity:0;transition:opacity 2s ease;filter:blur(14px);overflow:hidden}.about-backdrop:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 18%,rgba(var(--abg1-next-r, 76),var(--abg1-next-g, 143),var(--abg1-next-b, 251),.3) 0%,transparent 42%),radial-gradient(circle at 82% 82%,rgba(var(--abg2-next-r, 123),var(--abg2-next-g, 92),var(--abg2-next-b, 255),.3) 0%,transparent 42%),#01030a;background-size:140% 140%,140% 140%,auto;background-position:18% 18%,82% 82%,center;animation:about-blob-move 55s ease-in-out infinite alternate;opacity:0;transition:opacity 3s ease;pointer-events:none;z-index:0}.about-backdrop.backdrop-reset:before{transition:none;opacity:0}.about-backdrop.backdrop-fading:before{opacity:1}.about-backdrop.visible{opacity:1}.about-backdrop:after{content:"";position:absolute;inset:0;background:#00000059;pointer-events:none;z-index:1}@keyframes about-blob-move{0%{background-position:18% 18%,82% 82%,center}25%{background-position:35% 12%,70% 78%,center}50%{background-position:60% 20%,40% 72%,center}75%{background-position:30% 55%,78% 28%,center}to{background-position:18% 82%,82% 18%,center}}body.theme-dark{background:radial-gradient(circle at top,#141927 0,#05060a 40%,#000);color:#f5f5f5}body.theme-light{background:#f5f5f5;color:#111}body.theme-neon{background:radial-gradient(circle at top,#2a0055 0,#120026 40%,#000);color:#f8faff}body.theme-light #text-target,body.theme-light #free-target{color:#111}body.theme-neon #text-target,body.theme-neon #free-target{color:#f8faff}body.bg-christmas{color:#f9fafb;position:relative;--christmas-overlay-top: rgba(10, 10, 10, .88);--christmas-overlay-bottom: rgba(10, 10, 10, .68)}body.bg-christmas:before{content:"";position:fixed;inset:0;background:linear-gradient(var(--christmas-overlay-top),var(--christmas-overlay-bottom));z-index:0;pointer-events:none}body.bg-christmas.christmas-style-gamer{background:url(../assets/christmasbkds/background1-still.webp) center/cover no-repeat fixed;--christmas-overlay-top: rgba(10, 10, 10, .88);--christmas-overlay-bottom: rgba(10, 10, 10, .68)}body.bg-christmas.christmas-style-fireside{background:url(../assets/christmasbkds/background2-still.webp) center/cover no-repeat fixed;--christmas-overlay-top: rgba(10, 6, 2, .9);--christmas-overlay-bottom: rgba(10, 6, 2, .7)}body.bg-christmas.christmas-style-town{background:url(../assets/christmasbkds/background3-still.webp) center/cover no-repeat fixed;--christmas-overlay-top: rgba(4, 6, 20, .9);--christmas-overlay-bottom: rgba(4, 6, 20, .7)}body.bg-christmas.christmas-style-bar{background:url(../assets/christmasbkds/background4-still.webp) center/cover no-repeat fixed;--christmas-overlay-top: rgba(8, 7, 10, .9);--christmas-overlay-bottom: rgba(8, 7, 10, .7)}body.bg-christmas.christmas-style-megolovania{background:url(../assets/christmasbkds/background5-still.webp) center/cover no-repeat fixed;--christmas-overlay-top: rgba(3, 7, 18, .92);--christmas-overlay-bottom: rgba(3, 7, 18, .75)}body.bg-christmas.christmas-style-cabin{background:url(../assets/christmasbkds/background6-still.webp) center/cover no-repeat fixed;--christmas-overlay-top: rgba(6, 9, 12, .9);--christmas-overlay-bottom: rgba(6, 9, 12, .7)}:root{--bg1: #4ade80;--bg2: #3b82f6;--topo-hue: 0deg;--topo-sat: 1;--topo-bright: 1;--topo-contrast: 1;--topo-tint: rgba(0, 0, 0, 0);--geo-color: #ef0e39;--geo-dark: #51070f;--liquid-base: #0b1020}body.bg-blur{background:radial-gradient(circle at 10% 0%,var(--bg1) 0,transparent 55%),radial-gradient(circle at 80% 100%,var(--bg2) 0,transparent 55%),#020617;background-position:10% 0%,80% 100%,50% 50%;background-size:160% 160%,160% 160%,auto;color:#f9fafb;animation:blob-move 32s ease-in-out infinite alternate}@keyframes blob-move{0%{background-position:0% 0%,100% 100%,50% 50%}25%{background-position:100% 0%,0% 100%,50% 50%}50%{background-position:50% 0%,100% 50%,50% 50%}75%{background-position:0% 50%,50% 100%,50% 50%}to{background-position:100% 100%,0% 0%,50% 50%}}body.bg-ocean{background:radial-gradient(circle at 52% 8%,rgba(255,255,255,.16) 0,rgba(255,255,255,.03) 24%,transparent 48%),radial-gradient(circle at 14% 20%,rgba(255,255,255,.12) 0,rgba(255,255,255,.02) 24%,transparent 52%),radial-gradient(circle at 86% 16%,rgba(255,255,255,.1) 0,rgba(255,255,255,.02) 22%,transparent 52%),linear-gradient(180deg,#b5e5ff,#67b6fa 26%,#0b4a82 60%,#02132c);color:#e8f6ff}body.bg-ocean #text-target,body.bg-ocean #free-target{color:#e8f6ff}body.bg-ocean #typing-container{text-shadow:0 10px 24px rgba(0,0,0,.35)}body.bg-ocean #app:before{content:"";position:fixed;inset:-14% -8% 0;pointer-events:none;background:linear-gradient(180deg,#ffffff8c,#fff0 58%),repeating-conic-gradient(from 180deg at 50% -12%,#ffffff85,#ffffff2e 6deg,#fff0 12deg 18deg),repeating-conic-gradient(from 176deg at 52% -14%,#ffffff5c,#ffffff24 5deg,#fff0 10deg 16deg);background-size:100% 100%,180% 180%,200% 200%;background-position:50% 0%,50% 0%,50% 0%;mix-blend-mode:screen;opacity:.88;filter:blur(7px);mask-image:linear-gradient(180deg,#000000fa,#0000 70%);-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.98) 0%,rgba(0,0,0,0) 70%);animation:ocean-rays 28s ease-in-out infinite;z-index:-2}@keyframes ocean-rays{0%{transform:translate3d(-.8%,.6%,0) rotate(-.35deg) scale(1.01);opacity:.48;background-position:50% 0%,50% 0%,50% 0%}35%{transform:translate3d(1%,-.8%,0) rotate(.25deg) scale(1.04);opacity:.9;background-position:50% 0%,46% -2%,54% -1%}70%{transform:translate3d(.4%,-1.2%,0) rotate(.1deg) scale(1.02);opacity:.7;background-position:50% 0%,48% -3%,52% -2%}to{transform:translate3d(-.7%,-1.6%,0) rotate(-.3deg) scale(1.01);opacity:.58;background-position:50% 0%,44% -4%,56% -3%}}body.bg-ocean:before,body.bg-ocean:after{content:"";position:fixed;top:-22%;bottom:-22%;width:150px;pointer-events:none;background-repeat:repeat-y;background-size:150px 520px;mix-blend-mode:screen;filter:drop-shadow(0 0 10px rgba(255,255,255,.4)) drop-shadow(0 0 20px rgba(14,165,233,.24));z-index:-1}body.bg-ocean:before{left:4.5vw;background-image:radial-gradient(18px 18px at 28px 44px,rgba(255,255,255,0) 0%,rgba(255,255,255,.03) 38%,rgba(186,230,253,.2) 52%,rgba(255,255,255,.38) 60%,rgba(255,255,255,.1) 72%,transparent 82%),radial-gradient(6px 6px at 20px 36px,#ffffff52 0,#fff0 70%),radial-gradient(12px 12px at 98px 82px,rgba(255,255,255,0) 0%,rgba(255,255,255,.02) 40%,rgba(186,230,253,.16) 52%,rgba(255,255,255,.28) 60%,rgba(255,255,255,.08) 70%,transparent 80%),radial-gradient(7px 7px at 62px 150px,rgba(255,255,255,0) 0%,rgba(255,255,255,.02) 42%,rgba(186,230,253,.18) 54%,rgba(255,255,255,.3) 62%,rgba(255,255,255,.08) 72%,transparent 82%),radial-gradient(14px 14px at 44px 226px,rgba(255,255,255,0) 0%,rgba(255,255,255,.02) 40%,rgba(186,230,253,.16) 52%,rgba(255,255,255,.32) 60%,rgba(255,255,255,.08) 72%,transparent 82%),radial-gradient(9px 9px at 120px 270px,rgba(255,255,255,0) 0%,rgba(255,255,255,.02) 40%,rgba(186,230,253,.18) 52%,rgba(255,255,255,.3) 60%,rgba(255,255,255,.08) 72%,transparent 82%),radial-gradient(6px 6px at 86px 332px,rgba(255,255,255,0) 0%,rgba(255,255,255,.02) 42%,rgba(186,230,253,.16) 54%,rgba(255,255,255,.26) 62%,rgba(255,255,255,.08) 72%,transparent 82%),radial-gradient(16px 16px at 34px 390px,rgba(255,255,255,0) 0%,rgba(255,255,255,.02) 38%,rgba(186,230,253,.14) 52%,rgba(255,255,255,.28) 60%,rgba(255,255,255,.08) 72%,transparent 82%),radial-gradient(5px 5px at 28px 382px,#ffffff47 0,#fff0 70%),radial-gradient(11px 11px at 112px 440px,rgba(255,255,255,0) 0%,rgba(255,255,255,.02) 40%,rgba(186,230,253,.16) 52%,rgba(255,255,255,.3) 60%,rgba(255,255,255,.08) 72%,transparent 82%),radial-gradient(8px 8px at 70px 500px,rgba(255,255,255,0) 0%,rgba(255,255,255,.02) 40%,rgba(186,230,253,.16) 52%,rgba(255,255,255,.28) 60%,rgba(255,255,255,.08) 72%,transparent 82%);animation:ocean-bubbles-left 15s linear infinite,ocean-bubble-sway 9s ease-in-out infinite alternate;opacity:.95}body.bg-ocean:after{right:4.5vw;background-image:radial-gradient(17px 17px at 118px 30px,rgba(255,255,255,0) 0%,rgba(255,255,255,.03) 38%,rgba(186,230,253,.2) 52%,rgba(255,255,255,.34) 60%,rgba(255,255,255,.1) 72%,transparent 82%),radial-gradient(5px 5px at 108px 22px,#ffffff4d 0,#fff0 70%),radial-gradient(8px 8px at 36px 90px,rgba(255,255,255,0) 0%,rgba(255,255,255,.02) 40%,rgba(186,230,253,.18) 52%,rgba(255,255,255,.3) 60%,rgba(255,255,255,.08) 72%,transparent 82%),radial-gradient(13px 13px at 84px 146px,rgba(255,255,255,0) 0%,rgba(255,255,255,.02) 40%,rgba(186,230,253,.18) 52%,rgba(255,255,255,.3) 60%,rgba(255,255,255,.08) 72%,transparent 82%),radial-gradient(10px 10px at 44px 210px,rgba(255,255,255,0) 0%,rgba(255,255,255,.02) 40%,rgba(186,230,253,.18) 52%,rgba(255,255,255,.32) 60%,rgba(255,255,255,.08) 72%,transparent 82%),radial-gradient(6px 6px at 96px 254px,rgba(255,255,255,0) 0%,rgba(255,255,255,.02) 42%,rgba(186,230,253,.16) 54%,rgba(255,255,255,.28) 62%,rgba(255,255,255,.08) 72%,transparent 82%),radial-gradient(14px 14px at 120px 312px,rgba(255,255,255,0) 0%,rgba(255,255,255,.02) 40%,rgba(186,230,253,.16) 52%,rgba(255,255,255,.3) 60%,rgba(255,255,255,.08) 72%,transparent 82%),radial-gradient(9px 9px at 70px 360px,rgba(255,255,255,0) 0%,rgba(255,255,255,.02) 40%,rgba(186,230,253,.16) 52%,rgba(255,255,255,.28) 60%,rgba(255,255,255,.08) 72%,transparent 82%),radial-gradient(7px 7px at 36px 422px,rgba(255,255,255,0) 0%,rgba(255,255,255,.02) 42%,rgba(186,230,253,.16) 54%,rgba(255,255,255,.28) 62%,rgba(255,255,255,.08) 72%,transparent 82%),radial-gradient(18px 18px at 104px 488px,rgba(255,255,255,0) 0%,rgba(255,255,255,.02) 38%,rgba(186,230,253,.14) 52%,rgba(255,255,255,.28) 60%,rgba(255,255,255,.08) 72%,transparent 82%),radial-gradient(6px 6px at 58px 520px,rgba(255,255,255,0) 0%,rgba(255,255,255,.02) 42%,rgba(186,230,253,.16) 54%,rgba(255,255,255,.28) 62%,rgba(255,255,255,.08) 72%,transparent 82%);animation:ocean-bubbles-right 18s linear infinite,ocean-bubble-sway 11s ease-in-out infinite alternate-reverse;opacity:.88}body.bg-ocean #app:after{content:"";position:fixed;inset:-28% 0;margin:0 auto;max-width:1400px;pointer-events:none;background-repeat:repeat-y;background-size:220px 640px;background-position:12% 0,88% -120px,18% -260px,82% -460px,50% -640px;background-image:radial-gradient(28px 28px at 10% 80px,rgba(255,255,255,0) 0%,rgba(255,255,255,.02) 38%,rgba(186,230,253,.08) 52%,rgba(255,255,255,.16) 60%,rgba(255,255,255,.05) 70%,transparent 80%),radial-gradient(22px 22px at 90% 180px,rgba(255,255,255,0) 0%,rgba(255,255,255,.02) 40%,rgba(186,230,253,.07) 52%,rgba(255,255,255,.14) 60%,rgba(255,255,255,.05) 70%,transparent 80%),radial-gradient(18px 18px at 20% 320px,rgba(255,255,255,0) 0%,rgba(255,255,255,.02) 40%,rgba(186,230,253,.06) 52%,rgba(255,255,255,.12) 60%,rgba(255,255,255,.04) 70%,transparent 80%),radial-gradient(24px 24px at 82% 460px,rgba(255,255,255,0) 0%,rgba(255,255,255,.02) 38%,rgba(186,230,253,.08) 52%,rgba(255,255,255,.16) 60%,rgba(255,255,255,.05) 70%,transparent 80%),radial-gradient(20px 20px at 42% 560px,rgba(255,255,255,0) 0%,rgba(255,255,255,.02) 40%,rgba(186,230,253,.06) 52%,rgba(255,255,255,.12) 60%,rgba(255,255,255,.04) 70%,transparent 80%);filter:blur(8px);mix-blend-mode:screen;opacity:.92;animation:ocean-bubbles-soft 24s linear infinite;z-index:-3}@keyframes ocean-bubbles-left{0%{background-position:center 0}to{background-position:center -520px}}@keyframes ocean-bubbles-right{0%{background-position:center -140px}to{background-position:center -660px}}@keyframes ocean-bubbles-soft{0%{background-position:12% 0,88% -120px,18% -260px,82% -460px,50% -640px}to{background-position:12% -640px,88% -760px,18% -900px,82% -1100px,50% -1280px}}@keyframes ocean-bubble-sway{0%{transform:translate(-8px)}to{transform:translate(8px)}}.snow-container{position:fixed;inset:0;overflow:hidden;z-index:-1;pointer-events:none;display:none}body.bg-christmas .snow-container{display:block}.snow{display:block;position:absolute;z-index:2;inset:0;pointer-events:none;transform:translate3d(0,-100%,0);animation:snow linear infinite;background-repeat:repeat;background-size:640px 640px}.snow.foreground{background-image:url(https://dl6rt3mwcjzxg.cloudfront.net/assets/snow/snow-large-075d267ecbc42e3564c8ed43516dd557.png);animation-duration:15s}.snow.foreground.layered{animation-delay:7.5s}.snow.middleground{background-image:url(https://dl6rt3mwcjzxg.cloudfront.net/assets/snow/snow-medium-0b8a5e0732315b68e1f54185be7a1ad9.png);animation-duration:20s}.snow.middleground.layered{animation-delay:10s}.snow.background{background-image:url(https://dl6rt3mwcjzxg.cloudfront.net/assets/snow/snow-small-1ecd03b1fce08c24e064ff8c0a72c519.png);animation-duration:30s}.snow.background.layered{animation-delay:15s}@keyframes snow{0%{transform:translate3d(0,-100%,0)}to{transform:translate3d(15%,100%,0)}}body.bg-ocean.ocean-style-surface{background:#000;color:#f8fafc}body.bg-ocean.ocean-style-surface:before,body.bg-ocean.ocean-style-surface:after,body.bg-ocean.ocean-style-surface #app:before,body.bg-ocean.ocean-style-surface #app:after{opacity:0;animation:none;background:none}.ocean-surface-canvas{display:none}body.bg-ocean.ocean-style-surface .ocean-surface-canvas{display:block;position:fixed;inset:0;z-index:0;pointer-events:none}.scroll-container,#ocean-surface-settings{display:none;margin-top:1.5rem}body.bg-ocean.ocean-style-surface #ocean-surface-settings{display:block}body.bg-neon{background:radial-gradient(circle at top,#020617 0,#000 65%);color:#f9fafb}body.bg-neon:before,body.bg-neon:after{content:"";position:fixed;top:-2px;bottom:-2px;width:90px;pointer-events:none;z-index:-1;background-repeat:repeat-y;background-size:100% 720px;background-position:center 0;background-image:url(../assets/neon/rail-multicolor.svg);filter:drop-shadow(0 0 12px rgba(56,189,248,.85)) drop-shadow(0 0 26px rgba(244,114,182,.9)) drop-shadow(0 0 40px rgba(129,140,248,.95));animation:neonSnakeFlow 9s linear infinite,neonSway 6s ease-in-out infinite,neonLineHue 18s linear infinite;opacity:.98}body.bg-neon:before{left:6vw}body.bg-neon:after{right:6vw}@keyframes neonSnakeFlow{0%{background-position:center 0}to{background-position:center -720px}}@keyframes neonSway{0%,to{transform:translate3d(-6px,0,0)}50%{transform:translate3d(6px,0,0)}}@keyframes neonLineHue{0%{filter:blur(1px) hue-rotate(0deg)}to{filter:blur(1px) hue-rotate(360deg)}}body.bg-neon.neon-style-multicolor:before,body.bg-neon.neon-style-multicolor:after{animation:neonSnakeFlow 9s linear infinite,neonSway 6s ease-in-out infinite,neonLineHue 18s linear infinite;filter:drop-shadow(0 0 12px rgba(56,189,248,.85)) drop-shadow(0 0 26px rgba(244,114,182,.9)) drop-shadow(0 0 40px rgba(129,140,248,.95))}body.bg-neon.neon-style-multicolor .char.correct{background-image:linear-gradient(120deg,#22d3ee,#a855f7,#f97316,#22d3ee);background-size:260% 260%;background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:0 0 8px rgba(56,189,248,.9),0 0 22px rgba(244,114,182,.9)}body.bg-neon.neon-style-red:before,body.bg-neon.neon-style-red:after{background-image:url(../assets/neon/rail-red.svg);animation:neonSnakeFlow 9s linear infinite,neonSway 6s ease-in-out infinite;filter:drop-shadow(0 0 14px rgba(248,113,113,.95)) drop-shadow(0 0 32px rgba(220,38,38,.98))}body.bg-neon.neon-style-red .char.correct{background-image:linear-gradient(120deg,#fee2e2,#fca5a5,#ef4444,#b91c1c,#fee2e2);background-size:260% 260%;background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:0 0 10px rgba(248,113,113,.95),0 0 26px rgba(220,38,38,.98)}body.bg-neon.neon-style-red .char.incorrect{text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.15em}body.bg-neon.neon-style-blue:before,body.bg-neon.neon-style-blue:after{background-image:url(../assets/neon/rail-blue.svg);animation:neonSnakeFlow 9s linear infinite,neonSway 6s ease-in-out infinite;filter:drop-shadow(0 0 14px rgba(59,130,246,.95)) drop-shadow(0 0 32px rgba(37,99,235,.98))}body.bg-neon.neon-style-blue .char.correct{background-image:linear-gradient(120deg,#bfdbfe,#60a5fa,#1d4ed8,#bfdbfe);background-size:260% 260%;background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:0 0 10px rgba(59,130,246,.95),0 0 26px rgba(37,99,235,.98)}body.bg-neon.neon-style-green:before,body.bg-neon.neon-style-green:after{background-image:url(../assets/neon/rail-green.svg);animation:neonSnakeFlow 9s linear infinite,neonSway 6s ease-in-out infinite;filter:drop-shadow(0 0 14px rgba(74,222,128,.95)) drop-shadow(0 0 32px rgba(22,163,74,.98))}body.bg-neon.neon-style-green .char.correct{background-image:linear-gradient(120deg,#bbf7d0,#4ade80,#16a34a,#bbf7d0);background-size:260% 260%;background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:0 0 10px rgba(74,222,128,.95),0 0 26px rgba(22,163,74,.98)}body.bg-neon.neon-style-pink:before,body.bg-neon.neon-style-pink:after{background-image:url(../assets/neon/rail-pink.svg);animation:neonSnakeFlow 9s linear infinite,neonSway 6s ease-in-out infinite;filter:drop-shadow(0 0 14px rgba(244,114,182,.95)) drop-shadow(0 0 32px rgba(219,39,119,.98))}body.bg-neon.neon-style-pink .char.correct{background-image:linear-gradient(120deg,#f9a8d4,#ec4899,#db2777,#f9a8d4);background-size:260% 260%;background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:0 0 10px rgba(244,114,182,.95),0 0 26px rgba(219,39,119,.98)}body.bg-neon.neon-style-yellow:before,body.bg-neon.neon-style-yellow:after{background-image:url(../assets/neon/rail-yellow.svg);animation:neonSnakeFlow 9s linear infinite,neonSway 6s ease-in-out infinite;filter:drop-shadow(0 0 14px rgba(250,204,21,.95)) drop-shadow(0 0 32px rgba(202,138,4,.98))}body.bg-neon.neon-style-yellow .char.correct{background-image:linear-gradient(120deg,#fef9c3,#facc15,#eab308,#fef9c3);background-size:260% 260%;background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:0 0 10px rgba(250,204,21,.95),0 0 26px rgba(202,138,4,.98)}body.bg-neon.neon-style-purple:before,body.bg-neon.neon-style-purple:after{background-image:url(../assets/neon/rail-purple.svg);animation:neonSnakeFlow 9s linear infinite,neonSway 6s ease-in-out infinite;filter:drop-shadow(0 0 14px rgba(168,85,247,.95)) drop-shadow(0 0 32px rgba(109,40,217,.98))}body.bg-neon.neon-style-purple .char.correct{background-image:linear-gradient(120deg,#e9d5ff,#a855f7,#7c3aed,#e9d5ff);background-size:260% 260%;background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:0 0 10px rgba(168,85,247,.95),0 0 26px rgba(109,40,217,.98)}body.bg-neon.neon-style-techno:before,body.bg-neon.neon-style-techno:after{background-image:url(../assets/neon/rail-techno.svg);animation:neonSnakeFlow 6s linear infinite,neonSway 4s ease-in-out infinite,neonLineHue 4s linear infinite;filter:drop-shadow(0 0 18px rgba(56,189,248,1)) drop-shadow(0 0 32px rgba(244,114,182,1)) drop-shadow(0 0 52px rgba(45,212,191,1))}@keyframes technoStepColor{0%{color:#22d3ee;text-shadow:0 0 8px rgba(56,189,248,.9),0 0 22px rgba(56,189,248,.9)}16.7%{color:#a855f7;text-shadow:0 0 8px rgba(168,85,247,.9),0 0 22px rgba(168,85,247,.9)}33.4%{color:#22c55e;text-shadow:0 0 8px rgba(34,197,94,.9),0 0 22px rgba(34,197,94,.9)}50.1%{color:#eab308;text-shadow:0 0 8px rgba(234,179,8,.9),0 0 22px rgba(234,179,8,.9)}66.8%{color:#f97316;text-shadow:0 0 8px rgba(249,115,22,.9),0 0 22px rgba(249,115,22,.9)}83.5%,to{color:#ec4899;text-shadow:0 0 8px rgba(236,72,153,.9),0 0 22px rgba(236,72,153,.9)}}body.bg-neon.neon-style-techno .char.correct{opacity:1;background-image:none;background-clip:border-box;-webkit-background-clip:border-box;color:#22d3ee;text-shadow:0 0 8px rgba(56,189,248,.9),0 0 22px rgba(244,114,182,.9);animation:technoStepColor 3s steps(6,end) infinite}body.bg-neon.neon-style-techno .line .char.correct:nth-child(3n){animation-delay:0s}body.bg-neon.neon-style-techno .line .char.correct:nth-child(3n+1){animation-delay:.15s}body.bg-neon.neon-style-techno .line .char.correct:nth-child(3n+2){animation-delay:.3s}body.bg-neon.neon-style-techno #free-target .char.correct:nth-child(3n){animation-delay:0s}body.bg-neon.neon-style-techno #free-target .char.correct:nth-child(3n+1){animation-delay:.15s}body.bg-neon.neon-style-techno #free-target .char.correct:nth-child(3n+2){animation-delay:.3s}body.bg-nebula{background:url(../assets/nebula-low.jpg) center/cover no-repeat fixed;background-color:#040b18;position:relative;--nebula-speed-mult: 1}body.bg-nebula:before,body.bg-nebula #app:before,body.bg-nebula #app:after{content:none}#stars,#stars2,#stars3{position:fixed;inset:0;display:none;pointer-events:none;transform:translateZ(0);animation:none;z-index:-4;background:transparent;will-change:transform}body.bg-nebula #stars,body.bg-nebula #stars2,body.bg-nebula #stars3{display:block}#stars{width:1px;height:1px;box-shadow:var(--nebula-stars-small, none)}#stars:after{content:"";position:absolute;top:var(--nebula-tile-height, 2000px);width:1px;height:1px;box-shadow:var(--nebula-stars-small, none)}#stars2{width:2px;height:2px;box-shadow:var(--nebula-stars-medium, none)}#stars2:after{content:"";position:absolute;top:var(--nebula-tile-height, 2000px);width:2px;height:2px;box-shadow:var(--nebula-stars-medium, none)}#stars3{width:3px;height:3px;box-shadow:var(--nebula-stars-big, none)}#stars3:after{content:"";position:absolute;top:var(--nebula-tile-height, 2000px);width:3px;height:3px;box-shadow:var(--nebula-stars-big, none)}#webGLApp{position:fixed;inset:0;width:100%;height:100%;z-index:-6;pointer-events:none;opacity:0;transition:opacity .6s ease;background:var(--liquid-base)}body.bg-liquid-gradient{background:var(--liquid-base);color:#f8fafc}body.bg-liquid-gradient #webGLApp{opacity:1}@media(prefers-reduced-motion:reduce){#webGLApp{transition:none}}#geometric-bg{position:fixed;inset:0;z-index:-6;pointer-events:none;opacity:0;transition:opacity .6s ease;overflow:hidden}#geometric-bg svg{width:100%;height:100%;display:block}body.bg-geometric{background:radial-gradient(ellipse at center,var(--geo-color) 0%,var(--geo-dark) 100%);color:#f8fafc}body.bg-geometric #geometric-bg{opacity:1}@media(prefers-reduced-motion:reduce){#geometric-bg{transition:none}}#nebula-hires-layer{position:fixed;inset:0;z-index:-6;pointer-events:none;opacity:0;transition:opacity 1.2s ease;background:none}body.bg-nebula #nebula-hires-layer{background:url(../assets/nebula.webp) center/cover no-repeat fixed}body.bg-nebula.nebula-hires-ready #nebula-hires-layer{opacity:1}@media(prefers-reduced-motion:reduce){#nebula-hires-layer{transition:none}}body.bg-topograph{background:#020617;color:#f8fafc}#topograph-video-wrapper{position:fixed;inset:0;z-index:-6;pointer-events:none;opacity:0;transition:opacity .6s ease;background:#020617;overflow:hidden}body.bg-topograph #topograph-video-wrapper{opacity:1}#topograph-video{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.02);filter:hue-rotate(var(--topo-hue)) saturate(var(--topo-sat)) brightness(var(--topo-bright)) contrast(var(--topo-contrast))}#topograph-video-wrapper:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#020617a6,#02061759),radial-gradient(circle at 20% 15%,var(--topo-tint),transparent 60%);pointer-events:none}#bg-fade-layer{position:fixed;inset:0;z-index:0;background:#020617;opacity:0;pointer-events:none;transition:opacity .45s ease}#bg-fade-layer.is-visible{opacity:1}@media(prefers-reduced-motion:reduce){#bg-fade-layer{transition:none}}body.bg-rainy{background:#020617;color:#f9fafb}#rainy-frame-wrapper{position:fixed;inset:0;z-index:-5;pointer-events:none;opacity:0;transition:opacity .6s ease}body.bg-rainy #rainy-frame-wrapper{opacity:1}#rainy-frame-wrapper iframe{width:100%;height:100%;border:0;display:block}body.bg-nebula:before{content:"";position:fixed;top:50%;left:50%;width:2.2px;height:2.2px;pointer-events:none;background-color:#eef4ffeb;border-radius:50%;z-index:-3;box-shadow:24vw 9vh 1px #fff,12vw -24vh 0 1px #fff,-45vw -22vh #fff,-37vw -40vh 0 1px #fff,29vw 19vh 0 1px #fff,4vw -8vh 0 1px #fff,-5vw 21vh 1px 1px #fff,-27vw 26vh 1px 1px #fff,-47vw -3vh 1px 1px #fff,-28vw -30vh 0 1px #fff,-43vw -27vh 0 1px #fff,4vw 22vh 1px 1px #fff,36vw 23vh #fff,-21vw 24vh 1px 1px #fff,-16vw 2vh 1px #fff,-16vw -6vh #fff,5vw 26vh #fff,-34vw 41vh #fff,1vw 42vh 1px 1px #fff,11vw -13vh 1px 1px #fff,48vw -8vh 1px #fff,22vw -15vh #fff,45vw 49vh #fff,43vw -27vh 1px 1px #fff,20vw -2vh #fff,8vw 22vh 0 1px #fff,39vw 48vh 1px 1px #fff,-21vw -11vh 0 1px #fff,-40vw 45vh 0 1px #fff,11vw -30vh 1px #fff,26vw 30vh 1px #fff,45vw -29vh 0 1px #fff,-2vw 18vh #fff,-29vw -45vh 1px #fff,-7vw -27vh 1px 1px #fff,42vw 24vh #fff,45vw -48vh 1px #fff,-36vw -18vh #fff,-44vw 13vh 0 1px #fff,36vw 16vh 0 1px #fff,40vw 24vh #fff,18vw 11vh #fff,-15vw -23vh 1px #fff,-24vw 48vh 0 1px #fff,27vw -45vh 1px #fff,-2vw -24vh 0 1px #fff,-15vw -28vh #fff,-43vw 13vh 1px #fff,7vw 27vh 1px #fff,47vw 5vh #fff,-45vw 15vh 1px 1px #fff,-5vw -28vh 0 1px #fff,38vw 25vh 1px 1px #fff,-39vw -1vh 1px #fff,5vw 0 1px #fff,49vw 13vh #fff,48vw 10vh 0 1px #fff,19vw -28vh #fff,4vw 7vh #fff,21vw 21vh 1px 1px #fff,-15vw -15vh 0 1px #fff,-6vw -42vh 1px #fff,-15vw 48vh 1px 1px #fff,-23vw 25vh 1px 1px #fff,-48vw 25vh 0 1px #fff,-31vw -19vh 0 1px #fff,4vw 37vh 1px 1px #fff,-43vw 28vh #fff,3vw -25vh 0 1px #fff,-39vw 14vh 0 1px #fff,-40vw 31vh 0 1px #fff,35vw -36vh 1px 1px #fff,16vw 49vh #fff,6vw 39vh #fff,3vw -35vh 0 1px #fff,-44vw -2vh 1px #fff,-6vw 21vh 1px #fff,48vw 9vh 1px 1px #fff,-43vw 30vh 1px 1px #fff,29vw -12vh 1px 1px #fff,-48vw 13vh 1px #fff,-42vw 32vh 1px 1px #fff,34vw 15vh 1px 1px #fff,29vw -37vh 1px 1px #fff,28vw 2vh #fff;transform:translate(calc(-50% + 8vw),calc(-50% + var(--star-offset-a, 0px))) scale(1.08);opacity:.92;filter:drop-shadow(0 0 2px rgba(140,170,255,.25));will-change:transform;mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 88%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 88%,transparent 100%)}body.bg-nebula #app:before{content:"";position:fixed;top:50%;left:50%;width:1.6px;height:1.6px;pointer-events:none;background-color:#d0dcffe0;border-radius:50%;z-index:-4;box-shadow:24vw 9vh #fff,12vw -24vh #fff,-45vw -22vh #fff,-37vw -40vh #fff,29vw 19vh #fff,4vw -8vh #fff,-5vw 21vh #fff,-27vw 26vh #fff,-47vw -3vh #fff,-28vw -30vh #fff,-43vw -27vh #fff,4vw 22vh #fff,36vw 23vh #fff,-21vw 24vh #fff,-16vw 2vh #fff,-16vw -6vh #fff,5vw 26vh #fff,-34vw 41vh #fff,1vw 42vh #fff,11vw -13vh #fff,48vw -8vh #fff,22vw -15vh #fff,45vw 49vh #fff,43vw -27vh #fff,20vw -2vh #fff,8vw 22vh #fff,39vw 48vh #fff,-21vw -11vh #fff,-40vw 45vh #fff,11vw -30vh #fff,26vw 30vh #fff,45vw -29vh #fff,-2vw 18vh #fff,-29vw -45vh #fff,-7vw -27vh #fff,42vw 24vh #fff,45vw -48vh #fff,-36vw -18vh #fff,-44vw 13vh #fff,36vw 16vh #fff,40vw 24vh #fff,18vw 11vh #fff,-15vw -23vh #fff,-24vw 48vh #fff,27vw -45vh #fff,-2vw -24vh #fff,-15vw -28vh #fff,-43vw 13vh #fff,7vw 27vh #fff,47vw 5vh #fff,-45vw 15vh #fff,-5vw -28vh #fff,38vw 25vh #fff,-39vw -1vh #fff,5vw 0 #fff,49vw 13vh #fff,48vw 10vh #fff,19vw -28vh #fff,4vw 7vh #fff,21vw 21vh #fff,-15vw -15vh #fff,-6vw -42vh #fff,-15vw 48vh #fff,-23vw 25vh #fff,-48vw 25vh #fff,-31vw -19vh #fff,4vw 37vh #fff,-43vw 28vh #fff,3vw -25vh #fff,-39vw 14vh #fff,-40vw 31vh #fff,35vw -36vh #fff,16vw 49vh #fff,6vw 39vh #fff,3vw -35vh #fff,-44vw -2vh #fff,-6vw 21vh #fff,48vw 9vh #fff,-43vw 30vh #fff,29vw -12vh #fff,-48vw 13vh #fff,-42vw 32vh #fff,34vw 15vh #fff,29vw -37vh #fff,28vw 2vh #fff;transform:translate(calc(-50% - 10vw),calc(-50% + var(--star-offset-b, 0px))) scale(.95);opacity:.86;filter:drop-shadow(0 0 1.6px rgba(120,150,255,.2));will-change:transform;mask-image:linear-gradient(180deg,transparent 0%,#000 10%,#000 90%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 10%,#000 90%,transparent 100%)}body.bg-nebula #app:after{content:"";position:fixed;top:50%;left:50%;width:2.6px;height:2.6px;pointer-events:none;background-color:#fff5ebf2;border-radius:50%;z-index:-2;box-shadow:24vw 9vh 2px #fff,12vw -24vh 2px 1px #fff,-45vw -22vh 1px #fff,-37vw -40vh 2px 1px #fff,29vw 19vh 2px 1px #fff,4vw -8vh 1px 1px #fff,-5vw 21vh 2px 2px #fff,-27vw 26vh 2px 1px #fff,-47vw -3vh 2px 2px #fff,-28vw -30vh 2px 1px #fff,-43vw -27vh 2px 1px #fff,4vw 22vh 2px 1px #fff,36vw 23vh 2px #fff,-21vw 24vh 2px 1px #fff,-16vw 2vh 2px #fff,-16vw -6vh 1px #fff,5vw 26vh 2px #fff,-34vw 41vh 1px #fff,1vw 42vh 2px 1px #fff,11vw -13vh 2px 1px #fff,48vw -8vh 2px #fff,22vw -15vh 1px #fff,45vw 49vh 1px #fff,43vw -27vh 2px 1px #fff,20vw -2vh 1px #fff,8vw 22vh 2px 1px #fff,39vw 48vh 2px 1px #fff,-21vw -11vh 1px 1px #fff,-40vw 45vh 2px 1px #fff,11vw -30vh 2px #fff,26vw 30vh 2px #fff,45vw -29vh 1px 1px #fff,-2vw 18vh 1px #fff,-29vw -45vh 2px #fff,-7vw -27vh 2px 1px #fff,42vw 24vh 1px #fff,45vw -48vh 2px #fff,-36vw -18vh 1px #fff,-44vw 13vh 2px 1px #fff,36vw 16vh 2px 1px #fff,40vw 24vh 1px #fff,18vw 11vh 1px #fff,-15vw -23vh 2px #fff,-24vw 48vh 1px 1px #fff,27vw -45vh 2px #fff,-2vw -24vh 1px 1px #fff,-15vw -28vh 1px #fff,-43vw 13vh 2px #fff,7vw 27vh 2px #fff,47vw 5vh 1px #fff,-45vw 15vh 2px 1px #fff,-5vw -28vh 1px 1px #fff,38vw 25vh 2px 1px #fff,-39vw -1vh 2px #fff,5vw 0 2px #fff,49vw 13vh 1px #fff,48vw 10vh 1px 1px #fff,19vw -28vh 1px #fff,4vw 7vh 1px #fff,21vw 21vh 2px 1px #fff,-15vw -15vh 1px 1px #fff,-6vw -42vh 2px #fff,-15vw 48vh 2px 1px #fff,-23vw 25vh 2px 1px #fff,-48vw 25vh 1px 1px #fff,-31vw -19vh 1px 1px #fff,4vw 37vh 2px 1px #fff,-43vw 28vh 1px #fff,3vw -25vh 1px 1px #fff,-39vw 14vh 1px 1px #fff,-40vw 31vh 1px 1px #fff,35vw -36vh 2px 1px #fff,16vw 49vh 1px #fff,6vw 39vh 1px #fff,3vw -35vh 1px 1px #fff,-44vw -2vh 2px #fff,-6vw 21vh 2px #fff,48vw 9vh 2px 1px #fff,-43vw 30vh 2px 1px #fff,29vw -12vh 2px 1px #fff,-48vw 13vh 2px #fff,-42vw 32vh 2px 1px #fff,34vw 15vh 2px 1px #fff,29vw -37vh 2px 1px #fff,28vw 2vh 1px #fff;transform:translate(calc(-50% + 16vw),calc(-50% + var(--star-offset-a, 0px) + 220px)) scale(1.06);opacity:.95;filter:drop-shadow(0 0 2.4px rgba(255,220,190,.22));will-change:transform;mask-image:linear-gradient(180deg,transparent 0%,#000 14%,#000 86%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 14%,#000 86%,transparent 100%)}body.bg-nebula:after{content:"";position:fixed;inset:-10%;pointer-events:none;background:radial-gradient(circle at 50% 50%,#0307127a 0,#030712fa),radial-gradient(ellipse at 50% 35%,rgba(129,140,248,.38) 0,transparent 60%),radial-gradient(ellipse at 60% 65%,rgba(244,114,182,.32) 0,transparent 65%),radial-gradient(ellipse at 30% 70%,rgba(56,189,248,.28) 0,transparent 70%);mix-blend-mode:screen;opacity:.85;animation:nebula-drift 90s ease-in-out infinite alternate;z-index:-1}@keyframes nebula-drift{0%{transform:translate3d(0,12px,0) scale(1)}50%{transform:translate3d(-10px,-20px,0) scale(1.04)}to{transform:translate3d(10px,-40px,0) scale(1.08)}}#app{width:100%;max-width:1200px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;position:relative;z-index:1}#header{position:sticky;top:1rem;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:0;width:100%;max-width:none;margin:0;padding:0 1.5rem}body.theme-light #header{color:#111!important}body.theme-light #wpm-display,body.theme-light #accuracy-display,body.theme-light #max-wpm-display{color:#111827}body.theme-light .header-left,body.theme-light .header-right{background:#ffffffa6;border:1px solid rgba(0,0,0,.15);backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%)}body.theme-light .nav-link{border-color:#0f172a1f;background:#0f172a0a;color:#0f172a}body.theme-light .nav-link:hover{background:#0f172a14;border-color:#0f172a33}body.theme-light .nav-link.active{background:#0f172a24;border-color:#0f172a4d;color:#0b132a}body.theme-light .nav-link.disabled{opacity:.5;pointer-events:none;border-color:#0f172a2e}body.theme-light #settings-btn{background:#0f172a0a;border:1px solid rgba(15,23,42,.16);color:#111827}body.theme-light #settings-btn:hover{background:#0f172a14;border-color:#0f172a59}.header-left,.header-right{display:flex;align-items:center;gap:1rem;padding:.6rem 1.6rem;border-radius:999px;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);box-shadow:0 12px 30px #00000040;flex:0 0 auto}.nav-links{display:flex;align-items:center;gap:.55rem}.nav-link{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;text-decoration:none;color:inherit;border:1px solid rgba(255,255,255,.2);background:#ffffff0a;padding:.45rem 1.1rem;border-radius:999px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;transition:background .2s ease,border-color .2s ease,opacity .2s ease,transform .08s ease,color .2s ease}.nav-link:visited{color:inherit}.nav-link:hover{background:#ffffff17;border-color:#ffffff4d}.nav-link:active{transform:scale(.97)}.nav-link.active{background:#ffffff29;border-color:#fff6;color:#fff}.nav-link.disabled{opacity:.55;cursor:not-allowed;pointer-events:none;border-color:#fff3}.nav-link.feedback-btn{appearance:none;width:2rem;height:2rem;padding:0;font-size:1rem;font-weight:700;letter-spacing:0;text-transform:none;font-family:inherit}.feedback-btn-icon{width:1.1rem;height:1.1rem;display:block;object-fit:contain;filter:brightness(0) invert(1)}body.theme-light .feedback-btn-icon,body.bg-ocean .feedback-btn-icon{filter:none}.nav-links a.nav-link{position:relative}.navigation-loader{display:none;position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);pointer-events:none;overflow:visible;color:#c4eaff}a[data-nav-loading]>.navigation-loader{display:block}.navigation-loader rect{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-dashoffset:var(--trace-offset);vector-effect:non-scaling-stroke}a[data-nav-loading]>.navigation-loader rect{animation:navigation-trace 1.5s linear infinite;animation-delay:var(--trace-delay,0ms)}body.theme-light .navigation-loader{color:#0369a1}@keyframes navigation-trace{0%{stroke-dashoffset:var(--trace-offset)}to{stroke-dashoffset:calc(var(--trace-offset) - 100px)}}.metrics{display:flex;align-items:center;gap:.8rem}.settings-wrapper{position:relative;display:flex;align-items:center}#logo{display:flex;align-items:center;text-decoration:none}#logo img{height:28px;width:auto;display:block;opacity:.9}body:not(.theme-light) #logo img,body.theme-light:not(.bg-default) #logo img{filter:brightness(0) invert(1)}body.theme-light.bg-default #logo img{filter:none}#wpm-display,#accuracy-display,#max-wpm-display{margin-right:0}#wpm-display,#accuracy-display,#max-wpm-display{font-weight:600;letter-spacing:.05em;text-transform:uppercase;font-variant-numeric:tabular-nums;font-size:.9rem;color:#ffffffc7}#wpm-display.inactive,#accuracy-display.inactive,#max-wpm-display.inactive{color:#ffffff73}#settings-btn{border:1px solid rgba(255,255,255,.2);background:#ffffff0a;color:#f5f5f5;padding:.5rem 1.1rem;border-radius:999px;font-size:.85rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .08s ease}#settings-btn.inactive{opacity:.55;cursor:not-allowed;background:#ffffff0f;border-color:#fff3;pointer-events:none}#settings-btn:hover{background:#ffffff14;border-color:#ffffff4d}#settings-btn:active{transform:scale(.97)}#settings-tooltip{position:absolute;left:auto;right:0;width:min(280px,calc(100vw - 32px));transform:translateY(8px);top:calc(100% + .6rem);z-index:25;pointer-events:auto;opacity:0;transition:opacity .25s ease,transform .25s ease}#settings-tooltip:not(.hidden){opacity:1;transform:translateY(0)}#settings-tooltip.hidden{display:block!important;opacity:0;pointer-events:none}.settings-tooltip-inner{position:relative;padding:10px 10px 10px 16px;border-radius:20px;background:#0f172ae0;border:1px solid rgba(148,163,184,.9);box-shadow:0 14px 30px #0000008c,0 0 0 1px #0f172ae6;backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);display:flex;align-items:center;gap:10px}.settings-tooltip-text{flex:1;min-width:0;font-family:system-ui,sans-serif;font-size:13px;font-weight:450;line-height:1.45;letter-spacing:normal;text-transform:none;color:#e5e7eb;white-space:normal;overflow-wrap:anywhere}.settings-tooltip-close{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border:none;border-radius:50%;background:#94a3b81f;color:#e5e7eb;font-size:20px;cursor:pointer;padding:0;line-height:1;opacity:.85;transition:opacity .15s ease,transform .08s ease}.settings-tooltip-close:hover{opacity:1;transform:scale(1.05)}.settings-tooltip-arrow{position:absolute;top:-6px;left:auto;right:30px;transform:rotate(45deg);width:12px;height:12px;background:#0f172af2;border-left:1px solid rgba(148,163,184,.9);border-top:1px solid rgba(148,163,184,.9);box-shadow:-2px -2px 4px #00000059;z-index:-1}body.theme-light .settings-tooltip-inner{background:#fffffffa;border-color:#6b7280e6;box-shadow:0 14px 28px #00000040,0 0 0 1px #94a3b899}body.theme-light .settings-tooltip-text{color:#111827}body.theme-light .settings-tooltip-close{color:#4b5563}body.theme-light .settings-tooltip-arrow{background:#fffffffa;border-left-color:#6b7280e6;border-top-color:#6b7280e6}.page-content{width:100%;max-width:1100px;margin:2.5rem auto 4rem;padding:0 1.5rem}.about-card{background:#ffffff14;border:1px solid rgba(255,255,255,.25);border-radius:24px;padding:clamp(1.8rem,4vw,2.6rem);box-shadow:0 24px 60px #00000073,inset 0 1px #ffffff1a;backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);color:#e5e7eb;line-height:1.8;position:relative;overflow:hidden}.about-card h1{font-size:clamp(2.1rem,4vw,2.6rem);margin-bottom:1rem;letter-spacing:.04em}.about-card p{font-size:1.05rem;margin-top:.9rem;color:#e5e7ebe6}.about-icon{width:68px;height:68px;margin-bottom:.3rem;opacity:1;display:block;filter:brightness(0) invert(1) saturate(1.1)}.about-card ul{margin:.6rem 0 .4rem 1.2rem;padding:0;list-style:disc;color:#e5e7ebbf}.about-card strong{color:inherit;font-weight:inherit}.about-card .eyebrow{display:inline-block;padding:.35rem .75rem;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:#ffffff0d;text-transform:uppercase;letter-spacing:.08em;font-weight:700;font-size:.78rem;margin-bottom:1rem;color:#cbd5e1}body.theme-light .about-card{background:#ffffffbf;border-color:#0f172a14;color:#0f172a}body.theme-light .about-card p{color:#0f172acc}body.theme-light .about-card .eyebrow{color:#0f172a;border-color:#0f172a1f;background:#0f172a0d}.about-slider{position:relative;min-height:720px;max-height:720px;display:flex;align-items:center;justify-content:center}.about-slide{opacity:0;transform:translateY(18px);transition:opacity .4s ease,transform .4s ease;position:absolute;inset:clamp(.8rem,2vw,1.4rem) clamp(1.4rem,3vw,2.2rem) clamp(3.6rem,5vw,4.2rem) clamp(1.4rem,3vw,2.2rem);max-width:1060px;margin:0 auto;padding:clamp(1rem,2.6vw,1.6rem) clamp(1rem,3vw,1.8rem) clamp(3.4rem,5vw,4rem);overflow:auto;scrollbar-width:none;-ms-overflow-style:none;pointer-events:none;visibility:hidden;z-index:0}.about-slide::-webkit-scrollbar{width:0;height:0}.about-slide.active{opacity:1;transform:translateY(0);pointer-events:auto;visibility:visible;z-index:1}.about-slide.fade-bottom{mask-image:linear-gradient(180deg,#000 0% 72%,#0000 92% 100%);-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,1) 0%,rgba(0,0,0,1) 72%,rgba(0,0,0,0) 92%,rgba(0,0,0,0) 100%)}.about-slide.no-fade{mask-image:none;-webkit-mask-image:none;overflow:hidden}.about-slide.fade-bottom.fade-disabled{mask-image:none;-webkit-mask-image:none}.slider-controls{position:absolute;bottom:clamp(.8rem,3vw,1.6rem);left:0;right:0;display:flex;align-items:center;justify-content:center;gap:.8rem;pointer-events:none;padding:0 clamp(1.6rem,4vw,2.4rem)}.slider-btn{pointer-events:auto;border:1px solid rgba(255,255,255,.4);background:#ffffff14;color:#e5e7eb;width:42px;height:42px;border-radius:50%;font-size:1rem;cursor:pointer;transition:transform .12s ease,background .2s ease,border-color .2s ease}.slider-btn:hover{background:#ffffff24;border-color:#fff9}.slider-btn:active{transform:scale(.96)}.slider-btn.disabled{opacity:.45;cursor:not-allowed;transform:none}.slider-dots{pointer-events:auto;display:flex;gap:.5rem}.slider-dot{width:12px;height:12px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:#ffffff1f;cursor:pointer;transition:transform .12s ease,background .2s ease,border-color .2s ease,opacity .2s ease}.slider-dot.active{background:#fffc;border-color:#ffffffe6;transform:scale(1.1)}.slider-dot:hover{opacity:.9}body.theme-light .slider-btn{border-color:#0f172a40;background:#0f172a14;color:#0f172a}body.theme-light .slider-btn:hover{background:#0f172a29}body.theme-light .slider-btn.disabled{opacity:.5;background:#0f172a14}body.theme-light .slider-dot{border-color:#0f172a33;background:#0f172a1f}body.theme-light .slider-dot.active{background:#0f172ab3;border-color:#0f172acc}.about-cta{display:inline-flex;align-items:center;justify-content:center;padding:.65rem 1.4rem;margin-top:1rem;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:#ffffff1a;color:#e5e7eb;text-decoration:none;font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;font-family:inherit;transition:transform .1s ease,background .2s ease,border-color .2s ease}.about-cta-group{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.about-cta-group .about-cta{margin-top:0;white-space:nowrap}.about-cta-wide{min-width:240px;font-size:.9rem}.about-cta:hover{background:#ffffff29;border-color:#fff9}.about-cta:active{transform:scale(.98)}body.theme-light .about-cta{color:#0f172a;border-color:#0f172a33;background:#0f172a0f}body.theme-light .about-cta:hover{background:#0f172a1f;border-color:#0f172a47}@media(max-width:768px){.about-slider{min-height:620px;max-height:none}.about-slide{inset:clamp(1rem,4vw,1.4rem)}.slider-controls{padding:0 clamp(1rem,4vw,1.6rem)}}#typing-container{flex:1;padding:3.25rem 2.5rem 3rem;margin-top:-1.25rem;overflow-y:hidden;position:relative;scroll-behavior:smooth}#typing-logo{display:block;max-width:420px;width:60%;margin:0 auto 3rem;opacity:.9}body:not(.theme-light) #typing-logo{filter:brightness(0) invert(1)}body.theme-light.bg-default #typing-logo{filter:none}body.theme-light:not(.bg-default) #typing-logo{filter:brightness(0) invert(1)}body.bg-ocean #typing-logo{filter:none;opacity:1}#text-target{font-size:2.4rem;line-height:1.8;letter-spacing:.04em;color:#ffffffe6;font-weight:700;white-space:normal;word-break:normal}#free-target{font-size:2.4rem;line-height:1.8;letter-spacing:.04em;font-weight:700;white-space:normal;overflow-wrap:break-word;word-break:break-word}.line{display:block;margin:.25em 0}.line:first-child{margin-top:0}.line:last-child{margin-bottom:0}.line.done{opacity:.7;transition:opacity .25s ease}.line.active{opacity:1;transition:opacity .25s ease}.char{opacity:.3;transition:opacity .12s ease,color .12s ease}body.bg-ocean.ocean-style-surface #text-target .char:not(.correct):not(.incorrect),body.bg-ocean.ocean-style-surface #free-target .char:not(.correct):not(.incorrect){text-shadow:0 1px 2px rgba(0,0,0,.55),0 0 1px rgba(0,0,0,.4)}.char.correct{opacity:1;color:#f5f5f5}body.theme-light .char.correct{color:#111}.char.incorrect{opacity:1;color:#ff4b4b}.char.space.incorrect{position:relative;border-radius:4px;background:#ff4b4b38;box-shadow:inset 0 -3px #ff4b4b,0 0 0 2px #ff4b4b52}body.theme-light .char.incorrect{color:#ff4b4b}@keyframes neonTextShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}body.bg-neon #text-target{color:transparent}body.bg-neon #free-target{color:#e5e7eb;text-shadow:0 0 2px rgba(15,23,42,.9),0 0 6px rgba(15,23,42,.7)}body.bg-neon.neon-style-multicolor #free-target{color:inherit;background-image:none;background-clip:border-box;-webkit-background-clip:border-box;text-shadow:none;animation:none}body.bg-neon.neon-style-red #free-target{color:transparent;background-image:linear-gradient(120deg,#fee2e2,#fca5a5,#ef4444,#b91c1c,#fee2e2);background-size:260% 260%;background-clip:text;-webkit-background-clip:text;text-shadow:0 0 10px rgba(248,113,113,.95),0 0 26px rgba(220,38,38,.98);animation:neonTextShift 4s ease-in-out infinite}body.bg-neon.neon-style-blue #free-target{color:transparent;background-image:linear-gradient(120deg,#bfdbfe,#60a5fa,#1d4ed8,#bfdbfe);background-size:260% 260%;background-clip:text;-webkit-background-clip:text;text-shadow:0 0 10px rgba(59,130,246,.95),0 0 26px rgba(37,99,235,.98);animation:neonTextShift 4s ease-in-out infinite}body.bg-neon.neon-style-green #free-target{color:transparent;background-image:linear-gradient(120deg,#bbf7d0,#4ade80,#16a34a,#bbf7d0);background-size:260% 260%;background-clip:text;-webkit-background-clip:text;text-shadow:0 0 10px rgba(74,222,128,.95),0 0 26px rgba(22,163,74,.98);animation:neonTextShift 4s ease-in-out infinite}body.bg-neon.neon-style-pink #free-target{color:transparent;background-image:linear-gradient(120deg,#f9a8d4,#ec4899,#db2777,#f9a8d4);background-size:260% 260%;background-clip:text;-webkit-background-clip:text;text-shadow:0 0 10px rgba(244,114,182,.95),0 0 26px rgba(219,39,119,.98);animation:neonTextShift 4s ease-in-out infinite}body.bg-neon.neon-style-yellow #free-target{color:transparent;background-image:linear-gradient(120deg,#fef9c3,#facc15,#eab308,#fef9c3);background-size:260% 260%;background-clip:text;-webkit-background-clip:text;text-shadow:0 0 10px rgba(250,204,21,.95),0 0 26px rgba(202,138,4,.98);animation:neonTextShift 4s ease-in-out infinite}body.bg-neon.neon-style-purple #free-target{color:transparent;background-image:linear-gradient(120deg,#e9d5ff,#a855f7,#7c3aed,#e9d5ff);background-size:260% 260%;background-clip:text;-webkit-background-clip:text;text-shadow:0 0 10px rgba(168,85,247,.95),0 0 26px rgba(109,40,217,.98);animation:neonTextShift 4s ease-in-out infinite}body.bg-neon.neon-style-techno #free-target{color:#e5e7eb;text-shadow:0 0 2px rgba(15,23,42,.9),0 0 6px rgba(15,23,42,.7);background-image:none}body.bg-neon .char{opacity:.4;color:#94a3b8e6;text-shadow:0 0 1px rgba(15,23,42,.9),0 0 4px rgba(15,23,42,.6)}body.bg-neon .char.correct{opacity:1;animation:neonTextShift 4s ease-in-out infinite}body.bg-neon .char.incorrect{background-image:none;color:#ff4b4b;text-shadow:0 0 6px rgba(248,113,113,.9),0 0 18px rgba(239,68,68,.85)}.hidden{display:none!important}#typing-container::-webkit-scrollbar{width:8px}#typing-container::-webkit-scrollbar-track{background:transparent}#typing-container::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:999px}#typing-container::-webkit-scrollbar-thumb:hover{background:#fff3}#settings-modal{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:50}#settings-modal.hidden{display:none}.settings-content{background:#ffffff14;border-radius:1.3rem;padding:1.8rem 2rem 2.1rem;max-width:420px;max-height:85vh;width:100%;border:1px solid rgba(255,255,255,.25);box-shadow:0 24px 60px #00000073,inset 0 1px #ffffff1a;backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);position:relative;overflow-x:hidden;overflow-y:auto}.close-btn{position:absolute;right:1rem;top:1rem;border:none;background:transparent;color:#ffffffb3;font-size:1.4rem;cursor:pointer;padding:0;line-height:1}.close-btn:hover{color:#fff}body.theme-light .close-btn{color:#111!important}body.theme-light .close-btn:hover{color:#000!important}.feedback-modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#04070c8c;opacity:0;pointer-events:none;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px);transition:opacity .3s ease,backdrop-filter .45s ease}.feedback-modal.is-open{opacity:1;pointer-events:auto;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.feedback-panel{position:relative;width:min(520px,100%);background:#ffffff14;border-radius:1.3rem;padding:2rem 2rem 1.8rem;border:1px solid rgba(255,255,255,.25);box-shadow:0 24px 60px #00000073,inset 0 1px #ffffff1a;backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);transform:translateY(14px) scale(.98);opacity:0;transition:transform .35s ease,opacity .35s ease}.feedback-modal.is-open .feedback-panel{transform:translateY(0) scale(1);opacity:1}.feedback-close{position:absolute;right:1rem;top:1rem;border:none;background:transparent;color:#ffffffb3;font-size:1.4rem;cursor:pointer;padding:0;line-height:1}.feedback-close:hover{color:#fff}.feedback-form-view h2,.feedback-thanks h2{font-size:1.2rem;margin-bottom:1rem}#feedback-form{display:grid;gap:.6rem}#feedback-form label{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#ffffffb3}#feedback-form input,#feedback-form select,#feedback-form textarea{width:100%;border-radius:.85rem;border:1px solid rgba(148,163,184,.35);background:#0f172aa6;color:#f8fafc;padding:.65rem .85rem;font-size:.9rem;transition:border-color .2s ease,box-shadow .2s ease}#feedback-form input:focus,#feedback-form select:focus,#feedback-form textarea:focus{outline:none;border-color:#5eead4d9;box-shadow:0 0 0 2px #5eead433}#feedback-form textarea{resize:vertical;min-height:120px}.feedback-subtext{margin-top:-.3rem;margin-bottom:.3rem;font-size:.75rem;color:#e2e8f0b3}.feedback-actions{display:flex;justify-content:flex-end;margin-top:.4rem}.feedback-submit{border:none;border-radius:999px;padding:.6rem 1.4rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;font-weight:600;background:linear-gradient(120deg,#5eead4,#38bdf8);color:#0b1120;cursor:pointer;transition:transform .08s ease,box-shadow .2s ease}.feedback-submit:hover{box-shadow:0 10px 24px #38bdf859}.feedback-submit:active{transform:scale(.97)}.feedback-submit:disabled{opacity:.6;cursor:wait}.feedback-error{color:#fca5a5;font-size:.8rem}.feedback-icon{font-size:2.4rem;margin-bottom:.6rem}body.theme-light .feedback-modal{background:#e2e8f099}body.theme-light .feedback-panel{background:#ffffffc7;color:#0f172a;border:1px solid rgba(15,23,42,.12);box-shadow:0 24px 60px #0f172a26,inset 0 1px #ffffff73}body.theme-light .feedback-close{color:#0f172ab3}body.theme-light .feedback-close:hover{color:#0f172a}body.theme-light #feedback-form label{color:#0f172ab3}body.theme-light #feedback-form input,body.theme-light #feedback-form select,body.theme-light #feedback-form textarea{background:#0f172a0a;color:#0f172a;border-color:#0f172a33}body.theme-light .feedback-subtext{color:#0f172a99}body.theme-light .feedback-error{color:#b91c1c}@media(max-width:600px){.feedback-panel{padding:1.6rem 1.5rem}}.settings-content h2{font-size:1.1rem;margin-bottom:.8rem;font-weight:600}.settings-content h3{font-size:.9rem;text-transform:uppercase;letter-spacing:.12em;margin-top:1.4rem;margin-bottom:.6rem;color:#ffffffa6}.settings-content :is(.theme-option,.settings-pill){font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;display:inline-flex;align-items:center;gap:.45rem;margin-bottom:.35rem;padding:.3rem .9rem;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:#ffffffd9;cursor:pointer;transition:background .2s ease,border-color .2s ease,opacity .2s ease}.settings-content label.theme-disabled{opacity:.35;cursor:not-allowed;border-color:#ffffff1f;background:#ffffff08}.settings-content :is(.theme-option,.settings-pill):has(input[type=radio]:checked){background:#ffffff29;border-color:#ffffffb3;color:#fff;transform:translateY(-1px)}.settings-content label input[type=radio]{position:absolute;width:1px;height:1px;opacity:0;clip-path:inset(50%)}.settings-pill-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem .6rem;margin-top:.2rem}.settings-pill-group .settings-pill{margin-bottom:0}.settings-pill-group--full .settings-pill{width:100%;justify-content:center;padding:.4rem .9rem}@media(max-width:520px){.settings-pill-group{grid-template-columns:1fr}}#background-presets{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem .6rem;padding:.4rem 0;margin-bottom:.5rem}#background-presets::-webkit-scrollbar{height:4px}#background-presets::-webkit-scrollbar-thumb{background:#fff3;border-radius:999px}.bg-preset{width:100%;border-radius:999px;border:1px solid rgba(255,255,255,.18);padding:.3rem .9rem;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;background:#ffffff0f;color:inherit;cursor:pointer;opacity:.7;white-space:nowrap;text-align:center;transition:background .2s ease,border-color .2s ease,opacity .2s ease,transform .08s ease;position:relative;overflow:visible}.bg-preset-christmas{background:radial-gradient(circle at 0% 0%,rgba(248,113,113,.26),transparent 55%),radial-gradient(circle at 100% 100%,rgba(74,222,128,.26),transparent 55%),#0f172aa6;border-color:#f8fafc73;color:#fee2e2;opacity:.95;box-shadow:0 0 0 1px #f8fafc14,0 6px 18px #0f172a99}body.theme-light .bg-preset-christmas{box-shadow:none}@property --xmas-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}.bg-preset-christmas:hover{position:relative;border-color:transparent!important}.bg-preset-christmas:hover:after{content:"";position:absolute;inset:-2px;border-radius:999px;padding:2px;background:conic-gradient(from var(--xmas-angle),#ef4444,#16a34a,#ef4444);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:xmasBorderSpin 1.2s linear infinite}@keyframes xmasBorderSpin{to{--xmas-angle: 360deg}}.bg-preset-christmas.active{background:radial-gradient(circle at 0% 0%,rgba(248,113,113,.5),transparent 55%),radial-gradient(circle at 100% 100%,rgba(74,222,128,.5),transparent 55%),#0f172af5;border-color:#f8fafc;opacity:1;box-shadow:0 0 0 1px #f8fafc3d,0 12px 30px #0f172af2}.bg-preset:hover{opacity:.95;border-color:#ffffff73}.bg-preset:active{transform:scale(.97)}.bg-preset.active{opacity:1;border-color:#ffffffb3;background:#ffffff29}#theme-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.4rem .6rem;margin-top:.3rem;align-items:start;justify-items:stretch;grid-auto-flow:row dense}#theme-options label{justify-content:center;width:100%}body.bg-blur #theme-options .color-chip,body.bg-neon #theme-options .color-chip,body.bg-geometric #theme-options .color-chip,body.bg-topograph #theme-options .color-chip,body.bg-liquid-gradient #theme-options .color-chip{background:#0f172a9e;border-color:#f8fafc4d;box-shadow:0 0 0 1px #f8fafc24,0 10px 24px #0f172a8c}body.bg-blur #theme-options label:has(input[type=radio]:checked).color-chip,body.bg-neon #theme-options label:has(input[type=radio]:checked).color-chip,body.bg-geometric #theme-options label:has(input[type=radio]:checked).color-chip,body.bg-topograph #theme-options label:has(input[type=radio]:checked).color-chip,body.bg-liquid-gradient #theme-options label:has(input[type=radio]:checked).color-chip{border-color:#f8fafcbf;box-shadow:0 0 0 1px #f8fafc3d,0 16px 36px #0f172ab3}body.bg-liquid-gradient #theme-options label.color-chip-liquid-gradient-orchid-fog{background:radial-gradient(circle at 0% 0%,rgba(168,85,247,.7),transparent 60%),radial-gradient(circle at 100% 100%,rgba(236,72,153,.65),transparent 60%),#0f172ab8}body.bg-liquid-gradient #theme-options label.color-chip-liquid-gradient-ember-gold{background:radial-gradient(circle at 0% 0%,rgba(241,90,34,.7),transparent 60%),radial-gradient(circle at 100% 100%,rgba(251,191,36,.6),transparent 60%),#0f172ab8}body.bg-liquid-gradient #theme-options label.color-chip-liquid-gradient-coral-tide{background:radial-gradient(circle at 0% 0%,rgba(255,108,80,.68),transparent 60%),radial-gradient(circle at 100% 100%,rgba(64,224,208,.6),transparent 60%),#0f172ab8}body.bg-liquid-gradient #theme-options label.color-chip-liquid-gradient-citrus-mist{background:radial-gradient(circle at 0% 0%,rgba(250,204,21,.7),transparent 60%),radial-gradient(circle at 100% 100%,rgba(34,197,94,.6),transparent 60%),#0f172ab8}body.bg-liquid-gradient #theme-options label.color-chip-liquid-gradient-midnight-coil{background:radial-gradient(circle at 0% 0%,rgba(14,165,233,.68),transparent 60%),radial-gradient(circle at 100% 100%,rgba(29,78,216,.6),transparent 60%),#0f172ab8}body.bg-liquid-gradient #theme-options label.color-chip-liquid-gradient-rose-quartz{background:radial-gradient(circle at 0% 0%,rgba(251,113,133,.68),transparent 60%),radial-gradient(circle at 100% 100%,rgba(244,114,182,.6),transparent 60%),#0f172ab8}body.bg-liquid-gradient #theme-options label.color-chip-liquid-gradient-sunset-glow{background:radial-gradient(circle at 0% 0%,rgba(255,122,24,.7),transparent 60%),radial-gradient(circle at 100% 100%,rgba(255,61,129,.6),transparent 60%),#0f172ab8}body.bg-liquid-gradient #theme-options label.color-chip-liquid-gradient-ocean-breeze{background:radial-gradient(circle at 0% 0%,rgba(56,189,248,.68),transparent 60%),radial-gradient(circle at 100% 100%,rgba(34,211,238,.6),transparent 60%),#0f172ab8}body.bg-liquid-gradient #theme-options label.color-chip-liquid-gradient-violet-haze{background:radial-gradient(circle at 0% 0%,rgba(139,92,246,.68),transparent 60%),radial-gradient(circle at 100% 100%,rgba(168,85,247,.6),transparent 60%),#0f172ab8}body.bg-liquid-gradient #theme-options label.color-chip-liquid-gradient-mint-foam{background:radial-gradient(circle at 0% 0%,rgba(52,211,153,.68),transparent 60%),radial-gradient(circle at 100% 100%,rgba(45,212,191,.6),transparent 60%),#0f172ab8}body.bg-blur #theme-options label.color-chip-blur-green-blue{background:radial-gradient(circle at 0% 0%,rgba(34,197,94,.7),transparent 60%),radial-gradient(circle at 100% 100%,rgba(59,130,246,.65),transparent 60%),#0f172ab8}body.bg-blur #theme-options label.color-chip-blur-blue-red{background:radial-gradient(circle at 0% 0%,rgba(59,130,246,.7),transparent 60%),radial-gradient(circle at 100% 100%,rgba(248,113,113,.6),transparent 60%),#0f172ab8}body.bg-blur #theme-options label.color-chip-blur-super-blue{background:radial-gradient(circle at 0% 0%,rgba(59,130,246,.75),transparent 60%),radial-gradient(circle at 100% 100%,rgba(14,165,233,.6),transparent 60%),#0f172ab8}body.bg-blur #theme-options label.color-chip-blur-super-red{background:radial-gradient(circle at 0% 0%,rgba(239,68,68,.75),transparent 60%),radial-gradient(circle at 100% 100%,rgba(251,113,133,.6),transparent 60%),#0f172ab8}body.bg-blur #theme-options label.color-chip-blur-pink-purple{background:radial-gradient(circle at 0% 0%,rgba(236,72,153,.7),transparent 60%),radial-gradient(circle at 100% 100%,rgba(168,85,247,.6),transparent 60%),#0f172ab8}body.bg-blur #theme-options label.color-chip-blur-orange-red{background:radial-gradient(circle at 0% 0%,rgba(249,115,22,.7),transparent 60%),radial-gradient(circle at 100% 100%,rgba(239,68,68,.6),transparent 60%),#0f172ab8}body.bg-neon #theme-options label.color-chip-neon-multicolor{background:radial-gradient(circle at 0% 0%,rgba(56,189,248,.7),transparent 60%),radial-gradient(circle at 100% 100%,rgba(236,72,153,.6),transparent 60%),#0f172ab8}body.bg-neon #theme-options label.color-chip-neon-red{background:radial-gradient(circle at 0% 0%,rgba(248,113,113,.75),transparent 60%),radial-gradient(circle at 100% 100%,rgba(220,38,38,.6),transparent 60%),#0f172ab8}body.bg-neon #theme-options label.color-chip-neon-blue{background:radial-gradient(circle at 0% 0%,rgba(56,189,248,.75),transparent 60%),radial-gradient(circle at 100% 100%,rgba(37,99,235,.6),transparent 60%),#0f172ab8}body.bg-neon #theme-options label.color-chip-neon-green{background:radial-gradient(circle at 0% 0%,rgba(34,197,94,.75),transparent 60%),radial-gradient(circle at 100% 100%,rgba(16,185,129,.6),transparent 60%),#0f172ab8}body.bg-neon #theme-options label.color-chip-neon-pink{background:radial-gradient(circle at 0% 0%,rgba(236,72,153,.75),transparent 60%),radial-gradient(circle at 100% 100%,rgba(244,114,182,.6),transparent 60%),#0f172ab8}body.bg-neon #theme-options label.color-chip-neon-yellow{background:radial-gradient(circle at 0% 0%,rgba(250,204,21,.75),transparent 60%),radial-gradient(circle at 100% 100%,rgba(245,158,11,.6),transparent 60%),#0f172ab8}body.bg-neon #theme-options label.color-chip-neon-purple{background:radial-gradient(circle at 0% 0%,rgba(139,92,246,.75),transparent 60%),radial-gradient(circle at 100% 100%,rgba(168,85,247,.6),transparent 60%),#0f172ab8}body.bg-neon #theme-options label.color-chip-neon-techno{background:radial-gradient(circle at 0% 0%,rgba(34,211,238,.75),transparent 60%),radial-gradient(circle at 100% 100%,rgba(236,72,153,.6),transparent 60%),#0f172ab8}body.bg-geometric #theme-options label.color-chip-geometric-red{background:radial-gradient(circle at 0% 0%,rgba(239,68,68,.75),transparent 60%),radial-gradient(circle at 100% 100%,rgba(248,113,113,.6),transparent 60%),#0f172ab8}body.bg-geometric #theme-options label.color-chip-geometric-orange{background:radial-gradient(circle at 0% 0%,rgba(249,115,22,.75),transparent 60%),radial-gradient(circle at 100% 100%,rgba(251,146,60,.6),transparent 60%),#0f172ab8}body.bg-geometric #theme-options label.color-chip-geometric-yellow{background:radial-gradient(circle at 0% 0%,rgba(250,204,21,.75),transparent 60%),radial-gradient(circle at 100% 100%,rgba(253,224,71,.6),transparent 60%),#0f172ab8}body.bg-geometric #theme-options label.color-chip-geometric-green{background:radial-gradient(circle at 0% 0%,rgba(34,197,94,.75),transparent 60%),radial-gradient(circle at 100% 100%,rgba(74,222,128,.6),transparent 60%),#0f172ab8}body.bg-geometric #theme-options label.color-chip-geometric-blue{background:radial-gradient(circle at 0% 0%,rgba(59,130,246,.75),transparent 60%),radial-gradient(circle at 100% 100%,rgba(56,189,248,.6),transparent 60%),#0f172ab8}body.bg-geometric #theme-options label.color-chip-geometric-purple{background:radial-gradient(circle at 0% 0%,rgba(139,92,246,.75),transparent 60%),radial-gradient(circle at 100% 100%,rgba(168,85,247,.6),transparent 60%),#0f172ab8}body.bg-geometric #theme-options label.color-chip-geometric-black{background:radial-gradient(circle at 0% 0%,rgba(71,85,105,.6),transparent 60%),radial-gradient(circle at 100% 100%,rgba(30,41,59,.6),transparent 60%),#0f172ab8}body.bg-geometric #theme-options label.color-chip-geometric-white{background:radial-gradient(circle at 0% 0%,rgba(248,250,252,.8),transparent 60%),radial-gradient(circle at 100% 100%,rgba(226,232,240,.7),transparent 60%),#0f172ab8}body.bg-geometric #theme-options label.color-chip-geometric-gray{background:radial-gradient(circle at 0% 0%,rgba(148,163,184,.7),transparent 60%),radial-gradient(circle at 100% 100%,rgba(100,116,139,.6),transparent 60%),#0f172ab8}body.bg-geometric #theme-options label.color-chip-geometric-multicolor{background:radial-gradient(circle at 0% 0%,rgba(59,130,246,.7),transparent 60%),radial-gradient(circle at 100% 100%,rgba(236,72,153,.6),transparent 60%),#0f172ab8}body.bg-topograph #theme-options label.color-chip-topograph-original{background:radial-gradient(circle at 0% 0%,rgba(147,51,234,.7),transparent 60%),radial-gradient(circle at 100% 100%,rgba(59,130,246,.6),transparent 60%),#0f172ab8}body.bg-topograph #theme-options label.color-chip-topograph-teal{background:radial-gradient(circle at 0% 0%,rgba(16,185,129,.7),transparent 60%),radial-gradient(circle at 100% 100%,rgba(34,211,238,.6),transparent 60%),#0f172ab8}body.bg-topograph #theme-options label.color-chip-topograph-emerald{background:radial-gradient(circle at 0% 0%,rgba(220,38,38,.7),transparent 60%),radial-gradient(circle at 100% 100%,rgba(249,115,22,.6),transparent 60%),#0f172ab8}body.bg-topograph #theme-options label.color-chip-topograph-amber{background:radial-gradient(circle at 0% 0%,rgba(251,113,133,.7),transparent 60%),radial-gradient(circle at 100% 100%,rgba(244,114,182,.6),transparent 60%),#0f172ab8}body.bg-topograph #theme-options label.color-chip-topograph-rose{background:radial-gradient(circle at 0% 0%,rgba(59,130,246,.7),transparent 60%),radial-gradient(circle at 100% 100%,rgba(14,165,233,.6),transparent 60%),#0f172ab8}body.bg-topograph #theme-options label.color-chip-topograph-violet{background:radial-gradient(circle at 0% 0%,rgba(20,184,166,.7),transparent 60%),radial-gradient(circle at 100% 100%,rgba(14,116,144,.6),transparent 60%),#0f172ab8}body.bg-topograph #theme-options label.color-chip-topograph-slate{background:radial-gradient(circle at 0% 0%,rgba(148,163,184,.7),transparent 60%),radial-gradient(circle at 100% 100%,rgba(71,85,105,.6),transparent 60%),#0f172ab8}#custom-text-file{display:block;margin-top:.4rem;font-size:.85rem;color:#fffc}body.theme-light #settings-modal{background:#00000073}body.theme-light .settings-content{background:#ffffffc7;backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);color:#0f172a;border:1px solid rgba(15,23,42,.12);border-radius:1.3rem;box-shadow:0 24px 60px #0f172a26,inset 0 1px #ffffff73}body.theme-light .settings-content h2,body.theme-light .settings-content h3{color:#111827}body.theme-light .settings-content :is(.theme-option,.settings-pill){color:#111827;background:#0f172a08;border-color:#0f172a29;opacity:.8}body.theme-light .settings-content label.theme-disabled{color:#0f172a73;background:#0f172a08;border-color:#0f172a1f;opacity:.45}body.theme-light .settings-content :is(.theme-option,.settings-pill):has(input[type=radio]:checked){background:#0f172ae6;border-color:#0f172a;color:#f9fafb;opacity:1}body.theme-light .settings-content input[type=radio]{accent-color:#111827}body.theme-light .bg-preset{background:#0f172a08;border-color:#0f172a29;color:#111827;opacity:.75}body.theme-light .bg-preset:hover{border-color:#0f172a73;opacity:.95;background:#0f172a0f}body.theme-light .bg-preset.active{background:#0f172ae6;border-color:#0f172a;color:#f9fafb;opacity:1}body.theme-light .bg-preset-christmas{background:radial-gradient(circle at 0% 0%,rgba(239,68,68,.16),transparent 55%),radial-gradient(circle at 100% 100%,rgba(22,163,74,.16),transparent 55%),#ffffffe6;border-color:#94a3b8b3;color:#b91c1c;opacity:.9}body.theme-light .toggle-row.inactive{background:#0f172a08;border-color:#94a3b880;opacity:.75}body.theme-light .toggle-row.active{background:#0f172ae6;border-color:#0f172a;opacity:1}body.theme-light .toggle-row.active span{color:#f9fafb}@media(max-width:768px){#header{padding:.8rem 1.2rem}#typing-container{padding:1.5rem 1.2rem 2.5rem}#text-target,#free-target{font-size:1.9rem}.settings-content{margin:0 1rem}}dialog#settings-modal,dialog.feedback-modal{width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:1.25rem;border:0;color:#f8fafc}dialog:not([open]){display:none}dialog::backdrop{background:#02061766}#settings-modal .settings-content,.feedback-modal .feedback-panel{background:#141c2b;color:#f8fafc;backdrop-filter:none;-webkit-backdrop-filter:none}body.theme-light #settings-modal .settings-content,body.theme-light .feedback-modal .feedback-panel{background:#f8fafc;color:#0f172a}.settings-content :is(.theme-option,.settings-pill):has(input:focus-visible),:focus-visible{outline:1px solid currentColor;outline-offset:3px}#typing-container:focus-visible{outline:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}#theme-status,#typing-status{font-size:.85rem}#theme-status:empty,#typing-status:empty{display:none}#free-target{white-space:pre-wrap}body.bg-ocean #header,body.bg-ocean #header .nav-link,body.bg-ocean #header #settings-btn,body.bg-ocean #header .metrics>div{color:#f8fafc}body.bg-ocean .header-left,body.bg-ocean .header-right{background:#0a1424f0;border-color:#64748b}body.bg-ocean #header .nav-link,body.bg-ocean #header #settings-btn{background:#1e293b;border-color:#64748b}body.bg-ocean #logo img,body.bg-ocean #typing-logo,body.bg-ocean .feedback-btn-icon{filter:brightness(0) invert(1)!important}body.bg-ocean.ocean-style-surface #text-target,body.bg-ocean.ocean-style-surface #free-target{color:#fff;text-shadow:0 2px 4px #020617}body.bg-ocean.ocean-style-surface .char{opacity:.65}body.bg-ocean.ocean-style-surface .char.correct{opacity:1;color:#fff}body.bg-ocean.ocean-style-surface .char.incorrect{opacity:1;color:#ff9191}body.bg-ocean.ocean-style-surface{background:linear-gradient(#142b4f,#020617)}body.bg-rainy #rainy-frame-wrapper{background:#172435 url(../assets/rainbkd/img/weather/texture-rain-bg.png) center/cover}body.graphics-unavailable .ocean-surface-canvas,body.graphics-unavailable #webGLApp{display:none}html.reduced-motion *,html.reduced-motion *:before,html.reduced-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html.document-hidden *,html.document-hidden *:before,html.document-hidden *:after{animation-play-state:paused!important}@media(prefers-reduced-motion:reduce){html:not(.motion-full) *,html:not(.motion-full) *:before,html:not(.motion-full) *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}html.reduced-motion body.bg-christmas.christmas-style-gamer{background-image:url(../assets/christmasbkds/background1-still.webp)}html.reduced-motion body.bg-christmas.christmas-style-fireside{background-image:url(../assets/christmasbkds/background2-still.webp)}html.reduced-motion body.bg-christmas.christmas-style-town{background-image:url(../assets/christmasbkds/background3-still.webp)}html.reduced-motion body.bg-christmas.christmas-style-bar{background-image:url(../assets/christmasbkds/background4-still.webp)}html.reduced-motion body.bg-christmas.christmas-style-megolovania{background-image:url(../assets/christmasbkds/background5-still.webp)}html.reduced-motion body.bg-christmas.christmas-style-cabin{background-image:url(../assets/christmasbkds/background6-still.webp)}#christmas-video-wrapper{position:fixed;inset:0;z-index:-6;pointer-events:none;display:none}#christmas-video{width:100%;height:100%;object-fit:cover}body.bg-christmas #christmas-video-wrapper{display:block}html.reduced-motion body.bg-christmas #christmas-video-wrapper{display:none}@media(prefers-reduced-motion:reduce){html:not(.motion-full) body.bg-christmas #christmas-video-wrapper{display:none}}:root{--control-radius: 12px;--panel-radius: 20px}.settings-content{width:min(480px,100%);max-width:480px;max-height:min(88vh,960px);padding:0;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--panel-radius)}.dialog-heading{flex:none;padding:22px 24px 18px;border-bottom:1px solid rgba(148,163,184,.2)}.settings-content .dialog-heading h2,.feedback-panel .dialog-heading h2{margin:0;padding-right:32px;font-size:20px;font-weight:650;letter-spacing:-.025em}.settings-body{padding:4px 24px 24px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#64748b transparent}.settings-content h3{margin:22px 0 10px;font-size:12px;font-weight:650;letter-spacing:.09em}#background-presets,#theme-options,.settings-pill-group{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}#background-presets{padding:0;margin:0}.settings-content .bg-preset,.settings-content :is(.theme-option,.settings-pill),.feedback-kind .settings-pill{position:relative;display:flex;align-items:center;justify-content:center;min-height:38px;padding:8px 10px;margin:0;border-radius:var(--control-radius);border:1px solid #64748b;font-size:13px;font-weight:500;line-height:1.3;letter-spacing:0;text-transform:none;opacity:1;color:#e2e8f0;background:#94a3b80e;box-shadow:none;cursor:pointer;transform:none;transition:background .14s ease,border-color .14s ease}.settings-content .bg-preset.active,.settings-content :is(.theme-option,.settings-pill):has(input:checked),.feedback-kind .settings-pill:has(input:checked){background:#26384d;border-color:#7dd3fc;color:#fff;box-shadow:inset 0 0 0 1px #7dd3fc;transform:none}.settings-content .bg-preset:hover,.settings-content :is(.theme-option,.settings-pill):hover{border-color:#cbd5e1}#theme-options .color-chip{box-shadow:none!important}.feedback-kind input[type=radio]{position:absolute;width:1px;height:1px;opacity:0;clip-path:inset(50%)}.feedback-kind label:has(input:focus-visible){outline:1px solid currentColor;outline-offset:3px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;padding:12px 14px;border:1px solid #475569;border-radius:var(--control-radius);background:#94a3b80a;cursor:pointer}.setting-row-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.setting-row-title{color:#f1f5f9;font-size:14px;font-weight:500;line-height:1.4}.setting-row-description{color:#a9b6c9;font-size:12px;line-height:1.5}.switch{position:relative;display:block;width:44px;height:26px;flex:0 0 44px}.switch input{position:absolute;inset:-9px -3px;width:50px;height:44px;margin:0;opacity:0;z-index:1;cursor:pointer}.switch-track{position:absolute;inset:0;border:1px solid #718096;border-radius:999px;background:#475569}.switch-track:before{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000026}.switch input:checked+.switch-track{background:#38bdf8;border-color:#38bdf8}.switch input:checked+.switch-track:before{left:21px}.switch input:focus-visible+.switch-track{outline:1px solid currentColor;outline-offset:3px}.file-upload{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding-top:12px}#choose-text-file,#restart-btn{padding:9px 12px;border:1px solid #64748b;border-radius:var(--control-radius);background:#243247;color:#f1f5f9;cursor:pointer;font:inherit;font-size:13px}#custom-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:#cbd5e1}#custom-file-status{grid-column:1 / -1}body.theme-light .setting-row{background:#f1f5f9;border-color:#b3bfce}body.theme-light .setting-row-title{color:#0f172a}body.theme-light .setting-row-description,body.theme-light #custom-file-name{color:#475569}body.theme-light .settings-content :is(.bg-preset,.theme-option,.settings-pill){border-color:#a0aebe;color:#334155}body.theme-light .settings-content .bg-preset.active,body.theme-light .settings-content :is(.theme-option,.settings-pill):has(input:checked){background:#dbeafe;color:#102d49;border-color:#0369a1;box-shadow:inset 0 0 0 1px #0369a1}.close-btn,.feedback-close{top:12px;right:12px;width:40px;height:40px;display:grid;place-items:center;font:26px/1 system-ui;border-radius:var(--control-radius)}.close-btn:hover,.feedback-close:hover{background:#94a3b824}.feedback-modal .feedback-panel{padding:0;border-radius:var(--panel-radius);max-height:88vh;overflow-y:auto;transform:none;transition:none}.feedback-form-view,.feedback-thanks{padding:20px 24px 24px}.feedback-kind{padding:0;border:0;margin:0 0 10px}.feedback-kind legend{color:#cbd5e1;font-size:13px;margin-bottom:10px}.feedback-kind .settings-pill-group{margin:0}#feedback-form{gap:8px}#feedback-form>label{font-size:13px;text-transform:none;letter-spacing:0;color:#e2e8f0;margin-top:8px}#feedback-form :is(input,select,textarea){border-radius:var(--control-radius);font:inherit;font-size:14px;padding:11px 12px}#feedback-form textarea{min-height:128px}.field-optional,.feedback-subtext{color:#a9b6c9}.feedback-subtext{font-size:12px;margin:0}.feedback-submit,.about-cta{border-radius:var(--control-radius);text-transform:none;letter-spacing:0;font-size:14px;font-weight:600;min-height:42px}.feedback-submit{min-width:128px}.feedback-thanks{text-align:center}.feedback-thanks .feedback-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#153f3a;color:#5eead4;font-size:24px;margin:0 auto 16px}.feedback-thanks p{color:#cbd5e1;line-height:1.6;margin-bottom:20px}body.theme-light .feedback-kind legend,body.theme-light #feedback-form>label{color:#334155}body.theme-light .field-optional,body.theme-light .feedback-subtext,body.theme-light .feedback-thanks p{color:#475569}#restart-btn{margin-right:8px;background:transparent;font-size:12px}body.theme-light.bg-default #restart-btn{color:#0f172a;border-color:#94a3b8}#typing-container{min-height:0}@media(max-width:1100px){#header{flex-wrap:wrap;gap:12px}.header-right{margin-left:auto}}@media(max-width:520px){.settings-body{padding:2px 18px 20px}.dialog-heading{padding-left:18px}}.about-card{border-radius:var(--panel-radius)}.about-card h1{letter-spacing:-.025em}.about-slide.fade-bottom,.about-slide.no-fade{mask-image:none;-webkit-mask-image:none;overflow-y:auto}.about-card strong{font-weight:650}.slider-dots{gap:0}.slider-dot{position:relative;width:28px;height:36px;border:0;background:transparent;transform:none}.slider-dot:before{content:"";position:absolute;width:8px;height:8px;left:10px;top:14px;border-radius:50%;background:#64748b}.slider-dot.active{background:transparent;border:0;transform:none}.slider-dot.active:before{background:#e2e8f0}.about-progress{font-size:12px;font-variant-numeric:tabular-nums;color:#cbd5e1;white-space:nowrap}.about-slider:focus-visible{outline-offset:4px}.not-found{width:min(600px,calc(100% - 48px));margin:auto;text-align:center;padding:48px 24px}.not-found .eyebrow{color:#94a3b8;font-size:14px;letter-spacing:.1em}.not-found h1{margin:16px 0;font-size:clamp(32px,5vw,48px);letter-spacing:-.04em}.not-found>p{color:#cbd5e1;line-height:1.6}.not-found .about-cta{margin-top:24px}@media(min-width:521px){#background-presets,#ocean-surface-settings .settings-pill-group{grid-template-columns:repeat(3,minmax(0,1fr))}}body.theme-light .settings-content :is(.theme-option,.settings-pill):has(input[type=radio]:checked){background:#dbeafe;color:#102d49;border-color:#0369a1;box-shadow:inset 0 0 0 1px #0369a1}body.bg-default.theme-dark .char:not(.correct):not(.incorrect){opacity:1;color:#94a3b8}body.bg-default.theme-light .char:not(.correct):not(.incorrect){opacity:1;color:#64748b}.settings-content #background-presets .bg-preset[data-bg-id]{height:38px;min-height:38px;overflow:hidden;background:#091322;color:var(--preview-fg,#f8fafc);font-family:var(--preview-font,system-ui,sans-serif);font-size:13px;font-weight:600;text-shadow:var(--preview-shadow,0 1px 3px rgba(0,0,0,.7))}.bg-preset[data-bg-id=rainy]{--preview-font: "IBM Plex Sans",sans-serif}.bg-preset[data-bg-id=blur]{--preview-font:"Manrope",sans-serif}.bg-preset[data-bg-id=ocean]{--preview-font:"Nunito Sans",sans-serif}.bg-preset[data-bg-id=liquid-gradient],.bg-preset[data-bg-id=geometric]{--preview-font:"Space Grotesk",sans-serif}.bg-preset[data-bg-id=topograph]{--preview-font:"IBM Plex Mono",monospace}.bg-preset[data-bg-id=neon]{--preview-font:"Rajdhani",sans-serif;--preview-fg:#f5d0fe;--preview-shadow:0 0 4px #e879f9,0 0 12px rgba(217,70,239,.7)}.bg-preset[data-bg-id=nebula]{--preview-font:"Oxanium",sans-serif}.bg-preset[data-bg-id=christmas]{--preview-font:"Lora",serif}.settings-content #background-presets .bg-preset.active{border-color:#a5ddff;box-shadow:inset 0 0 0 1px #a5ddff}.settings-content #background-presets .bg-preset:hover{border-color:#e2e8f0}body.bg-rainy{--theme-font:"IBM Plex Sans",sans-serif}body.bg-blur{--theme-font:"Manrope",sans-serif}body.bg-ocean{--theme-font:"Nunito Sans",sans-serif}body.bg-liquid-gradient,body.bg-geometric{--theme-font:"Space Grotesk",sans-serif}body.bg-topograph{--theme-font:"IBM Plex Mono",monospace}body.bg-neon{--theme-font:"Rajdhani",sans-serif}body.bg-nebula{--theme-font:"Oxanium",sans-serif}body.bg-christmas{--theme-font:"Lora",serif}body{font-family:var(--theme-font,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif)}.settings-content,.feedback-panel{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body.bg-topograph #text-target,body.bg-topograph #free-target{letter-spacing:0}body.bg-neon #text-target,body.bg-neon #free-target{font-weight:600}.settings-content #background-presets .bg-preset{isolation:isolate}.settings-content #background-presets .bg-preset:after{content:none}.live-theme-preview{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;pointer-events:none;z-index:0}.live-theme-preview[hidden]{display:none}.theme-preview-label{position:relative;z-index:1;pointer-events:none}#topograph-video-wrapper{overflow:clip}#scene-scrim{position:fixed;inset:0;z-index:-1;pointer-events:none;display:none;background:#0206176b}body:is(.bg-nebula,.bg-blur,.bg-liquid-gradient,.bg-geometric,.bg-topograph,.bg-rainy) #scene-scrim{display:block}body:is(.bg-nebula,.bg-blur,.bg-liquid-gradient,.bg-geometric,.bg-topograph,.bg-rainy,.bg-christmas) .char:not(.correct):not(.incorrect){opacity:.8;color:#e2e8f0}body.bg-neon .char:not(.correct):not(.incorrect){opacity:.7}body:not(.bg-default) :is(.header-left,.header-right){background:#081222e6;border-color:#94a3b866}:root{--control-radius: 999px;--panel-radius: 28px}#header{position:relative;top:auto;flex:none;flex-wrap:nowrap;gap:12px;padding:16px clamp(16px,3vw,32px) 0}.header-left,.header-right{min-width:0;flex:0 1 auto;padding:10px 14px;gap:14px}#logo img{height:24px}.nav-links{gap:6px}.nav-link{font-size:12px;padding:7px 12px;min-height:36px}.metrics{gap:16px}.metrics>div{display:flex;flex-direction:column;gap:2px;white-space:nowrap;letter-spacing:0;line-height:1.15}.metrics .metric-label{font-size:10px;font-weight:500;color:inherit;opacity:.8}.metrics .metric-value{font-size:15px;font-weight:650}.settings-wrapper{gap:8px}#settings-btn{min-height:36px;padding:7px 12px;font-size:12px}#restart-btn,.nav-link.feedback-btn{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;min-height:36px;padding:0;margin:0;border-radius:50%;border:1px solid rgba(148,163,184,.5);background:#94a3b80f;color:inherit}#restart-btn:hover{background:#94a3b82e;border-color:#cbd5e1}#restart-btn svg{display:block}#typing-container{padding:clamp(24px,5vh,52px) clamp(20px,4vw,48px) 35vh;margin-top:0;scroll-behavior:auto;overflow-x:clip}#typing-logo{width:clamp(140px,23vw,280px);max-height:20vh;object-fit:contain;margin-bottom:clamp(24px,5vh,48px)}#text-target,#free-target{font-size:clamp(1.4rem,2.6vw,2.15rem);line-height:1.65;letter-spacing:.025em;font-weight:500;font-kerning:none;font-variant-ligatures:none}.line{white-space:pre;margin:0;min-height:1.65em}.line.layout-probe{white-space:pre-wrap;overflow-wrap:anywhere}.char{transition:color .1s linear,opacity .1s linear,text-shadow .1s linear}.free-char{animation:typed-letter .1s linear}@keyframes typed-letter{0%{opacity:.35}to{opacity:1}}.caret-anchor{display:inline-block;width:0;height:1.15em;vertical-align:-.15em;pointer-events:none}.typing-caret{position:absolute;top:0;left:0;width:2px;border-radius:999px;pointer-events:none;color:#f8fafc;z-index:2;opacity:0;transition:transform .1s cubic-bezier(.25,.1,.25,1)}.typing-caret[data-positioned]{opacity:1}.typing-caret:after{content:"";position:absolute;inset:0;border-radius:inherit;background:currentColor;animation:caret-breathe 1s ease-in-out infinite}.typing-caret.is-typing:after{animation:none;opacity:1}body.theme-light.bg-default .typing-caret{color:#0f172a}body:has(dialog[open]) .typing-caret{opacity:0}@keyframes caret-breathe{0%,to{opacity:1}50%{opacity:.15}}.reduced-motion .typing-caret{transition:none}.reduced-motion .typing-caret:after{animation:none}.close-btn,.feedback-close{border-radius:50%}.setting-row{padding:13px 20px}#custom-file-panel,#feedback-form textarea{border-radius:22px}#restart-dialog{width:min(380px,calc(100vw - 32px));border:1px solid #64748b;border-radius:var(--panel-radius);padding:0;margin:auto;background:#141c2b;color:#f8fafc;font-family:system-ui,sans-serif}#restart-dialog::backdrop{background:#020617a6}.restart-panel{padding:26px}.restart-panel h2{margin:0 0 12px;font-size:21px;letter-spacing:-.025em}.restart-panel p{color:#b7c3d5;font-size:14px;line-height:1.5}.restart-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.dialog-button{min-height:40px;padding:9px 18px;border-radius:var(--control-radius);border:1px solid #64748b;background:transparent;color:inherit;font:600 14px system-ui,sans-serif;cursor:pointer}.dialog-button:hover{background:#94a3b826}.dialog-button-primary{background:#c3e8ff;color:#122337;border-color:#c3e8ff}.dialog-button-primary:hover{background:#e0f2fe}body.theme-light #restart-dialog{background:#f8fafc;color:#0f172a}body.theme-light .restart-panel p{color:#475569}@media(max-width:1050px){.header-left,.header-right{padding:8px 12px;gap:10px}#logo img{height:20px}.metrics{gap:12px}.nav-link{padding-inline:10px;font-size:11px}}@media(max-width:740px){#header{flex-wrap:wrap;gap:8px;padding-top:12px}.header-left,.header-right{flex:1 1 100%;justify-content:space-between;margin:0}#typing-logo{width:160px}.settings-content{margin:0}}@media(max-width:420px){#header .nav-link.active,#max-wpm-display{display:none}}@media(max-height:650px){#typing-logo{width:140px;margin-bottom:24px}#typing-container{padding-top:24px}}@media(max-height:500px){#typing-logo{display:none}#typing-container{padding-top:20px}}@media(max-width:1100px){#header:has(#settings-tooltip:not(.hidden)){padding-bottom:64px}}#logo img{width:clamp(128px,15vw,180px);height:auto}.practice-intro{max-width:720px;margin:0 auto 30px;text-align:center;font-family:system-ui,sans-serif}.practice-intro #typing-logo{width:clamp(300px,40vw,520px);max-width:100%;height:auto;max-height:none;margin:0 auto 16px}.practice-intro h1{font-size:16px;font-weight:550;letter-spacing:-.02em;line-height:1.5}.practice-intro p{margin-top:5px;font-size:13px;font-weight:400;color:#cbd5e1;line-height:1.5}.practice-guide-link{display:inline-block;margin-top:7px;font-size:12px;color:#cbd5e1;text-underline-offset:3px}body.theme-light.bg-default .practice-intro :is(p,a){color:#475569}.mobile-overview{display:none}.about-card h2{font-size:clamp(1.7rem,3vw,2.3rem);margin-bottom:1rem;letter-spacing:-.025em}.about-card a{color:#b9ddff;text-underline-offset:3px}body.theme-light .about-card a{color:#075985}.guide-page{display:block;overflow:auto;height:auto;min-height:100%;background:#080a0f}.guide-article{width:min(760px,100%);margin:0 auto;padding:64px 24px;font-family:system-ui,sans-serif;color:#cbd5e1;line-height:1.8}.guide-article .eyebrow{color:#94a3b8;font-size:12px;letter-spacing:.13em;text-transform:uppercase}.guide-article h1{font-size:clamp(2rem,5vw,3.2rem);line-height:1.15;letter-spacing:-.045em;color:#f8fafc;margin:12px 0 24px}.guide-lead{font-size:18px;margin-bottom:28px}.guide-article a{color:#bae6fd;text-underline-offset:4px}.guide-article .dialog-button{display:inline-flex;text-decoration:none;color:#122337}.guide-contents{display:flex;gap:12px 24px;flex-wrap:wrap;margin:36px 0;padding-block:20px;border-block:1px solid #334155;font-size:14px}.guide-article section{scroll-margin-top:24px;margin-top:48px}.guide-article h2{color:#f8fafc;font-size:26px;letter-spacing:-.025em;line-height:1.3;margin-bottom:18px}.guide-article h3{color:#e2e8f0;font-size:18px;margin-top:28px}.guide-article p,.guide-article li{margin-block:12px}.guide-article ol{padding-left:22px}.guide-footer{display:flex;gap:24px;border-top:1px solid #334155;padding-top:24px;margin-top:48px}@media(max-height:650px){.practice-intro{margin-bottom:24px}.practice-intro #typing-logo{width:clamp(280px,38vw,380px);margin-bottom:10px}.practice-intro h1{font-size:14px}.practice-intro :is(p,.practice-guide-link){display:none}}@media(max-width:900px)and (pointer:coarse){html,body{height:auto;min-height:100%;overflow-y:auto}body{display:block}#app{min-height:100dvh;height:auto}#header .header-left{flex:1 1 100%}#header .header-right{display:none}#typing-container{flex:none;height:auto;width:100%;max-width:720px;margin:0 auto;padding:36px 22px 48px;overflow:visible}#typing-container :is(#text-target,#free-target,.typing-caret,#typing-status){display:none!important}.practice-intro{margin-bottom:32px}.practice-intro #typing-logo{display:block;width:min(420px,100%);margin-bottom:24px}.practice-intro h1{font-size:19px}.practice-intro p{display:block;font-size:14px;margin-top:10px}.practice-guide-link{display:inline-block;margin-top:12px}.mobile-overview{display:block;font-family:system-ui,sans-serif;line-height:1.65}.mobile-overview h2{font-size:24px;letter-spacing:-.035em;margin-bottom:12px}.mobile-overview p{font-size:15px;color:#b6c4d7;margin-bottom:18px}.mobile-feature{border:1px solid #475569;border-radius:24px;background:#94a3b80f;padding:20px;margin-top:14px}.mobile-feature h3{font-size:16px;margin-bottom:7px}.mobile-feature p{font-size:14px;margin:0}.mobile-overview .keyboard-note{margin-top:26px}.mobile-actions{display:flex;flex-wrap:wrap;gap:10px}.mobile-actions a{text-decoration:none}body.theme-light.bg-default .mobile-overview p{color:#475569}.about-page{padding:28px 18px}.about-slider{display:block;min-height:0;max-height:none;overflow:visible;padding:24px}.about-slide{position:static;inset:auto;padding:20px 0;margin:0;max-height:none;overflow:visible;opacity:1;transform:none;visibility:visible}.slider-controls{display:none}.about-card :is(h1,h2){font-size:26px;line-height:1.3}.about-card p{font-size:15px}.about-slide{pointer-events:auto}}body.bg-nebula.nebula-midnight{background:radial-gradient(ellipse at 75% 18%,rgba(27,39,75,.28),transparent 58%),radial-gradient(ellipse at 18% 80%,rgba(34,23,59,.2),transparent 60%),#02040b}body.bg-nebula.nebula-midnight #nebula-hires-layer{display:none;background:none}body.bg-nebula.nebula-midnight:after{content:none}#shooting-stars{display:none;position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:-2}body.bg-nebula.nebula-midnight #shooting-stars{display:block}.shooting-star{position:absolute;width:clamp(90px,14vw,190px);height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(173,201,255,.24) 38%,#eef5ff);transform-origin:right center;opacity:0}.shooting-star:after{content:"";position:absolute;top:-1px;right:0;width:4px;height:4px;border-radius:50%;background:#f1f7ff;box-shadow:0 0 8px 2px #9bbfff66}.reduced-motion #shooting-stars,.document-hidden #shooting-stars{display:none!important}body.about-blur-page{height:100vh;height:100dvh;min-height:0;overflow:hidden}body.about-blur-page #app{height:100%;min-height:0}.about-page{display:flex;flex:1 1 0;min-height:0;margin:0 auto;padding:clamp(16px,3vh,32px) clamp(16px,3vw,32px)}.about-slider{flex:1;width:100%;height:100%;min-height:0;max-height:none;display:block;padding:0;overflow:hidden}.about-slide{inset:0 0 72px;max-width:none;margin:0;padding:clamp(24px,4vw,48px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#64748b transparent}.about-slide::-webkit-scrollbar{width:6px;height:6px}.about-slide::-webkit-scrollbar-thumb{border-radius:999px;background:#64748b}.about-slide::-webkit-scrollbar-track{background:transparent}.about-icon{width:56px;height:56px;padding:13px;margin-bottom:20px;border:1px solid rgba(148,163,184,.35);border-radius:18px;background:#94a3b814;filter:none}.slider-controls{bottom:0;height:72px;padding:12px clamp(12px,3vw,24px);z-index:2;border-top:1px solid rgba(148,163,184,.2);background:#080e1b73}@media(max-width:900px)and (pointer:coarse){.about-page{padding:18px}.about-page .about-slider{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#64748b transparent;padding:0 24px}.about-page .about-slide{position:static;inset:auto;padding:28px 0;overflow:visible;scrollbar-gutter:auto}.about-page .about-slide+.about-slide{border-top:1px solid rgba(148,163,184,.2)}.about-icon{width:48px;height:48px;padding:10px;border-radius:16px}}@media(max-width:520px){.about-slider .slider-dots{display:none}}.tests-page{--test-menu:#111a2a;--test-panel:rgba(14,22,37,.92);--test-ink:#edf2fa;--test-muted:#b2bed0;--test-border:rgba(148,163,184,.32);--test-accent:#c3e8ff;--test-field:rgba(148,163,184,.08)}.tests-page.bg-default.theme-light{--test-menu:#f8fafc;--test-panel:rgba(255,255,255,.96);--test-ink:#172435;--test-muted:#526176;--test-border:#bac6d5;--test-accent:#163e5b;--test-field:rgba(71,85,105,.05)}.tests-page #app{height:100dvh;min-height:0}.tests-page #header{max-width:1280px;width:100%;margin:0 auto}.tests-page #typing-container{flex:1;min-height:0;width:min(100%,1060px);max-width:1060px;margin:0 auto;padding:36px 28px 60px;overflow-y:auto;text-shadow:none;color:var(--test-ink)}.test-heading{font-family:system-ui,sans-serif;margin:0 0 26px}.test-heading .eyebrow{margin:0 0 8px;color:var(--test-muted);font-size:11px;text-transform:uppercase;letter-spacing:.12em}.test-heading h1{margin:0 0 10px;font-size:clamp(25px,3.3vw,38px);font-weight:600;letter-spacing:-.04em;line-height:1.2}.test-heading>p:last-child{color:var(--test-muted);font-size:14px;line-height:1.5;margin:0}#test-app{color:var(--test-ink)}#test-app [hidden],.tests-page #text-target,.tests-page #free-target{display:none!important}.test-tabs{display:flex;gap:5px;border:1px solid var(--test-border);border-radius:999px;padding:4px;width:max-content;margin-bottom:18px;background:var(--test-panel);font-family:system-ui,sans-serif}.test-tabs button{border:0;border-radius:999px;padding:10px 22px;font:600 14px system-ui,sans-serif;color:var(--test-muted);background:transparent;cursor:pointer}.test-tabs [aria-selected=true]{color:var(--test-ink);background:var(--test-field);box-shadow:inset 0 0 0 1px var(--test-border)}#test-workspace{border:1px solid var(--test-border);border-radius:var(--panel-radius);padding:24px;background:var(--test-panel)}#test-config,.test-rule,.test-session-bar,.test-session-footer,.test-results,.test-history,.test-explainer{font-family:system-ui,sans-serif}#test-options{border:0;min-width:0;margin:0;padding:0}.test-config-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}#test-config label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--test-muted);min-width:0}#test-config :is(select,input[type=number]){color:var(--test-ink);background:var(--test-field);border:1px solid var(--test-border);border-radius:999px;padding:10px 14px;font:500 14px system-ui,sans-serif;min-height:42px;width:100%;min-width:0}#test-config option{color:#172435;background:#fff}#test-config :disabled{opacity:.6;cursor:default}#test-config :focus-visible,#test-app button:focus-visible,#test-app summary:focus-visible{outline:2px solid var(--test-accent);outline-offset:3px}.test-options-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;font-size:12px;color:var(--test-muted)}.test-pills{display:flex;flex-wrap:wrap;gap:6px}.test-pills button{min-height:36px;min-width:44px;padding:7px 13px;border:1px solid var(--test-border);border-radius:999px;background:transparent;color:var(--test-muted);font:500 12px system-ui,sans-serif;cursor:pointer}.test-pills button[aria-pressed=true]{background:var(--test-accent);border-color:var(--test-accent);color:var(--test-panel)}.tests-page:not(.theme-light.bg-default) .test-pills button[aria-pressed=true]{color:#102134}.tests-page.theme-light.bg-default .test-pills button[aria-pressed=true]{color:#fff}#test-custom-label{max-width:180px}.test-extras{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:16px}#test-config .test-extras label{flex-direction:row;align-items:center;gap:8px;font-size:12px}#test-config input[type=checkbox]:not(.switch input){appearance:auto;width:16px;height:16px;accent-color:var(--test-accent);flex-shrink:0}#test-config .test-extras input[type=number],#test-pace-options input{max-width:90px}#test-pace-options{margin-top:16px}.test-rule{margin:18px 0;font-size:12px;color:var(--test-muted);line-height:1.6}.test-session-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:18px;border-top:1px solid var(--test-border);font-size:12px;color:var(--test-muted)}#test-progress{font-variant-numeric:tabular-nums;font-size:21px;font-weight:550;color:var(--test-accent)}#test-viewport{position:relative;font-size:clamp(22px,2.2vw,29px);height:5.55em;overflow:auto;overscroll-behavior:contain;margin:20px 0;scrollbar-width:none;cursor:text;border-radius:12px}#test-viewport.is-focused{outline:1px solid var(--test-border);outline-offset:8px}#test-words{position:relative;font-family:var(--theme-font,system-ui,sans-serif);font-size:inherit;line-height:1.85;font-weight:500;letter-spacing:.015em;font-variant-ligatures:none;font-kerning:none}.test-word{display:inline-block;white-space:pre;max-width:100%;overflow-wrap:anywhere}.test-char{color:var(--test-muted);transition:color .1s linear}.test-char.correct{color:var(--test-ink)}.test-char.incorrect{color:#ff94a0;background:#ef444426;border-radius:3px}.tests-page.theme-light.bg-default .test-char.incorrect{color:#b91c1c}#test-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;resize:none;padding:0;border:0;font-size:16px;cursor:text}#test-caret{position:absolute;top:0;left:0;width:2px;background:var(--test-accent);border-radius:999px;pointer-events:none;transition:transform .1s cubic-bezier(.25,.1,.25,1);animation:caret-breathe 1s ease-in-out infinite}#test-caret.is-typing{animation:none}.test-session-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}#test-hint{font-size:12px;color:var(--test-muted);line-height:1.5;margin:0;flex:1 1 220px}#test-app .dialog-button{color:var(--test-ink);border-color:var(--test-border)}#test-app .dialog-button-primary{color:#122337;border-color:#c3e8ff}#test-result-title{margin:6px 0 10px;font-size:clamp(23px,3vw,32px);letter-spacing:-.035em}#test-result-title:focus{outline:0}#test-result-label{font-size:11px;color:var(--test-muted);line-height:1.6}#test-result-summary,.test-best{font-size:13px;line-height:1.6;color:var(--test-muted)}#test-result-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:26px 0}#test-result-metrics dt{font-size:11px;color:var(--test-muted);margin-bottom:8px}#test-result-metrics dd{margin:0;font-size:clamp(19px,2.3vw,28px);font-weight:550;font-variant-numeric:tabular-nums}.test-best{color:var(--test-accent)}.test-chart{margin:24px 0}.test-chart svg{width:100%;max-height:170px;overflow:visible}.chart-grid{stroke:var(--test-border);stroke-width:1;fill:none}.chart-line{stroke:var(--test-accent);stroke-width:2.5;stroke-linejoin:round;fill:none}.chart-label{fill:var(--test-muted);font:10px system-ui,sans-serif}.test-chart figcaption{font-size:11px;color:var(--test-muted)}.test-result-actions{display:flex;flex-wrap:wrap;gap:10px}.test-history,.test-explainer{border:1px solid var(--test-border);background:var(--test-panel);border-radius:24px;padding:18px 22px;margin-top:14px;font-size:12px;line-height:1.7;color:var(--test-muted)}.test-history summary,.test-explainer summary{cursor:pointer;color:var(--test-ink);font-size:13px}#test-history-list ol{padding:0;list-style:none;max-height:350px;overflow:auto}#test-history-list li{display:flex;flex-direction:column;gap:2px;padding:12px 0;border-bottom:1px solid var(--test-border)}#test-history-list strong{color:var(--test-ink);font-weight:550}#test-history-list time{font-size:11px}.test-explainer p{margin:14px 0 0}.test-explainer a{color:var(--test-accent)}#clear-history-dialog{width:min(400px,calc(100vw - 32px));border:1px solid #64748b;border-radius:28px;padding:0;margin:auto;background:#141c2b;color:#f8fafc;font-family:system-ui,sans-serif}#clear-history-dialog::backdrop{background:#020617a6}@media(max-width:1100px){.tests-page #header{flex-wrap:wrap}}@media(max-width:740px){.tests-page #typing-container{padding:26px 16px 40px}#test-workspace{padding:18px}.test-heading{margin-bottom:20px}#test-result-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}@media(max-width:520px){.test-config-grid{grid-template-columns:1fr 1fr;gap:12px}.test-config-grid label:last-child{grid-column:1 / -1}.test-heading h1{font-size:27px}.test-tabs button{min-height:40px}.test-options-row{gap:8px}.test-pills{gap:5px}.test-pills button{min-width:38px;padding:7px 10px}}@media(max-width:900px)and (pointer:coarse){.tests-page #app{height:auto;min-height:100dvh}.tests-page #header .header-right{display:flex}.tests-page #typing-container{height:auto;overflow:visible;max-width:1060px;padding:26px 16px 40px}}@media(max-width:420px){.tests-page #header .header-left{gap:8px}.tests-page #logo{flex:0 1 auto;min-width:0}.tests-page #logo img{height:19px;max-width:100%}.tests-page #header .nav-link.active{display:block}.tests-page .nav-link{padding-inline:9px}.tests-page #header .feedback-btn{display:none}}@media(prefers-reduced-motion:reduce){html:not(.motion-full) #test-caret{transition:none;animation:none}html:not(.motion-full) .test-char{transition:none}}.reduced-motion #test-caret{transition:none;animation:none}.reduced-motion .test-char{transition:none}.tests-page #logo .tests-condensed-logo{display:none}@media(max-width:520px){.tests-page #logo .tests-wordmark{display:none}.tests-page #logo .tests-condensed-logo{display:block;width:28px;height:28px}.tests-page #logo{flex:0 0 28px}.tests-page #header .feedback-btn{display:grid}}.test-tabs{position:relative;isolation:isolate}.test-tabs button{position:relative;z-index:1}.test-tabs [aria-selected=true]{background:transparent;box-shadow:none}.test-tab-indicator{position:absolute;top:4px;bottom:4px;left:4px;width:var(--tab-width,80px);transform:translate(var(--tab-x,0px));border:1px solid var(--test-border);border-radius:999px;background:var(--test-field);pointer-events:none;z-index:0}.test-tabs[data-ready] .test-tab-indicator{transition:transform .24s cubic-bezier(.22,.61,.36,1),width .24s cubic-bezier(.22,.61,.36,1)}.tests-page .metrics .metric-value{font-variant-numeric:tabular-nums}#test-config :focus-visible,#test-app button:focus-visible,#test-app summary:focus-visible{outline:none}#test-config :is(input[type=number],.test-select-trigger):focus-visible,#test-app button:focus-visible{border-color:var(--test-ink);box-shadow:inset 0 0 0 1px var(--test-ink)}#test-app :is(summary,[role=tab]):focus-visible{text-decoration:underline;text-underline-offset:5px}#test-config .switch input:focus-visible+.switch-track{outline:none;box-shadow:0 0 0 1px var(--test-ink)}#test-viewport.is-focused{outline:none}.tests-page :focus-visible{outline-color:currentColor}.tests-page .settings-content :is(.theme-option,.settings-pill):focus-within,.tests-page .feedback-kind label:focus-within{outline:none}.tests-page .settings-content :is(.theme-option,.settings-pill):has(input:focus-visible){outline:1px solid currentColor;outline-offset:3px}.tests-page .switch input:focus-visible+.switch-track{outline-color:currentColor}.test-select{display:flex;flex-direction:column;gap:8px;min-width:0}#test-config .test-select label{gap:0}#test-config .test-select select[hidden]{display:none}.test-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-width:0;min-height:42px;padding:10px 18px;border:1px solid var(--test-border);border-radius:999px;background:var(--test-field);color:var(--test-ink);font:500 14px system-ui,sans-serif;text-align:left;cursor:pointer}.test-select-value{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.select-chevron{display:block;flex:0 0 14px}.test-select-trigger[aria-expanded=true] .select-chevron{transform:rotate(180deg)}.test-select-trigger:hover:not(:disabled){border-color:var(--test-muted)}.test-select-menu{position:fixed;inset:auto;margin:0;padding:6px;box-sizing:border-box;border:1px solid var(--test-border);border-radius:20px;background:var(--test-menu);color:var(--test-ink);box-shadow:0 12px 35px #00000038;font:500 14px system-ui,sans-serif;overflow:auto;z-index:2000;overscroll-behavior:contain}.test-select-menu[hidden]{display:none}.test-select-menu [role=option]{display:flex;align-items:center;justify-content:space-between;min-height:40px;padding:10px 12px;border-radius:14px;cursor:pointer}.test-select-menu [role=option].is-active{background:var(--test-field)}.test-select-menu [role=option][aria-selected=true]:after{content:"\2713";padding-left:12px}.test-select-menu::backdrop{background:transparent}@media(max-width:520px){.test-config-grid .test-select:last-child{grid-column:1 / -1}}.tests-page{--test-error:#ff94a0}.tests-page.bg-default.theme-light{--test-error:#b91c1c}.test-chart svg{max-height:260px;display:block}.chart-error-bar{fill:var(--test-error)}.test-chart figcaption{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;margin-top:6px}.chart-legend-speed:before,.chart-legend-errors:before{content:"";display:inline-block;vertical-align:middle;margin-right:7px;width:15px;height:2px;border-radius:2px;background:var(--test-accent)}.chart-legend-errors:before{width:6px;height:9px;background:var(--test-error)}.test-error-details{font-size:12px;color:var(--test-muted);margin:-4px 0 24px;line-height:1.7}.test-error-details summary{cursor:pointer;width:max-content;max-width:100%}.test-error-details ol{max-height:180px;overflow:auto;padding-left:20px}.reduced-motion .test-tabs[data-ready] .test-tab-indicator{transition:none}@media(prefers-reduced-motion:reduce){html:not(.motion-full) .test-tabs[data-ready] .test-tab-indicator{transition:none}}.chart-pace-minimum{fill:none;stroke:var(--test-muted);stroke-width:1;stroke-dasharray:5 4;opacity:.8}.chart-legend-pace:before{content:"";display:inline-block;vertical-align:middle;margin-right:7px;width:15px;border-top:1px dashed var(--test-muted)}
