:root{color-scheme:dark;--bg:#0e0e0e;--panel:#181818;--field:#101010;--text:#ededed;--muted:#adadad;--line:#363636;--paper:#e3e3df;--serif:Georgia,"Times New Roman",serif;--body:"Trebuchet MS",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.055em;line-height:1.02}h1 em,h2 em{font-weight:400}h3{font-size:1.05rem;font-weight:400;line-height:1.3}p{color:var(--muted)}.wrap{width:min(1120px,calc(100% - 64px));margin-inline:auto}.section{padding-block:76px;scroll-margin-top:24px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--paper);outline-offset:5px}.skip-link{position:fixed;top:8px;left:16px;z-index:100;background:var(--paper);color:#101010;padding:8px 16px;transform:translateY(-160%)}.skip-link:focus{transform:none}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:94px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand img{width:63px;height:auto}.brand span,.footer-brand{font-family:var(--serif);font-size:1.6rem;font-style:italic;letter-spacing:-.06em}.site-header nav{display:flex;align-items:center;gap:28px;font-size:.86rem}.site-header nav>a{padding-block:10px;color:var(--muted)}.site-header nav>a:hover{color:var(--text)}.site-header nav>.nav-download{padding:8px 13px;color:var(--text);border:1px solid #555;border-radius:3px}.nav-download span{margin-left:12px}
.hero{display:grid;grid-template-columns:1.02fr 1fr;align-items:center;gap:20px;padding-block:62px 54px;overflow:hidden}.eyebrow{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}.hero h1{font-size:clamp(4rem,7.3vw,6.5rem);margin-left:-5px}.lede{font-size:1.07rem;line-height:1.55;margin-top:23px}.download-block{margin-top:26px;scroll-margin-top:24px}.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;min-height:47px;border:1px solid #585858;border-radius:3px;padding:10px 19px;color:var(--text);background:#252525;font-size:.9rem;line-height:1.3;text-align:center}.button:hover{background:#333;border-color:#888}.button.primary{background:var(--paper);color:#151515;border-color:var(--paper);box-shadow:0 3px 0 #626262}.button.primary:hover{background:#fff;border-color:#fff}.button:active{transform:translateY(2px);box-shadow:none}.download-note{font-size:.75rem;margin-top:14px}.hero-art{position:relative;min-width:0;height:360px;display:flex;flex-direction:column;justify-content:center;align-items:center;isolation:isolate}.keyboard-art{position:absolute;width:100%;max-width:510px;height:auto;z-index:1;top:-65px;filter:drop-shadow(0 27px 24px #000)}.art-line{position:absolute;border:1px solid #252525;width:82%;height:190px;transform:rotate(-19deg) skewX(14deg);z-index:0}.art-line-one{top:101px}.art-line-two{top:118px}.hero-art figcaption{position:absolute;z-index:2;bottom:1px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:14px;white-space:nowrap;color:var(--muted);font-size:.75rem}.key-pair{display:flex;gap:7px;align-items:center}kbd{font-family:Consolas,"Courier New",monospace;font-size:.76rem;font-weight:400;padding:3px 8px;background:#202020;border:1px solid #555;border-bottom:3px solid #414141;border-radius:4px;color:var(--text)}
.essentials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line);padding-block:19px;gap:22px;font-size:.82rem;color:#bdbdbd}.essentials span{display:flex;align-items:center;gap:12px}.essentials i{font-family:Consolas,monospace;font-style:normal;color:#888;font-size:.65rem}.how,.games,.help{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px}.section-intro h2{font-size:clamp(2.8rem,4.1vw,4.1rem)}.section-intro>p{max-width:320px;margin-top:20px;font-size:.95rem}.section-intro>.eyebrow{margin:0 0 15px}.steps{list-style:none;margin:0;padding:0}.steps li{display:flex;gap:23px;padding:0 0 23px;margin-bottom:23px;border-bottom:1px solid var(--line)}.steps li:last-child{margin:0;border:0;padding:0}.step-number{font-family:var(--serif);font-style:italic;font-size:1.6rem;color:#8d8d8d;line-height:1}.steps p{font-size:.88rem;line-height:1.6;margin-top:7px;max-width:400px}.games{border-block:1px solid var(--line);align-items:center}.section-intro>p.fine-print{font-size:.73rem;color:#969696;margin-top:17px;max-width:300px}
.typing-demo{border:1px solid #454545;border-radius:6px;background:var(--panel);box-shadow:9px 9px 0 #080808;min-width:0}.demo-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:11px 17px;font-size:.7rem;color:var(--muted)}.demo-light{height:5px;width:5px;border-radius:50%;background:#ababab}.demo-control{display:flex;align-items:center;gap:10px;padding:22px 20px 3px;position:relative}.demo-control>label:first-child{font-size:1.05rem;display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-right:auto}.game-tag{font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:2px 5px;border:1px solid var(--line)}.demo-control input{position:absolute;right:20px;width:45px;height:28px;opacity:0;margin:0;cursor:pointer;z-index:2}.switch{flex-shrink:0;display:block;width:45px;height:25px;border-radius:16px;background:#464646;padding:4px;cursor:pointer;border:1px solid #5a5a5a;position:relative}.switch::after{display:block;content:"";width:15px;height:15px;border-radius:50%;background:#e5e5e5;transition:transform .15s}.demo-control input:checked+.switch{background:#dedede;border-color:#dedede}.demo-control input:checked+.switch::after{background:#202020;transform:translateX(19px)}.demo-control input:focus-visible+.switch{outline:2px solid white;outline-offset:5px}.mode-description{margin:0 20px;font-size:.73rem}.demo-chat{margin:20px;border:1px solid var(--line);border-radius:3px;background:var(--field);padding:11px 14px;min-height:86px}.chat-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:#909090}.sample-text{font-family:Consolas,"Courier New",monospace;font-size:.85rem;color:#e1e1e1;min-height:22px;overflow-wrap:anywhere;margin-top:7px}.sample-text.is-typing::after{content:"▏";color:#ddd}.demo-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:0 20px 18px}.demo-caption{font-size:.68rem;color:var(--muted)}.button.small{font-size:.74rem;min-height:34px;padding:7px 12px;gap:14px;white-space:nowrap}.button[hidden]{display:none}
.help{padding-bottom:80px}.questions details{border-bottom:1px solid var(--line)}.questions details:first-child{border-top:1px solid var(--line)}.questions summary{display:flex;gap:20px;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;padding:18px 0;font-size:.93rem}.questions summary::-webkit-details-marker{display:none}.questions summary::after{content:"+";font-family:var(--body);font-size:1.25rem;color:var(--muted);line-height:1;flex-shrink:0}.questions details[open] summary::after{content:"−"}.questions details>div{padding:0 25px 20px 0}.questions details p{font-size:.85rem;line-height:1.7;margin-bottom:10px}.questions details p:last-child{margin:0}.questions a{text-decoration:underline;text-underline-offset:3px;color:var(--text)}
.closing{padding:48px 0;display:flex;align-items:center;justify-content:space-between;gap:40px;border-block:1px solid #545454}.closing h2{font-size:clamp(2.2rem,3.5vw,3.2rem);line-height:1.1}.closing p{font-size:.82rem;margin-top:16px}.closing-actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px;flex-shrink:0}.support{font-size:.75rem;color:var(--muted)}.support span{margin-left:7px}.support:hover{color:var(--text)}.site-footer{display:flex;align-items:center;gap:25px;padding-block:26px;color:#a0a0a0;font-size:.7rem}.footer-brand{font-size:1.3rem;color:var(--text)}.site-footer nav{display:flex;gap:22px;margin-left:auto}.site-footer nav a:hover{text-decoration:underline;text-underline-offset:4px}.error-page{min-height:85vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:25px}.error-page h1{font-size:clamp(3rem,7vw,6rem)}
@media(min-width:1200px){.hero-art{margin-left:20px}.keyboard-art{top:-65px}}
@media(max-width:850px){.wrap{width:calc(100% - 40px)}.hero{gap:0;padding-block:45px}.hero-art{height:320px}.keyboard-art{top:-60px}.hero-art figcaption{flex-direction:column;gap:8px;bottom:0}.how,.games,.help{gap:40px;grid-template-columns:.85fr 1.15fr}.essentials{font-size:.73rem;gap:12px}.essentials span{gap:7px}.section{padding-block:56px}.demo-control{padding-inline:14px}.demo-control input{right:14px}.demo-control>label:first-child{font-size:.93rem}.demo-chat{margin-inline:14px}.demo-bottom{padding-inline:14px;gap:8px}.demo-caption{max-width:112px}.mode-description{margin-inline:14px}.game-tag{display:none}}
@media(max-width:640px){.site-header{min-height:78px;gap:12px}.brand{gap:7px}.brand img{width:42px}.brand span{font-size:1.35rem}.site-header nav{gap:15px;font-size:.75rem}.site-header nav>a:first-child{display:none}.site-header nav>.nav-download{padding:6px 9px}.nav-download span{margin-left:4px}.hero{grid-template-columns:1fr;padding:39px 0 22px;gap:0}.hero h1{font-size:4.7rem}.eyebrow{font-size:.63rem;margin-bottom:16px}.lede{font-size:.97rem;margin-top:20px}.download-block{margin-top:24px}.hero-art{height:250px;margin:20px 0 0;max-width:430px;width:100%;justify-self:center}.keyboard-art{width:360px;max-width:100%;top:-60px}.art-line{height:135px;width:74%;top:64px}.art-line-two{top:78px}.hero-art figcaption{flex-direction:row;gap:12px;bottom:0}.essentials{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:10px 20px;padding-block:17px;font-size:.73rem}.essentials i{display:none}.how,.games,.help{grid-template-columns:1fr;gap:30px}.section-intro h2{font-size:3.2rem}.section-intro>p{max-width:380px;margin-top:16px}.steps li{padding-bottom:20px;margin-bottom:20px}.steps p{font-size:.85rem}.typing-demo{max-width:480px}.demo-control{padding:20px 17px 3px}.demo-control input{right:17px}.demo-control>label:first-child{font-size:1.05rem}.game-tag{display:inline}.demo-chat{margin-inline:17px}.demo-bottom{padding-inline:17px}.demo-caption{max-width:none}.mode-description{margin-inline:17px}.closing{flex-direction:column;align-items:flex-start;gap:28px;padding-block:36px}.closing h2{font-size:2.75rem}.closing-actions{gap:15px}.site-footer{flex-wrap:wrap;gap:14px 20px;padding-block:23px}.site-footer nav{width:100%;margin:0;gap:24px}.section{padding-block:44px}.help{padding-bottom:44px}}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}.brand img{display:none}.site-header nav{gap:12px}.hero h1{font-size:4.25rem}.hero-art{height:220px}.keyboard-art{top:-45px}.hero-art figcaption{font-size:.68rem;gap:9px}.demo-caption{max-width:120px}.closing h2{font-size:2.3rem}.section-intro h2{font-size:2.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.button:disabled{opacity:.55;cursor:default}
