:root{--bg:#f4f5fb;--paper:#fff;--ink:#172033;--muted:#647087;--green:#6745e8;--green-deep:#5332cc;--line:#e1e5ef;--radius:20px;--font:"Segoe UI","Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;overflow-x:hidden;background:var(--bg);color:var(--ink);font:16px/1.5 var(--font)}button,input,textarea{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none}button:disabled{cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #9477ff;outline-offset:4px}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.2}em{font-style:normal;color:var(--green)}svg{flex-shrink:0}.icon{width:20px;height:20px;vertical-align:middle}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-100px;left:20px;background:white;color:#39218f;padding:12px 20px;z-index:100}.skip-link:focus{top:12px}#print-root{display:none}
.sidebar{width:240px;position:fixed;inset:0 auto 0 0;background:#11152b;color:#d7dcf0;padding:30px 17px 20px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:11px;padding:0 11px;color:#fff;font-weight:750;font-size:29px;letter-spacing:-1.3px}.brand-mark{background:#7754ef;width:37px;height:41px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;font-size:34px;font-weight:800;position:relative;line-height:1;letter-spacing:-2px;flex:none}.brand-mark>span{position:absolute;color:#c6f87d;right:-5px;top:-8px;font-size:21px}.brand-dot{color:#c4f67b}.sidebar-label{color:#929aba;font-size:10px;font-weight:700;letter-spacing:1.5px;margin:40px 13px 16px}.sidebar nav{display:grid;gap:7px}.nav-item{display:flex;align-items:center;gap:12px;text-align:left;padding:14px 13px;border-radius:11px;font-size:14px;font-weight:550;color:#b5bfd8;min-height:49px;white-space:nowrap}.nav-item:hover{background:#20263f;color:white}.nav-item.active{background:#7352e9;color:white;box-shadow:0 6px 20px #0002}.nav-pill{margin-left:auto;font-size:9px;font-weight:750;padding:3px 5px;background:#ffffff14;border:1px solid #ffffff1b;border-radius:5px;color:#c9d1eb}.active .nav-pill{color:#fff}.sidebar-bottom{margin-top:auto;padding-top:30px}.grow-card{margin:0 4px 20px;padding:20px 16px;border:1px solid #454262;background:linear-gradient(145deg,#2c284b,#20253f);border-radius:15px}.little-plant{width:32px;height:32px;background:#bff278;color:#273724;border-radius:10px;display:grid;place-items:center;margin-bottom:15px;transform:rotate(-8deg)}.grow-card strong{display:block;font-size:15px;color:white}.grow-card p{font-size:12px;line-height:1.7;color:#b3bdd8;margin:8px 0 16px}.grow-card button{display:flex;align-items:center;gap:7px;color:#d3c7ff;font-size:11px;font-weight:700;padding:0;text-align:left}.grow-card .icon{width:16px;height:16px}.settings-link{display:flex;gap:9px;align-items:center;color:#c2cbe0;font-size:12px;padding:12px 10px}.settings-link .icon{width:17px;height:17px}.save-status{display:flex;align-items:center;gap:6px;font-size:10px;color:#98a4bf;margin:6px 10px}.save-status .icon{width:13px;height:13px}
.workspace{margin-left:240px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:80px;padding:0 42px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#ffffffc9}.breadcrumb{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted)}.breadcrumb strong{color:#414c64;font-weight:600}.header-dot{width:7px;height:7px;background:#7955ed;border-radius:50%}.breadcrumb-slash{color:#c4cad7}.topbar-right{display:flex;align-items:center;gap:22px}.streak-pill{display:flex;align-items:center;gap:5px;color:#6b5c45;font-size:12px;background:#fff4df;border:1px solid #f3e5c7;border-radius:8px;padding:7px 10px}.streak-pill .icon{color:#c58118;width:16px;height:16px}.avatar{width:37px;height:37px;border-radius:50%;background:#e6ddff;color:#5c3ec8;font-weight:700;font-size:14px}main{padding:38px 42px 32px;width:100%;max-width:1490px;margin:auto;flex:1}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.eyebrow{font-size:11px;letter-spacing:1.6px;font-weight:750;color:#6f58b3;margin-bottom:10px;display:block}.page-heading h1{font-size:44px;font-weight:750;letter-spacing:-1.8px;line-height:1.15}.subtitle{margin-top:12px;font-size:15px;color:var(--muted);line-height:1.7}.hero-note{display:flex;gap:8px;margin:0 16px 0 24px;transform:rotate(-8deg);align-items:center}.mini-key{width:52px;height:55px;border-radius:12px;background:#fff;border:1px solid #ddd8ed;box-shadow:0 5px 0 #dcd5ec;display:grid;place-items:center;font-size:28px;color:#7350e5;font-weight:700}.mini-key.raised{transform:translateY(-12px);background:#7754ec;color:#fff;border-color:#6742df;box-shadow:0 5px 0 #5935bd}.mini-key.green{background:#c4f27e;color:#2d4b21;border-color:#b5dc77;box-shadow:0 5px 0 #a9cb6c}.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 42px;color:var(--muted);font-size:11px;border-top:1px solid var(--line)}.footer button{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);padding:0}.footer .icon{width:14px;height:14px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:12px 19px;border-radius:10px;font-weight:650;font-size:14px;line-height:1.35;transition:background .15s,transform .15s;white-space:nowrap}.button:hover{transform:translateY(-1px)}.button.primary,.button:not(.secondary):not(.dark):not(.danger-button):not(.arcade-start-button){background:var(--green);color:#fff;box-shadow:0 3px 8px #6745e81a}.button.primary:hover{background:#5834d4}.button.secondary{background:white;border:1px solid #d9ddeb;color:#3d4660}.button.secondary:hover{border-color:#af9aeb;background:#faf8ff}.button.dark{background:#18253e;color:#fff}.button.danger-button{background:#b93946;color:white}.button.full{width:100%}.button .icon{width:18px;height:18px}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--green);font-size:13px;font-weight:650;padding:5px 0;line-height:1.5}.text-button .icon{width:16px;height:16px}.icon-button{min-width:38px;min-height:38px;padding:8px;display:inline-grid;place-items:center;color:#69728a;border-radius:8px}.icon-button:hover{background:#f0edfa;color:var(--green)}.subtle{font-size:12px;color:var(--muted);line-height:1.5}.badge{font-size:10px;letter-spacing:1px;font-weight:750;display:inline-block;padding:6px 9px;border-radius:6px;color:#6847cc;background:#eee8fc}.segmented{display:inline-flex;background:#eff0f6;padding:4px;border-radius:9px;gap:3px}.segmented button{padding:8px 13px;color:#626b81;border-radius:6px;font-size:12px;font-weight:600;min-height:33px}.segmented button.selected{background:white;color:var(--green);box-shadow:0 2px 6px #14213b0b}.segmented.small button{padding:5px 10px;min-height:29px;font-size:11px}kbd{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d8dce7;border-bottom-width:3px;border-radius:5px;background:#f7f8fb;color:#4d566c;font-family:inherit;font-size:11px;padding:1px 5px;min-width:22px}.stats-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat-card{background:white;border:1px solid var(--line);border-radius:14px;padding:21px 20px;display:flex;align-items:center;gap:14px}.stat-icon{width:45px;height:45px;border-radius:12px;display:grid;place-items:center;flex:none}.stat-icon.yellow{background:#fff0ce;color:#b97c1d}.stat-icon.pink{background:#fbe7f1;color:#bd5897}.stat-icon.blue{background:#e7effe;color:#4f73c9}.stat-icon.green{background:#e7f4e6;color:#4c8b4e}.stat-card p{font-size:12px;font-weight:550;color:#657087;margin-bottom:3px}.stat-card strong{font-size:30px;font-weight:750;line-height:1.2;letter-spacing:-.7px;white-space:nowrap}.stat-card small{font-size:12px;color:#778197;font-weight:500;margin-left:6px;letter-spacing:0}
.test-card{background:white;border:1px solid var(--line);border-radius:20px;box-shadow:0 8px 25px #29375804;overflow:hidden}.test-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 28px;border-bottom:1px solid #e9ebf3}.test-options{display:flex;gap:12px;align-items:center}.timer-chip{font-size:12px;font-weight:600;color:#626d83;display:flex;align-items:center;gap:7px;white-space:nowrap}.timer-chip .icon{height:16px;width:16px}.test-options .icon-button{border-left:1px solid #e1e4ed;padding-left:15px;border-radius:0}.live-strip{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:24px 30px 18px}.live-label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#6d758b}.live-label i{width:7px;height:7px;background:#b5adc5;border-radius:50%}.is-running .live-label i{background:#28a575;box-shadow:0 0 0 4px #28a57518}.live-numbers{display:flex;align-items:center;gap:25px;color:#727d92;font-size:12px}.live-numbers>span>strong{font-size:17px;color:#444c65;font-weight:650}.live-numbers .countdown{display:flex;align-items:center;gap:4px;border-left:1px solid var(--line);padding-left:22px}.countdown .icon{width:16px;height:16px;color:var(--green);margin-right:3px}.live-numbers .countdown strong{font-size:27px;color:var(--green)}.countdown small{font-size:12px}.typing-instructions{display:flex;justify-content:space-between;align-items:center;margin:0 30px 13px;gap:14px}.typing-instructions>strong{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:1.3px;color:#776791}.typing-instructions .icon{width:16px;height:16px}.typing-instructions .focus-button{min-height:36px;padding:8px 13px;font-size:12px}.typing-surface{position:relative;margin:0 30px;border:2px solid #dfe1ed;border-radius:12px;padding:16px 19px;background:#f8f9fd;min-height:178px;cursor:text;transition:border-color .15s,box-shadow .15s}.typing-surface.focused{border-color:#9879ec;box-shadow:0 0 0 4px #7950df0b;background:#fdfcff}.passage-window{height:140px;overflow:hidden;position:relative}.passage{position:relative;font:26px/46px "SFMono-Regular",Consolas,"Liberation Mono",monospace;letter-spacing:.15px;color:#65728a;white-space:pre-wrap;transition:transform .08s;user-select:none}.char.correct{color:#00805f}.char.incorrect{color:#bc2b4c;background:#ffe1e9;text-decoration:underline;text-decoration-thickness:2px}.char.current{position:relative;background:#eee6ff}.char.current:before{content:"";position:absolute;left:-2px;top:1px;width:2px;height:30px;background:#7d4de4;animation:caret-blink 1.2s infinite}@keyframes caret-blink{50%{opacity:.2}}.typing-input{position:absolute;inset:0;resize:none;opacity:0;width:100%;height:100%;font-size:20px;border:0;outline:0;background:transparent;caret-color:transparent;padding:0}.typing-help{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 30px 19px}.focus-hint,.type-guide{font-size:11px;color:#6d778c;line-height:1.6}.focus-hint strong{font-weight:650;color:#6c45cf}.type-guide kbd{font-size:10px;min-width:20px}.keyboard{display:flex;flex-direction:column;align-items:center;gap:5px;margin:0 auto 26px;max-width:520px;padding:0 6px}.key-row{display:flex;gap:5px}.key{width:39px;height:32px;background:#f4f5fa;border:1px solid #dfe2eb;border-bottom:3px solid #d9deea;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:11px;color:#626d83;position:relative}.key.home:after{content:"";width:8px;height:2px;background:#a1acc1;position:absolute;bottom:3px;border-radius:2px}.key.next-key{background:#7953e4;color:#fff;border-color:#6740cf;box-shadow:0 2px 9px #7953e425}.row-1{margin-left:7px}.row-2{margin-left:18px}.row-3{margin-left:33px}.key.space-key{width:210px;height:24px;font-size:9px}.test-bottom{border-top:1px solid #e7e9f1;background:#fcfcfe;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 29px;font-size:11px;color:#6a758b}.test-bottom>span{display:flex;align-items:center;gap:7px}.test-bottom .icon{width:15px;height:15px}.test-bottom .text-button{font-size:11px}.test-bottom kbd{font-size:9px}.below-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:23px}.feature-card{border:1px solid #dcd5f1;background:#eee8fc;border-radius:16px;padding:24px;display:flex;align-items:center;gap:17px;text-align:left;position:relative;overflow:hidden;transition:transform .2s}.feature-card:hover{transform:translateY(-3px)}.feature-icon{width:46px;height:48px;border-radius:12px;background:#fff9;display:grid;place-items:center;flex:none;color:#7755cd}.feature-icon .icon{width:24px;height:24px}.feature-card .eyebrow{font-size:9px;letter-spacing:1.2px;margin-bottom:7px}.feature-card strong{display:block;font-size:18px;letter-spacing:-.4px;color:#332750;margin-bottom:5px}.feature-card>span>span:not(.eyebrow){display:block;font-size:12px;color:#6d617f}.feature-card b{display:flex;align-items:center;gap:8px;margin-top:15px;font-size:12px;font-weight:650;color:#6b46c8}.feature-card b .icon{width:16px;height:16px}.feature-corner{margin-left:auto;color:#c9bdeb;font-size:37px;font-weight:800;letter-spacing:-2px;display:flex;flex-direction:column;line-height:1}.feature-corner>span{font-size:9px;letter-spacing:2px;text-align:center}.feature-corner .icon{width:45px;height:45px;color:#dec29e}.arcade-feature{background:#fff0df;border-color:#f0decb}.arcade-feature .feature-icon,.arcade-feature .eyebrow,.arcade-feature b{color:#9f6334}.arcade-feature strong{color:#5c3c28}.arcade-feature>span>span:not(.eyebrow){color:#8b6b53}
.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px}.section-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.section-top h2{font-size:18px;font-weight:700;letter-spacing:-.35px}.section-top .subtle{margin-top:5px}.path-progress{background:white;border:1px solid var(--line);border-radius:13px;padding:16px 20px;min-width:150px;flex:none}.path-progress>strong{font-size:31px;line-height:1.1;font-weight:750}.path-progress>strong span{font-size:16px;color:#8891a5;font-weight:400}.path-progress>span{display:block;font-size:11px;margin-top:5px;color:#6e7890}.progress-track{height:5px;border-radius:5px;background:#ece9f5;margin-top:10px;overflow:hidden}.progress-track i{height:100%;display:block;background:#8161e6}.learning-layout{display:grid;grid-template-columns:1fr 1.08fr;gap:24px}.week-tabs{display:flex;padding:4px;background:#f1eff7;border-radius:10px;gap:4px}.week-tabs button{font-size:12px;flex:1;padding:10px 3px;color:#6c7388;border-radius:7px}.week-tabs button.selected{background:white;color:#6a47cc;box-shadow:0 2px 5px #23314a0c;font-weight:650}.week-caption{font-size:12px;color:#737e94;margin:17px 0}.lesson-list{display:grid;gap:8px}.lesson-item{display:flex;align-items:center;gap:14px;text-align:left;border-radius:11px;border:1px solid transparent;padding:11px 13px;min-width:0}.lesson-item:hover{background:#f7f5fc}.lesson-item.selected{background:#eee8fb;border-color:#d2c4f2}.lesson-number{width:36px;height:39px;display:grid;place-items:center;background:#f0f2f8;border:1px solid #e1e4ef;border-radius:8px;font-size:13px;color:#7d87a0;flex:none}.selected .lesson-number{background:#7956de;color:#fff;border-color:#7956de}.lesson-item strong{display:block;font-size:13px;font-weight:650;color:#414b62}.lesson-item small{display:block;color:#7c86a0;font-size:9px;letter-spacing:1px;margin-bottom:3px}.lesson-trailing{margin-left:auto;font-size:11px;color:#8b7bb2}.lesson-trailing .icon{width:15px;height:15px}.lesson-item.completed .lesson-number{background:#e2f2e7;color:#2e8753;border-color:#b6d5c0}.path-footnote{font-size:11px;line-height:1.7;color:#758097;margin-top:22px}.lesson-detail{padding:28px 32px;text-align:center;display:flex;flex-direction:column}.lesson-detail-top{display:flex;justify-content:space-between;align-items:center}.lesson-detail-top>span:last-child{font-size:11px;color:#778196;display:flex;align-items:center;gap:5px}.lesson-detail-top .icon{width:14px;height:14px}.lesson-hero-icon{height:76px;width:81px;margin:31px auto 22px;background:#eee7fd;display:grid;place-items:center;border-radius:23px;transform:rotate(-5deg);color:#7a54dd}.lesson-hero-icon .icon{height:40px;width:40px;transform:rotate(5deg)}.lesson-detail h2{font-size:30px;letter-spacing:-1px}.lesson-tip{font-size:14px;line-height:1.7;color:#6e7890;max-width:430px;margin:12px auto 23px}.lesson-focus{padding:17px 0;border-block:1px solid #e9e7ef}.lesson-focus>span{font-size:9px;letter-spacing:1.6px;font-weight:700;color:#796b8d}.lesson-focus>div{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:10px}.lesson-focus kbd{height:32px;min-width:31px;font-size:13px;background:#faf8ff;border-color:#dcd3f1;color:#7756ba}.adaptive-label{display:flex;align-items:center;gap:8px;font-size:13px;color:#7756ba}.lesson-rounds{display:grid;gap:7px;margin:20px 0}.lesson-round{display:flex;align-items:center;gap:12px;padding:12px 11px;border:1px solid #e7e6f0;border-radius:9px;text-align:left}.lesson-round:hover{background:#f7f4fd}.round-circle{width:29px;height:29px;display:grid;place-items:center;font-size:11px;border-radius:50%;background:#ede9f7;color:#7a5eaa;flex:none}.round-circle.done{background:#dff3e6;color:#258053}.round-circle .icon{width:16px;height:16px}.lesson-round strong{display:block;font-size:13px}.lesson-round small{font-size:11px;color:#71798f;display:block;margin-top:3px}.lesson-round>.icon{margin-left:auto;width:15px;height:15px;color:#8b7aa6}.gentle-note{margin-top:17px;display:flex;gap:6px;justify-content:center;align-items:center;font-size:10px;color:#787289}.gentle-note .icon{width:13px;height:13px}.coach-banner{display:flex;align-items:center;gap:20px;margin-top:24px;border:1px solid #ded5f5;border-radius:15px;padding:24px 28px;background:#eee9fa}.coach-banner>span{color:#8263c8}.coach-banner>span>.icon{width:35px;height:35px}.coach-banner strong{font-size:15px;color:#504365}.coach-banner p{font-size:12px;color:#756780;margin-top:5px}.coach-banner .button{margin-left:auto;font-size:12px}.practice-note{display:flex;align-items:center;gap:10px;border:1px solid #d9d0f0;border-radius:11px;padding:14px 19px;background:#eee9fa;color:#74638f;font-size:13px;margin-bottom:20px}.practice-note .icon{width:18px;height:18px}.focus-keys{display:flex;gap:7px}.focus-keys kbd{height:28px;min-width:26px}
.arcade-intro{background:#181b39;border:1px solid #303453;border-radius:22px;padding:34px 40px;display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden;margin-bottom:26px;min-height:292px}.arcade-intro .badge{background:#ffffff12;border:1px solid #ffffff20;color:#bdaeec;font-size:9px}.arcade-intro h2{font-size:47px;letter-spacing:-1.7px;margin:16px 0;color:white;line-height:1.08}.arcade-intro h2 span{color:#c4f87b}.arcade-intro p{color:#b3b9d2;font-size:14px;max-width:360px;line-height:1.7}.arcade-perks{display:flex;gap:20px;margin-top:25px;flex-wrap:wrap}.arcade-perks>span{display:flex;align-items:center;gap:5px;font-size:10px;color:#d4d9ed}.arcade-perks .icon{height:14px;width:14px;color:#b8a0ff}.arcade-art{position:relative;min-height:210px}.art-orbit{position:absolute;width:300px;height:250px;border:1px solid #ffffff12;border-radius:50%;left:12%;top:0;transform:rotate(-30deg)}.art-orbit:after{content:"";inset:24px;position:absolute;border:1px solid #ffffff12;border-radius:50%}.art-word{display:flex;gap:7px;position:absolute;top:86px;left:8%;transform:rotate(-9deg);z-index:2}.art-word i{font-style:normal;font-weight:800;font-size:35px;color:#fff;background:#7652e9;width:51px;height:60px;display:grid;place-items:center;border-radius:12px;box-shadow:0 6px 0 #4d30a4;border:1px solid #9975ff}.art-burst{position:absolute;right:7%;top:61px;font-size:107px;color:#c0f77a;transform:rotate(13deg);line-height:1;z-index:2;text-shadow:0 0 35px #bbf17c25}.art-points{position:absolute;right:10%;top:18px;font-size:19px;font-weight:800;color:#c6f77e;transform:rotate(9deg)}.art-key{position:absolute;display:grid;place-items:center;font-size:26px;font-weight:750;border:1px solid #696b8f;background:#3d4265;border-radius:11px;color:#b9b7e0;width:49px;height:51px;box-shadow:0 5px 0 #292c4b}.art-key.k1{top:12px;left:19%;transform:rotate(-18deg)}.art-key.k2{bottom:5px;right:26%;transform:rotate(20deg)}.art-spark{position:absolute;color:#af8efa;font-size:25px}.art-spark.s1{top:18px;right:35%}.art-spark.s2{bottom:12px;left:10%;font-size:45px;color:#ffc16e}.arcade-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.arcade-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff}.game-preview{height:196px;position:relative;overflow:hidden}.fall-preview{background:#2c234e}.preview-grid,.arena-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:35px 35px;pointer-events:none}.floating-word{position:absolute;border-radius:10px;color:#e3d7ff;background:#60469c;border:1px solid #8d68c5;font:700 22px/1 Consolas,monospace;padding:12px 18px;box-shadow:0 5px 0 #241b41}.floating-word.one{left:12%;top:23px;transform:rotate(-8deg);opacity:.7}.floating-word.two{right:15%;top:40px;transform:rotate(8deg);opacity:.7}.floating-word.three{left:34%;top:104px;background:#a586fa;color:#fff;border-color:#c4a8ff;transform:rotate(-4deg);box-shadow:0 5px 0 #624399,0 0 30px #a586fa20}.floating-word.three span{position:absolute;right:-23px;top:-23px;color:#c7f57d;font-size:43px}.preview-points{position:absolute;left:63%;top:129px;color:#c7f57d;font-size:14px;transform:rotate(6deg)}.sprint-preview{background:#173d45}.speed-streaks{position:absolute;inset:0;background:repeating-linear-gradient(-12deg,transparent 0 22px,#7ed9d80a 23px 24px)}.sprint-word{display:flex;gap:10px;position:absolute;left:23%;top:62px;transform:rotate(-7deg)}.sprint-word>span{font:700 36px/1 Consolas,monospace;background:#c7f285;color:#27433b;width:52px;height:61px;display:grid;place-items:center;border-radius:9px;border:1px solid #ddffc2;box-shadow:0 6px 0 #769b5e}.sprint-stamp{position:absolute;bottom:20px;right:27px;color:#a2d4cf;font-size:10px;letter-spacing:2px;display:flex;align-items:center;gap:8px}.sprint-stamp b{font-size:25px;color:#c6f17c;letter-spacing:-1px}.arcade-copy{padding:27px 28px}.arcade-copy h2{font-size:29px;letter-spacing:-1px;margin:13px 0 10px}.arcade-copy p{font-size:14px;line-height:1.7;color:#647087;min-height:72px}.arcade-copy .badge{font-size:8px}.wordsprint .badge{background:#e5f4ed;color:#3e8573}.game-tags{display:flex;gap:22px;font-size:11px;color:#657087;margin:20px 0}.game-tags>span{display:flex;align-items:center;gap:5px}.game-tags .icon{width:15px;height:15px}.arcade-copy .button{width:100%}.game-records{margin-top:24px}.arcade-bests{display:grid;grid-template-columns:1fr 1fr;gap:30px}.arcade-bests>div{display:flex;align-items:center;gap:14px}.arcade-bests>div+div{border-left:1px solid var(--line);padding-left:30px}.arcade-bests>div>.icon{height:28px;width:28px;color:#9273da}.arcade-bests strong{display:block;font-size:14px}.arcade-bests small{display:block;font-size:11px;color:#6a758b;font-weight:400;margin-top:4px}.arcade-bests>div>strong{font-size:28px;margin-left:auto;text-align:right;line-height:1.1}.arcade-bests>div>strong small{font-size:10px}
.game-page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:21px}.game-page-heading .eyebrow{font-size:10px;margin-bottom:5px}.game-page-heading h1{font-size:34px;letter-spacing:-1.2px}.game-page-tools{display:flex;gap:9px}.game-page-tools .button{font-size:12px;min-height:39px;padding:10px 13px}.game-page-tools .button:last-child .icon{transform:rotate(180deg)}.game-board{border-radius:20px;overflow:hidden;border:1px solid #d6cbea;box-shadow:0 12px 40px #29204e0c}.game-hud{background:#20223f;display:grid;grid-template-columns:repeat(5,1fr);padding:20px 25px;color:#fff}.game-hud>div{display:flex;flex-direction:column;align-items:center;gap:7px;border-right:1px solid #ffffff13}.game-hud>div:last-child{border:0}.game-hud>div>span{display:flex;align-items:center;gap:6px;font-size:9px;letter-spacing:1px;font-weight:650;color:#aaaecb}.game-hud>div>span .icon{width:14px;height:14px;color:#b5a3f5}.game-hud strong{display:flex;align-items:baseline;gap:3px;font-size:29px;line-height:1.15;letter-spacing:-.6px;font-weight:750}.game-hud strong small{font-size:10px;color:#9fabc7;letter-spacing:0;font-weight:500}.game-hud #game-score{color:#c9f78b}.game-hud #game-combo{color:#ceb6ff}.game-hud #game-combo small{margin-left:6px}.game-clock.urgent strong{color:#ff9c95}.game-time-track{height:4px;background:#34334f}.game-time-track i{display:block;height:100%;width:100%;background:#b6f078;transition:width .15s linear}.game-arena{height:285px;background:#14172d;position:relative;overflow:hidden;color:white}.game-start{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:1;text-align:center;background:radial-gradient(ellipse at center,#392b5e88 0,transparent 70%)}.game-start-art{width:42px;height:42px;display:grid;place-items:center;background:#8160d931;color:#bd9fff;border:1px solid #8b67d65e;border-radius:12px;position:relative;margin-bottom:10px}.game-start-art>.icon{width:23px;height:23px}.game-start-art>span{position:absolute;right:-10px;top:-9px;color:#c7f779;font-size:23px}.game-start h2{font-size:23px;font-weight:700;letter-spacing:-.5px}.game-start p{font-size:12px;color:#b6b9d1;line-height:1.7;margin-top:9px}.game-start p strong{color:#fff;font-weight:650}.difficulty-picker{display:flex;gap:5px;margin:13px 0 10px;background:#ffffff0a;padding:3px;border-radius:8px}.difficulty-picker button{font-size:11px;color:#adb3cc;padding:5px 15px;min-height:29px;border-radius:6px}.difficulty-picker button.selected{background:#8061d7;color:white}.button.arcade-start-button{background:#c4f580;color:#20322c;font-size:13px;min-height:38px;padding:9px 26px;box-shadow:0 3px 0 #8faf5c}.game-start-note{font-size:9px;color:#a8b0c7;margin-top:9px}.arena-topline{display:flex;justify-content:space-between;position:absolute;inset:15px 23px auto;z-index:2;font-size:8px;letter-spacing:1.5px;color:#9ca6c6;font-weight:650}.arena-topline>span:last-child{letter-spacing:.3px;color:#bca5ed}.word-layer{position:absolute;inset:34px 0 55px}.fall-word{position:absolute;transform:translate(-50%,-50%);padding:10px 19px;border-radius:10px;background:#343451;color:#aaa9c7;border:1px solid #4d486c;font:600 26px/1.3 Consolas,monospace;box-shadow:0 4px 0 #090c23;white-space:nowrap;min-width:95px;text-align:center}.fall-word strong{font:inherit}.fall-word.target-word{background:#6945c0;border:2px solid #bd9aff;color:white;box-shadow:0 5px 0 #382264,0 0 27px #9b67ff25;z-index:3}.fall-word small{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);font:750 8px/1.4 var(--font);letter-spacing:1.3px;padding:3px 8px;border-radius:4px;background:#c8f583;color:#29352b;white-space:nowrap}.game-correct{color:#c6fa88}.game-wrong{color:#ffb4ca;text-decoration:underline;background:#d8345b40}.game-current{border-bottom:2px solid #d4c7ff}.danger-line{position:absolute;bottom:29px;left:25px;right:25px;border-top:2px dashed #e8798b45;text-align:center}.danger-line span{position:relative;top:5px;letter-spacing:1.7px;font-size:8px;color:#c38da3}.game-ready-hint{position:absolute;bottom:59px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:7px;color:#bec8e1;font-size:11px;z-index:4;pointer-events:none}.game-ready-hint .icon{height:16px;width:16px}.sprint-live{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.target-label{color:#c6f77b;letter-spacing:2px;font-size:9px;font-weight:750}.sprint-target{font:750 59px/1.2 Consolas,monospace;letter-spacing:2px;color:#fff;text-shadow:0 0 30px #b894ed24}.combo-copy{font-size:11px;color:#b8afcd}.sprint-progress{position:absolute;bottom:25px;left:0;right:0;text-align:center;letter-spacing:1.4px;font-size:9px;color:#9eb4cc}.sprint-progress>span{color:#d0f4a5;font-size:16px;font-weight:750;margin-right:5px}.game-console{background:#fff;padding:19px 25px 16px;border-top:3px solid #9270ee;position:relative}.game-console-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:11px}.game-console-top label{display:flex;align-items:center;gap:9px;color:#6845c7;cursor:text}.game-console-top strong{font-size:13px;letter-spacing:1.5px}.input-step{height:25px;width:28px;display:grid;place-items:center;border-radius:6px;background:#eee8fb}.input-step .icon{height:17px;width:17px}.input-arrow{font-size:20px;color:#7954d6;font-weight:800}.target-echo{font-size:12px;color:#74798c}.target-echo strong{color:#6f47cb;font-size:15px;font-family:Consolas,monospace;margin-left:5px}.game-input-shell{border:2px solid #b79aeb;border-radius:11px;display:flex;align-items:center;position:relative;transition:box-shadow .15s,background .15s;background:#faf8ff}.input-focused .game-input-shell{border-color:#8c5ce3;box-shadow:0 0 0 4px #8f5fea18;background:#fff}.game-input-shell input{width:100%;padding:13px 52px 13px 17px;height:63px;border:0;background:transparent;border-radius:9px;font:600 28px/1.3 Consolas,monospace;color:#3d286c;outline:none;caret-color:#7540d9;min-width:0}.game-input-shell input::placeholder{font:500 16px var(--font);color:#807196;opacity:1}.game-input-shell input:disabled{color:#80788e;opacity:.85}.game-input-shell input.has-error{color:#bc3154;background:#fff2f5}.input-status{position:absolute;right:17px;color:#b3a0cf;pointer-events:none}.input-status .icon{width:25px;height:25px}.game-console-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:10px;font-size:11px;color:#707b92;min-height:19px}.game-console-bottom>span:first-child{color:#6a6280}.game-shortcut{white-space:nowrap}.game-shortcut kbd{font-size:11px;margin-right:3px}.game-tips{display:flex;justify-content:center;gap:25px;flex-wrap:wrap;margin-top:16px;color:#74758d;font-size:10px}.game-tips>span{display:flex;gap:5px;align-items:center}.game-tips .icon{width:13px;height:13px;color:#9b81bd}
.blast-layer{position:absolute;inset:0;pointer-events:none;z-index:5;overflow:hidden}.word-burst{position:absolute;width:1px;height:1px}.blast-particle{position:absolute;width:7px;height:7px;background:var(--spark-color);border-radius:2px;box-shadow:0 0 10px var(--spark-color);animation:particle-fly .85s ease-out forwards}.blast-ring{position:absolute;left:-35px;top:-35px;width:70px;height:70px;border:3px solid #d4ffab;border-radius:50%;animation:blast-ring .65s ease-out forwards;box-shadow:0 0 25px #d4ffa922}.blast-core{position:absolute;left:-22px;top:-27px;color:#daffb1;font-size:54px;line-height:1;animation:blast-core .65s ease-out forwards}.blast-points{position:absolute;white-space:nowrap;left:-20px;top:-25px;color:#d1ff99;font-size:23px;text-shadow:0 2px 10px #0008;animation:points-rise .95s ease-out forwards}.miss-burst .blast-ring{border-color:#ee8999}.miss-burst .blast-core,.miss-burst .blast-points{color:#ef99ac}.combo-announcement{position:absolute;left:50%;top:48px;transform:translateX(-50%);color:#d0f982;font-size:19px;letter-spacing:1px;font-weight:800;z-index:6;opacity:0;pointer-events:none;text-shadow:0 2px 15px #000}.combo-announcement .icon{height:22px;width:22px;vertical-align:-3px}.combo-announcement.show{animation:combo-pop 1.3s ease-out forwards}.shake{animation:shake .25s ease-in-out}@keyframes particle-fly{0%{transform:translate(0,0) scale(1.2);opacity:1}100%{transform:translate(var(--tx),var(--ty)) rotate(var(--spin)) scale(.2);opacity:0}}@keyframes blast-ring{to{transform:scale(2.2);opacity:0}}@keyframes blast-core{to{transform:scale(1.8) rotate(80deg);opacity:0}}@keyframes points-rise{0%{transform:translateY(0) scale(.8);opacity:1}20%{transform:translateY(-15px) scale(1.1);opacity:1}80%{opacity:1}100%{transform:translateY(-67px);opacity:0}}@keyframes combo-pop{0%{opacity:0;transform:translateX(-50%) scale(.6)}15%,70%{opacity:1;transform:translateX(-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-20px) scale(1)}}@keyframes shake{25%,75%{transform:translateX(-3px)}50%{transform:translateX(3px)}}
.progress-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:24px;margin-bottom:24px}.chart-svg{width:100%;height:auto;display:block;overflow:visible}.speed-trend .chart-svg{height:190px}.chart-caption{display:flex;justify-content:space-between;color:#758096;font-size:10px;margin-top:7px}.trend-caption{color:#6f798e;font-size:12px;padding-top:14px}.trend-caption strong{color:#6745c8;font-size:16px;font-weight:700}.daily-goal{text-align:center}.daily-goal h2{font-size:19px}.daily-goal>.eyebrow{font-size:9px;margin-bottom:6px}.goal-ring{height:132px;width:132px;background:conic-gradient(#8961e2 var(--progress),#eee9f8 0);border-radius:50%;margin:25px auto 16px;display:grid;place-items:center}.goal-ring>span{height:113px;width:113px;border-radius:50%;background:white;display:flex;flex-direction:column;align-items:center;justify-content:center}.goal-ring strong{font-size:36px;letter-spacing:-1px}.goal-ring small{font-size:11px;color:#7b728f}.daily-goal p{font-size:12px;color:#726986;margin-bottom:9px}.daily-goal .text-button{font-size:11px}.activity-panel{margin-bottom:24px}.activity-legend{display:flex;align-items:center;gap:5px;color:#727d93;font-size:10px}.activity-legend i{width:10px;height:10px;border-radius:3px;background:#eee9f8}.activity-legend i:nth-of-type(2){background:#bda6ea}.activity-legend i:nth-of-type(3){background:#7957c6}.activity-days{display:flex;gap:8px}.activity-days>div{flex:1;min-width:10px;text-align:center}.activity-cell{height:33px;border-radius:6px;display:grid;place-items:center;background:#f0edf7;color:white}.activity-cell.level-1{background:#ddd0f5}.activity-cell.level-2{background:#b49bdf}.activity-cell.level-3{background:#8463c3}.activity-cell .icon{width:16px;height:16px}.activity-days small{font-size:9px;color:#798398;margin-top:7px;display:block}.key-map .keyboard{margin:26px auto 23px;max-width:480px}.key-map .key{width:34px;height:29px;font-size:10px}.key-map .space-key{width:175px;height:23px}.key.heat-good,.heat-legend i.heat-good{background:#e4f2e8;border-color:#bbd9c6;color:#408462}.key.heat-warm,.heat-legend i.heat-warm{background:#fff0cd;border-color:#e9d49c;color:#9f7b31}.key.heat-hot,.heat-legend i.heat-hot{background:#fbe0e4;border-color:#ebb6bf;color:#af5067}.heat-legend{display:flex;justify-content:center;gap:15px;flex-wrap:wrap}.heat-legend span{font-size:10px;color:#6b758a;display:flex;gap:5px;align-items:center}.heat-legend i{width:9px;height:9px;border:1px solid #d6dae7;border-radius:3px;background:#f1f3f8}.focus-panel{display:flex;flex-direction:column}.focus-panel>.section-top>.icon{color:#9f85d1}.focus-panel>p{font-size:12px;line-height:1.8;color:#6f667f;margin:13px 0 20px}.focus-key-chips{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.focus-key-chips>div{display:flex;flex-direction:column;align-items:center;gap:8px}.focus-key-chips kbd{width:42px;height:43px;border-color:#e0b8c0;background:#fbe7eb;color:#ad5b71;font-size:20px}.focus-key-chips span{font-size:9px;color:#906d7b}.focus-panel .button{margin-top:auto;font-size:12px}.focus-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:11px;padding:10px 10px 20px;flex:1}.focus-empty>.icon{width:30px;height:30px;color:#ac98c9}.focus-empty strong{font-size:13px;color:#6a5b78}.focus-empty p{font-size:12px;color:#7c7186;line-height:1.7}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{color:#6f7a90;font-size:10px;font-weight:650;padding:11px 13px;border-bottom:1px solid #e6e8f0}td{padding:17px 13px;border-bottom:1px solid #edf0f5;font-size:13px;color:#637087}tr:last-child td{border-bottom:0}td strong{font-size:13px;color:#39455c;font-weight:650}td small{display:block;font-size:10px;color:#788197;margin-top:4px}td:last-child{text-align:right}.accuracy-badge{display:inline-block;border-radius:6px;padding:4px 7px;background:#fff1d9;color:#946b25;font-size:11px}.accuracy-badge.good{background:#e3f2e8;color:#3a7d55}.date-cell{font-size:11px}.rank-number{height:29px;width:29px;border-radius:7px;display:grid;place-items:center;background:#f4f3f8;color:#817a90;font-weight:650;font-size:12px}.rank-number.first{background:#fff0d1;color:#b5842d}.rank-number .icon{width:17px;height:17px}.ranking-banner{background:#eee7fa;border:1px solid #dbcef0;border-radius:18px;padding:30px;display:flex;align-items:center;gap:25px;margin-bottom:26px}.ranking-trophy{width:78px;height:84px;border-radius:20px;background:#fff7df;color:#bd8b31;display:grid;place-items:center;transform:rotate(-5deg);flex:none}.ranking-trophy .icon{width:38px;height:38px}.ranking-banner .eyebrow{font-size:10px;margin-bottom:8px}.ranking-banner h2{font-size:36px;letter-spacing:-1.2px;color:#4d386e}.ranking-banner h2 span{font-size:15px;letter-spacing:0;font-weight:500;color:#756382}.ranking-banner p{font-size:12px;color:#796685;margin-top:8px}.ranking-banner .button{margin-left:auto;font-size:12px}.privacy-note{display:flex;align-items:flex-start;gap:13px;padding:23px 9px}.privacy-note>.icon{width:20px;height:20px;color:#9a90ae;margin-top:2px}.privacy-note p{font-size:12px;line-height:1.8;color:#727c90}.privacy-note strong{display:block;color:#687189}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:34px 20px;gap:10px;min-height:185px}.empty-state>.icon{width:33px;height:33px;color:#ae9dca;margin-bottom:4px}.empty-state strong{font-size:15px;color:#796789}.empty-state p{font-size:12px;line-height:1.7;color:#748097;max-width:360px}.empty-state .button{font-size:12px;margin-top:9px}
.modal-open{overflow:hidden}.modal-overlay{position:fixed;inset:0;background:#141a35a6;backdrop-filter:blur(7px);z-index:50;overflow:auto;padding:42px 20px;display:flex;align-items:flex-start;justify-content:center}.modal{background:white;padding:36px;width:min(100%,590px);border:1px solid #e4def0;border-radius:22px;box-shadow:0 30px 100px #0b133850;position:relative;margin:auto}.modal.wide{width:min(100%,900px);padding:34px 40px}.modal-close{position:absolute;right:15px;top:14px;color:#8a829c}.modal-heading{padding-right:22px;margin-bottom:26px}.modal-heading .eyebrow{font-size:9px}.modal-heading h2{font-size:29px;letter-spacing:-.8px;line-height:1.2}.modal-heading p{font-size:14px;color:#706680;line-height:1.8;margin-top:12px}.result-top{text-align:center}.celebrate-icon{background:#eee8fb;color:#8260cd;border-radius:16px;height:48px;width:48px;display:grid;place-items:center;transform:rotate(-6deg);margin:0 auto 17px}.celebrate-icon .icon{height:27px;width:27px}.result-top .eyebrow{font-size:9px;letter-spacing:1.7px}.result-top h2{font-size:36px;letter-spacing:-1.1px;margin:8px 0}.result-top>p:last-child{font-size:12px;color:#786e89}.result-stats{display:grid;grid-template-columns:1.3fr 1fr 1fr;align-items:center;text-align:center;border-block:1px solid #e6e0f0;padding:22px 9px;margin:25px 0}.result-stats>div{display:flex;flex-direction:column;gap:7px}.result-stats>div+div{border-left:1px solid #e6e0f0}.result-stats strong{font-size:34px;line-height:1.1;letter-spacing:-1px;color:#665575}.result-stats .result-primary strong{font-size:50px;color:#7147d5}.result-stats strong small{font-size:18px;margin-left:3px}.result-stats span{font-size:12px;color:#796c8c}.result-detail-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:27px;margin-bottom:24px}.result-detail-grid>section+section{border-left:1px solid #e8e2f0;padding-left:27px}.result-detail-grid h3,.section-title{font-size:14px;line-height:1.4;margin-bottom:16px;color:#60516f}.result-detail-grid .chart-svg{height:105px}.mini-metrics{display:flex;gap:15px;margin-top:14px;flex-wrap:wrap}.mini-metrics span{font-size:10px;color:#7d6e8c}.mini-metrics b{color:#6c567c;font-weight:600;display:block;margin-top:3px}.weak-key-list{display:grid;gap:12px}.weak-key-list>div{display:flex;align-items:center;gap:11px}.weak-key-list kbd{width:29px;height:31px;background:#fceaf0;border-color:#e8bfcf;color:#aa5a7a;font-size:14px}.weak-key-list>div>span{font-size:9px;color:#846b80}.weak-key-list strong{color:#775e75}.tiny-meter{width:55px;height:5px;border-radius:4px;background:#f3e5ee;margin-left:auto;overflow:hidden}.tiny-meter i{display:block;height:100%;background:#ca8ba7}.clean-result{display:flex;align-items:center;gap:11px;font-size:12px;line-height:1.8;color:#6d5d7d;margin-top:23px}.clean-result .icon{width:27px;height:27px;color:#7d9e75}.advice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.advice-card{border:1px solid #e4deef;background:#f8f6fc;border-radius:11px;padding:17px}.advice-card>span{font-size:9px;color:#9a86b0;font-weight:750;display:block;margin-bottom:7px}.advice-card strong{display:block;font-size:14px;line-height:1.5;color:#725789}.advice-card p{font-size:13px;color:#776786;line-height:1.8;margin-top:7px}.measurement-note{font-size:10px;color:#81708d;line-height:1.7;margin-top:18px}.measurement-note summary{cursor:pointer;color:#796283}.measurement-note p{margin-top:9px}.modal-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:25px}.modal-actions .button{font-size:12px;padding:11px 16px}.modal-actions>.text-button:last-child{margin-left:auto;font-size:12px}.lesson-feedback{padding:13px 16px;border-radius:10px;border:1px solid #efddc3;background:#fff7e9;color:#8c6b42;display:flex;gap:10px;font-size:11px;line-height:1.7;margin-top:-8px;margin-bottom:23px}.lesson-feedback.passed{border-color:#c8ddcc;background:#edf7ef;color:#527457}.lesson-feedback>.icon{width:18px;height:18px;margin-top:2px}.game-summary{display:grid;grid-template-columns:repeat(4,1fr);padding:16px;background:#f4f0fb;border-radius:11px;margin:-9px 0 24px;gap:10px}.game-summary>span{font-size:10px;color:#7a678b;text-align:center}.game-summary strong{display:block;font-size:20px;color:#78568d;margin-top:4px}.field-label{display:block;font-size:12px;color:#73637f;font-weight:600;margin-bottom:8px}.text-input{border:1px solid #d7cede;border-radius:9px;background:#fdfcfe;width:100%;padding:13px 14px;font-size:15px;color:#554167;outline:0;min-height:46px}.text-input:focus{border-color:#a685d4;box-shadow:0 0 0 3px #a685d417}.text-input::placeholder{color:#8e809a}.checkbox-row{display:flex;align-items:center;gap:10px;font-size:13px;color:#796a87;margin:21px 0}.checkbox-row input{accent-color:#7c54c5;width:16px;height:16px}.settings-section{border-top:1px solid #eee6f2;padding-top:24px;margin-top:26px}.settings-section h3{font-size:15px;color:#6c4f81}.settings-section p{font-size:12px;color:#7c688b;line-height:1.8;margin:10px 0 16px}.button-row{display:flex;gap:10px;flex-wrap:wrap}.button-row .button{font-size:12px}.danger{color:#ad4663}.privacy-copy p{font-size:13px;color:#7c668b;line-height:1.85;margin-bottom:18px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);background:#25213d;color:white;border:1px solid #5a4b74;border-radius:12px;box-shadow:0 8px 30px #21172c33;padding:14px 22px;font-size:13px;line-height:1.5;max-width:min(90vw,560px);z-index:100;pointer-events:none;opacity:0;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translate(-50%,0)}
.certificate-modal{width:min(100%,1080px);padding:30px}.certificate-modal .modal-heading{margin-bottom:20px}.certificate-modal .modal-heading h2{font-size:27px}.certificate-modal .modal-heading p{font-size:13px;margin-top:8px}.certificate-controls{display:flex;align-items:flex-end;gap:20px;margin-bottom:24px}.certificate-controls>div{flex:1}.certificate-controls .button{min-height:48px;font-size:13px}.certificate-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:17px}.certificate-note{font-size:10px;color:#7d6b89}.certificate-bottom .text-button{font-size:11px}#certificate-preview{container-type:inline-size;box-shadow:0 9px 25px #19233916}.certificate{background:#fffefa;color:#192d47;position:relative;display:flex;aspect-ratio:1.414/1;overflow:hidden;isolation:isolate;border:1px solid #d6c6a5;font-family:Georgia,"Times New Roman",serif}.certificate:before,.certificate:after{content:"";position:absolute;width:11%;height:15%;z-index:-1;pointer-events:none}.certificate:before{right:-3%;top:-4%;border:2px solid #c2a264;transform:rotate(45deg)}.certificate:after{right:-4%;bottom:-5%;border:2px solid #192e48;transform:rotate(45deg)}.certificate-side{width:8%;background:#192e48;flex:none;display:flex;flex-direction:column;align-items:center;padding:4% 0 3%;color:#d6b779;position:relative}.certificate-side:before{content:"";position:absolute;left:12%;right:12%;top:2%;bottom:2%;border:1px solid #c3a46b66}.certificate-side>span{writing-mode:vertical-rl;transform:rotate(180deg);font:700 1.5cqw/1 var(--font);letter-spacing:.6cqw;margin-top:11%}.certificate-side>small{writing-mode:vertical-rl;transform:rotate(180deg);font:500 .66cqw/1 var(--font);letter-spacing:.3cqw;margin-top:20%;color:#a6b2bd}.cert-side-rule{height:1px;width:45%;background:#b39965;margin-top:auto}.certificate-side>b{font:600 .51cqw/1.8 var(--font);text-align:center;letter-spacing:.1cqw;margin-top:15%;color:#b5a88b}.certificate-inner{padding:3.3% 4% 2.3%;position:relative;flex:1;text-align:center;display:flex;flex-direction:column;align-items:center}.cert-topline{width:100%;display:flex;align-items:center;text-align:left;font-family:var(--font);margin-bottom:2.5%}.cert-monogram{font-size:3.4cqw;font-weight:750;letter-spacing:-.3cqw;line-height:1;position:relative;margin-right:1.6%;color:#1c3552}.cert-monogram>span{position:absolute;right:-.75cqw;top:-.5cqw;font-size:1.4cqw;color:#bc984f}.cert-topline>div strong{display:block;font-size:1.25cqw;letter-spacing:.25cqw;line-height:1.5}.cert-topline>div>span{display:block;font-size:.75cqw;letter-spacing:.12cqw;font-weight:600;color:#9e8c6e}.cert-topline .cert-edition{margin-left:auto;font-size:.56cqw;letter-spacing:.13cqw;line-height:1.8;text-align:right;color:#9f8b69}.cert-overline{font:600 .75cqw/1.7 var(--font);letter-spacing:.18cqw;color:#a38b5a;margin-top:.8%}.certificate h2{font-size:4.4cqw;font-weight:400;letter-spacing:.4cqw;line-height:1.2;margin-top:1.8%;color:#19334e}.certificate h2>span{display:block;font:500 1.12cqw/1.9 var(--font);letter-spacing:.53cqw;margin-top:.6%}.cert-divider{display:flex;align-items:center;gap:1.4cqw;width:28%;margin:1.6% auto 1.8%;color:#b39558;font-size:1cqw}.cert-divider i{display:block;height:1px;background:#d6bf8c;flex:1}.cert-presented{font-size:1.2cqw;font-style:italic;color:#8b8377}.cert-recipient{font:italic 3.3cqw/1.2 Georgia,serif;font-weight:500;color:#203a56;margin:2.3% 0 1.8%;padding:0 2% 1.3%;border-bottom:1px solid #d9c7a3;max-width:100%;min-width:52%;overflow-wrap:anywhere}.cert-description{font-size:1.15cqw;line-height:1.8;color:#6d737b}.certificate-stats{display:flex;justify-content:center;gap:4.6cqw;margin:3.1% 0 2%;font-family:var(--font);width:100%}.certificate-stats>div{position:relative;min-width:17%}.certificate-stats>div+div:before{content:"";position:absolute;left:-2.4cqw;top:15%;height:66%;width:1px;background:#e3d8c3}.certificate-stats strong{font-size:3.5cqw;font-weight:550;line-height:1.2;letter-spacing:-.1cqw;color:#203a56}.certificate-stats strong small{font-size:1.6cqw;margin-left:.2cqw}.certificate-stats>div>span{font-size:.8cqw;letter-spacing:.1cqw;color:#a08b61;font-weight:700;display:block;margin-top:.8cqw;white-space:nowrap}.certificate-footer{display:flex;align-items:center;justify-content:space-between;width:100%;gap:3%;margin-top:auto;padding-top:1.7%}.cert-issued,.cert-signature{display:flex;flex-direction:column;align-items:center;flex:1;color:#243c54}.cert-issued>strong{font-size:1.06cqw;font-weight:500;padding-bottom:1.1cqw;border-bottom:1px solid #c7b58b;width:95%;line-height:1.5}.cert-signature>strong{font:italic 2.4cqw/1 Georgia,serif;padding-bottom:.75cqw;border-bottom:1px solid #c7b58b;width:95%}.cert-issued>span,.cert-signature>span{font:600 .75cqw/1.5 var(--font);letter-spacing:.08cqw;margin-top:.8cqw;color:#9c8457}.cert-issued>small,.cert-signature>small{font:.7cqw/1.7 var(--font);color:#939496;margin-top:.3cqw}.certificate-seal{position:relative;color:#b4975d;width:10cqw;height:10cqw;flex:none;display:flex;align-items:center;justify-content:center;border:1px solid #c9ae75;border-radius:50%;background:#f6edda}.certificate-seal:after{content:"";position:absolute;inset:5%;border:1px dashed #c3a76a;border-radius:50%}.cert-laurel{height:85%;width:85%}.certificate-seal>span{position:absolute;bottom:20%;font:700 .46cqw/1 var(--font);letter-spacing:.07cqw}.cert-record{display:flex;align-items:center;justify-content:space-between;gap:2%;width:100%;margin-top:2.3%;padding-top:1.2%;border-top:1px solid #e8dfce;font:500 .65cqw/1.3 var(--font);letter-spacing:.045cqw;color:#99907e}
@media(min-width:1550px){main{padding-top:43px}.page-heading{margin-bottom:34px}.typing-surface{min-height:193px}.passage-window{height:153px}.passage{font-size:28px;line-height:49px}.key{width:43px;height:34px}.key.space-key{width:220px;height:26px}.keyboard{margin-bottom:29px}.feature-card{padding:28px}.game-arena{height:325px}.game-hud{padding:23px 25px}.game-console{padding:22px 30px 18px}}
@media(max-width:1230px){.sidebar{width:216px;padding-inline:14px}.workspace{margin-left:216px}.brand{font-size:26px;padding-inline:6px}.sidebar-label{font-size:9px;letter-spacing:1.2px;margin-left:10px}.nav-item{font-size:13px;padding-inline:11px;gap:10px}.nav-pill{font-size:8px}.topbar{padding-inline:30px}main{padding:32px 30px}.footer{padding-inline:30px}.page-heading h1{font-size:38px}.hero-note{margin-right:0;margin-left:10px;gap:6px}.mini-key{height:45px;width:42px;font-size:25px}.stat-card{padding:18px 15px;gap:11px}.stat-icon{height:39px;width:39px}.stat-card p{font-size:11px}.stat-card strong{font-size:27px}.stat-card small{font-size:10px}.stats-row{gap:12px}.feature-card{padding:22px 18px;gap:13px}.feature-card strong{font-size:16px}.feature-corner{display:none}.feature-card>span>span:not(.eyebrow){font-size:11px}.feature-icon{width:40px;height:43px}.learning-layout{gap:20px}.lesson-detail{padding:25px}.lesson-detail h2{font-size:27px}.lesson-path{padding:23px 19px}.lesson-item{gap:10px;padding:10px}.lesson-item strong{font-size:12px}.coach-banner{padding:22px;gap:15px}.coach-banner .button{font-size:11px}.arcade-intro{padding:30px}.arcade-art{transform:scale(.9);transform-origin:center}.arcade-copy{padding:24px}.game-hud #game-combo{flex-direction:column;gap:0;align-items:center;font-size:24px;line-height:1}.game-hud #game-combo small{margin:2px 0 0;font-size:9px}.progress-grid{grid-template-columns:1.5fr 1fr;gap:20px}.panel{padding:23px}.key-map .key{width:29px;height:27px;font-size:9px}.key-map .space-key{width:145px;height:22px}.key-map .key-row{gap:4px}.ranking-banner{gap:20px;padding:25px}.ranking-banner h2{font-size:31px}.ranking-banner .button{font-size:11px}.ranking-banner h2 span{font-size:13px}.ranking-panel .section-top{flex-wrap:wrap}.arcade-perks{gap:12px}}
@media(max-width:1020px){.sidebar{width:194px;padding:27px 11px 18px}.workspace{margin-left:194px}.brand{font-size:24px;gap:8px}.brand-mark{width:32px;height:35px;font-size:30px;border-radius:10px}.sidebar-label{font-size:8px;letter-spacing:1px;margin-top:35px}.nav-item{font-size:12px;gap:9px;padding:13px 10px}.nav-item .icon{height:18px;width:18px}.nav-pill{display:none}.grow-card{padding:18px 13px;margin-inline:2px}.grow-card strong{font-size:13px}.grow-card p{font-size:11px}.grow-card button{font-size:10px}.settings-link{font-size:11px;padding-inline:7px}.save-status{font-size:9px;margin-left:7px}.topbar{height:70px;padding-inline:24px}.breadcrumb{font-size:11px}.breadcrumb>span:last-child,.breadcrumb-slash{display:none}.topbar-right{gap:13px}main{padding:29px 24px}.footer{padding:20px 24px;font-size:10px}.footer button{font-size:10px}.page-heading h1{font-size:35px}.hero-note{display:none}.subtitle{font-size:14px}.eyebrow{font-size:10px}.stats-row{gap:10px}.stat-card{padding:17px 13px}.stat-icon{display:none}.stat-card p{font-size:10px}.test-toolbar{padding:15px 22px}.segmented button{font-size:11px;padding:7px 10px}.timer-chip{font-size:11px}.test-options{gap:6px}.live-strip{padding:21px 23px 16px}.live-numbers{gap:16px;font-size:11px}.live-label{font-size:11px}.live-numbers .countdown{padding-left:15px}.typing-instructions{margin-inline:23px}.typing-surface{margin-inline:23px;padding:14px 16px;min-height:164px}.passage{font-size:24px;line-height:43px}.passage-window{height:132px}.typing-help{padding:12px 23px 17px;align-items:start}.type-guide{max-width:200px;text-align:right}.test-bottom{padding:12px 23px;font-size:10px}.feature-card{padding:21px 17px}.feature-icon{display:none}.learning-layout{grid-template-columns:1fr;gap:20px}.lesson-list{grid-template-columns:1fr 1fr}.lesson-path{padding:24px}.lesson-detail{padding:26px}.lesson-trailing{display:none}.lesson-detail h2{font-size:29px}.lesson-hero-icon{margin-top:25px}.lesson-round{padding:13px 15px}.lesson-round strong{font-size:14px}.coach-banner{flex-wrap:wrap}.coach-banner .button{margin-left:48px}.arcade-intro{grid-template-columns:1.25fr 1fr;padding:28px}.arcade-intro h2{font-size:40px}.arcade-intro p{font-size:13px}.arcade-art{transform:scale(.75);min-width:310px;transform-origin:15% center}.arcade-perks{gap:10px}.arcade-perks>span{font-size:9px}.arcade-grid{gap:18px}.game-preview{height:179px}.floating-word{font-size:20px;padding:10px 13px}.sprint-word{gap:6px;left:16%;top:59px}.sprint-word>span{width:42px;height:51px;font-size:30px}.arcade-copy{padding:22px}.arcade-copy h2{font-size:27px}.arcade-copy p{font-size:13px;min-height:108px}.game-tags{gap:12px;font-size:10px;flex-wrap:wrap}.arcade-copy .button{font-size:12px}.game-records .section-top{align-items:flex-start;flex-direction:column;gap:7px}.arcade-bests{gap:17px}.arcade-bests>div{gap:9px}.arcade-bests>div+div{padding-left:17px}.arcade-bests>div>.icon{width:22px;height:22px}.arcade-bests>div>strong{font-size:24px}.arcade-bests strong{font-size:12px}.arcade-bests small{font-size:9px}.game-hud{padding:18px 12px}.game-hud strong{font-size:26px}.game-hud>div>span{font-size:8px;gap:4px;letter-spacing:.7px}.game-hud>div>span .icon{width:12px;height:12px}.game-arena{height:275px}.game-console{padding:17px 20px 15px}.game-tips{gap:12px;font-size:9px}.progress-grid{grid-template-columns:1.4fr 1fr;gap:16px}.panel{padding:21px}.section-top h2{font-size:16px}.speed-trend .section-top{align-items:flex-start;gap:10px;flex-direction:column}.speed-trend .chart-svg{height:160px}.daily-goal h2{font-size:17px}.goal-ring{height:112px;width:112px}.goal-ring>span{height:96px;width:96px}.goal-ring strong{font-size:30px}.daily-goal .text-button{font-size:10px}.daily-goal p{font-size:11px}.activity-days{gap:5px}.activity-cell{height:28px}.key-map,.focus-panel{grid-column:1/-1}.key-map .key{width:36px;height:30px;font-size:11px}.key-map .space-key{width:180px;height:24px}.focus-key-chips{justify-content:flex-start;gap:20px}.focus-panel .button{width:auto;align-self:flex-start}.focus-empty{align-items:flex-start;text-align:left;padding:7px 0 18px}.ranking-banner{flex-wrap:wrap;gap:17px}.ranking-trophy{width:63px;height:66px}.ranking-banner .button{margin-left:80px}.ranking-banner h2{font-size:29px}.path-progress{min-width:120px;padding:15px}.path-progress>strong{font-size:28px}.page-heading>.button{font-size:11px;padding:11px 13px}}
@media(max-width:760px){.sidebar{position:static;width:100%;padding:19px 19px 0}.brand{font-size:26px;padding:0;gap:9px}.brand-mark{width:32px;height:35px;font-size:30px}.brand-mark>span{font-size:19px}.sidebar-label,.sidebar-bottom{display:none}.sidebar nav{display:flex;gap:6px;padding:20px 0 12px;overflow-x:auto;scrollbar-width:none}.sidebar nav::-webkit-scrollbar{display:none}.nav-item{flex:none;font-size:12px;gap:7px;padding:10px 11px;min-height:39px;border-radius:8px}.nav-item .icon{height:16px;width:16px}.workspace{margin:0;min-height:calc(100vh - 125px)}.topbar{height:35px;position:absolute;right:19px;top:19px;padding:0;border:0;background:transparent}.breadcrumb{display:none}.topbar-right{gap:10px}.streak-pill{font-size:10px;gap:3px;padding:5px 7px;background:#242640;color:#cbd4ea;border-color:#3c3e58}.streak-pill .icon{width:14px;height:14px;color:#eebd6b}.avatar{height:32px;width:32px;font-size:12px;background:#66509b;color:#fff}main{padding:28px 19px}.page-heading{margin-bottom:24px;gap:15px;align-items:flex-start}.page-heading h1{font-size:34px;letter-spacing:-1.3px}.subtitle{font-size:13px;line-height:1.75;max-width:480px}.eyebrow{font-size:9px;letter-spacing:1.3px}.stats-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:21px}.stat-card{padding:16px 15px;gap:12px;border-radius:12px}.stat-icon{display:grid;height:38px;width:38px;border-radius:10px}.stat-icon .icon{width:19px;height:19px}.stat-card strong{font-size:27px}.stat-card p{font-size:10px;margin-bottom:4px}.stat-card small{font-size:10px;margin-left:4px}.test-card{border-radius:16px}.test-toolbar{padding:13px 16px;gap:10px;flex-wrap:wrap}.test-options{gap:7px}.segmented{padding:3px}.segmented button{font-size:11px;padding:7px 9px}.timer-chip{font-size:10px;gap:5px}.timer-chip .icon{height:14px;width:14px}.test-options .icon-button{min-width:24px;min-height:26px;padding:4px 0 4px 9px}.test-options .icon-button .icon{width:16px;height:16px}.live-strip{padding:20px 18px 15px;gap:10px}.live-label{font-size:10px;gap:6px}.live-numbers{gap:14px;font-size:10px}.live-numbers>span>strong{font-size:15px}.live-numbers .countdown{padding-left:13px;gap:2px}.live-numbers .countdown strong{font-size:24px}.live-numbers .countdown .icon{display:none}.typing-instructions{margin:0 18px 12px}.typing-instructions>strong{font-size:9px;letter-spacing:1px;gap:5px}.typing-instructions .focus-button{font-size:11px;padding:8px 10px;min-height:36px}.typing-instructions .focus-button .icon{width:13px}.typing-surface{margin:0 18px;padding:12px 14px;min-height:156px}.passage{font-size:23px;line-height:41px}.passage-window{height:126px}.typing-help{padding:11px 18px 19px;gap:8px;flex-direction:column;align-items:center}.focus-hint,.type-guide{font-size:10px;text-align:center;max-width:none}.keyboard{max-width:400px;gap:4px;margin-bottom:24px}.key-row{gap:4px}.key{width:30px;height:28px;font-size:9px}.row-1{margin-left:5px}.row-2{margin-left:12px}.row-3{margin-left:23px}.key.space-key{width:160px;height:23px}.test-bottom{padding:13px 18px;font-size:10px;gap:10px;align-items:flex-start}.test-bottom>span{flex-wrap:wrap;gap:4px;line-height:1.8}.test-bottom>span>.icon{display:none}.test-bottom .text-button{font-size:10px;white-space:nowrap}.test-bottom kbd{display:none}.below-grid{gap:14px;margin-top:20px}.feature-card{padding:22px 18px;align-items:flex-start;border-radius:13px}.feature-card .eyebrow{font-size:8px;line-height:1.5;letter-spacing:1px}.feature-card strong{font-size:17px;line-height:1.4;margin-bottom:7px}.feature-card>span>span:not(.eyebrow){font-size:11px;line-height:1.8}.feature-card b{font-size:11px;margin-top:16px}.footer{padding:20px 19px;font-size:9px;gap:14px;align-items:flex-start}.footer button{font-size:9px;text-align:left;gap:5px}.footer .icon{height:12px;width:12px}.page-heading>.button{font-size:11px;white-space:normal;padding:11px 12px;min-width:115px}.path-progress{padding:13px;min-width:108px}.path-progress>strong{font-size:27px}.path-progress>strong span{font-size:13px}.path-progress>span{font-size:9px}.lesson-path{padding:23px 19px}.lesson-item{padding:11px 9px;gap:9px}.lesson-item strong{font-size:12px}.lesson-item small{font-size:8px}.lesson-number{width:31px;height:34px;font-size:12px}.lesson-detail{padding:25px 24px}.lesson-tip{font-size:14px}.coach-banner{padding:21px 19px;gap:13px}.coach-banner strong{font-size:14px}.coach-banner p{font-size:12px}.coach-banner>span>.icon{width:28px;height:28px}.coach-banner .button{margin-left:41px;font-size:12px}.practice-note{font-size:12px;line-height:1.8;padding:13px 16px}.arcade-intro{padding:27px;grid-template-columns:1fr 1fr;min-height:250px}.arcade-intro h2{font-size:36px}.arcade-intro p{font-size:12px}.arcade-intro .badge{font-size:8px}.arcade-perks{gap:10px;margin-top:20px;flex-direction:column}.arcade-perks>span{font-size:10px}.arcade-art{transform:scale(.72);transform-origin:10% center}.arcade-grid{gap:17px}.arcade-copy{padding:23px 20px}.arcade-copy h2{font-size:26px}.game-tags{gap:8px;flex-direction:column;margin:17px 0}.arcade-copy .badge{font-size:7px}.arcade-copy .button{font-size:12px;padding:11px 13px}.game-preview{height:175px}.sprint-word{left:13%;gap:6px}.sprint-word>span{width:38px;height:48px;font-size:29px}.sprint-stamp{font-size:8px;right:18px;bottom:15px}.floating-word{font-size:18px;padding:9px 13px}.floating-word.one{left:9%;top:22px}.floating-word.two{right:9%;top:56px}.floating-word.three{left:27%;top:112px}.preview-points{left:66%;top:139px;font-size:11px}.game-records{padding:22px 20px}.game-records .subtle{font-size:11px}.arcade-bests{gap:16px}.arcade-bests>div{flex-wrap:wrap;gap:9px}.arcade-bests>div+div{padding-left:16px}.arcade-bests>div>strong{margin:2px 0 0 31px;flex-basis:100%;text-align:left;font-size:26px}.arcade-bests small{font-size:10px}.game-page-heading{margin-bottom:19px;gap:12px}.game-page-heading h1{font-size:31px}.game-page-heading .eyebrow{font-size:9px}.game-page-tools{gap:6px}.game-page-tools .button{font-size:10px;padding:8px 10px;min-height:36px;gap:5px}.game-page-tools .icon{width:14px;height:14px}.game-board{border-radius:16px}.game-hud{padding:17px 8px}.game-hud>div{gap:8px}.game-hud>div>span{font-size:8px;letter-spacing:.4px}.game-hud>div>span>.icon{display:none}.game-hud strong{font-size:25px;gap:1px}.game-hud strong small{font-size:8px}.game-hud #game-combo{font-size:23px}.game-hud #game-combo small{font-size:8px}.game-arena{height:260px}.game-start h2{font-size:22px}.game-start-art{width:35px;height:35px;margin-bottom:8px}.game-start-art .icon{width:20px;height:20px}.game-start p{font-size:11px;line-height:1.6;margin-top:8px}.difficulty-picker{margin:11px 0 9px}.arena-topline{inset:13px 16px auto;font-size:7px;letter-spacing:1px}.word-layer{inset:35px 0 50px}.fall-word{font-size:23px;padding:9px 14px;min-width:88px}.fall-word small{font-size:7px;letter-spacing:1px}.danger-line{left:18px;right:18px;bottom:27px}.danger-line span{font-size:7px;letter-spacing:1px}.sprint-target{font-size:47px}.target-label{font-size:8px}.game-console{padding:15px 17px 14px}.game-console-top{margin-bottom:10px;gap:10px}.game-console-top label{gap:7px}.game-console-top strong{font-size:12px;letter-spacing:1px}.input-step{width:26px;height:23px}.target-echo{font-size:11px}.target-echo strong{font-size:14px;margin-left:3px}.game-input-shell input{height:61px;font-size:26px;padding:13px 43px 13px 14px}.game-input-shell input::placeholder{font-size:14px}.input-status{right:13px}.input-status .icon{width:22px;height:22px}.game-console-bottom{font-size:10px;gap:9px;line-height:1.6;margin-top:9px}.game-tips{font-size:9px;gap:10px;margin-top:14px}.game-tips>span:last-child{display:none}.game-ready-hint{font-size:10px;bottom:53px}.combo-announcement{font-size:17px;top:45px;white-space:nowrap}.game-shortcut{font-size:9px}.progress-grid{grid-template-columns:1.35fr 1fr;gap:15px;margin-bottom:20px}.panel{padding:22px 19px}.section-top{margin-bottom:19px;gap:12px}.section-top h2{font-size:16px}.section-top .subtle{font-size:11px}.speed-trend .chart-svg{height:150px}.daily-goal{padding:22px 13px}.goal-ring{height:108px;width:108px;margin:25px auto 16px}.goal-ring>span{height:92px;width:92px}.goal-ring strong{font-size:31px}.goal-ring small{font-size:10px}.daily-goal>.eyebrow{font-size:8px}.activity-panel{margin-bottom:20px}.activity-cell .icon{height:14px;width:14px}.activity-legend{font-size:9px}.activity-legend i{height:8px;width:8px}.key-map .key{width:32px;height:29px;font-size:10px}.key-map .space-key{width:165px;height:23px}.key-map .keyboard{max-width:400px}.heat-legend{gap:12px}.recent-panel{padding:22px 17px}th{font-size:10px;padding:10px 9px}td{font-size:12px;padding:15px 9px}td strong{font-size:12px}.ranking-banner{padding:25px 22px}.ranking-banner h2{font-size:31px}.ranking-banner h2 span{font-size:13px}.ranking-banner .button{font-size:12px}.ranking-trophy .icon{width:31px;height:31px}.ranking-panel .segmented button{font-size:11px}.privacy-note{gap:10px;padding:20px 5px}.privacy-note p{font-size:11px}.modal-overlay{padding:20px 11px}.modal{padding:31px 24px;border-radius:19px}.modal.wide{padding:30px 25px}.result-top h2{font-size:32px}.result-stats{padding:22px 4px;margin:24px 0}.result-stats .result-primary strong{font-size:46px}.result-stats strong{font-size:30px}.result-stats span{font-size:10px}.result-stats strong small{font-size:16px}.result-detail-grid{gap:20px;grid-template-columns:1.3fr 1fr}.result-detail-grid>section+section{padding-left:20px}.mini-metrics{gap:10px}.tiny-meter{max-width:35px}.weak-key-list>div>span{font-size:8px}.clean-result{font-size:11px;flex-direction:column;align-items:flex-start;gap:10px}.advice-grid{gap:10px}.advice-card{padding:15px}.modal-actions{gap:9px}.modal-actions .button{font-size:12px;padding:11px 13px}.modal-heading h2{font-size:28px}.modal-heading p{font-size:13px}.game-summary{padding:15px 10px;gap:8px}.game-summary>span{font-size:9px}.certificate-modal{padding:28px 19px}.certificate-modal .modal-heading h2{font-size:25px}.certificate-controls{gap:12px;align-items:stretch;flex-direction:column;margin-bottom:20px}.certificate-controls .button{align-self:flex-start;min-height:42px;font-size:12px}.certificate-bottom{align-items:flex-start;flex-direction:column;gap:8px}.toast{font-size:12px;padding:13px 18px;bottom:20px}}
@media(max-width:450px){.sidebar{padding-inline:15px}.brand{font-size:25px}.brand-mark{width:30px;height:34px}.topbar{right:15px;top:19px}.streak-pill{font-size:9px;padding:5px 6px}.topbar-right{gap:8px}.avatar{height:30px;width:30px;font-size:11px}.nav-item{font-size:11px;padding:10px 9px;gap:6px}main{padding:26px 15px}.page-heading h1{font-size:32px;letter-spacing:-1.3px}.page-heading{gap:12px}.eyebrow{font-size:8px;letter-spacing:1.1px}.stat-card{padding:15px 12px;gap:10px}.stat-card strong{font-size:25px}.stat-icon{height:33px;width:33px;border-radius:9px}.stat-icon .icon{height:17px;width:17px}.stats-row{gap:9px}.test-toolbar{padding:12px 13px}.test-options{margin-left:auto}.segmented button{font-size:10px;padding:7px 8px}.live-strip{padding:18px 16px 14px;gap:8px}.live-label{font-size:9px}.live-numbers{gap:10px;font-size:9px}.live-numbers>span>strong{font-size:14px}.live-numbers .countdown{padding-left:10px}.typing-instructions{margin:0 16px 11px}.typing-instructions>strong{font-size:8px;letter-spacing:.9px}.typing-instructions>strong .icon{display:none}.typing-surface{margin:0 15px;padding:12px 13px}.passage{font-size:22px;line-height:40px}.passage-window{height:124px}.typing-help{padding-inline:15px}.keyboard{max-width:330px}.key-row{gap:3px}.key{width:26px;height:26px;font-size:8px;border-radius:4px}.row-1{margin-left:4px}.row-2{margin-left:10px}.row-3{margin-left:20px}.key.space-key{width:140px;height:22px}.test-bottom{padding:12px 16px;font-size:9px}.below-grid{grid-template-columns:1fr;gap:13px}.feature-card{padding:23px 21px;align-items:center;gap:16px}.feature-icon{display:grid;width:44px;height:47px}.feature-card strong{font-size:18px}.feature-card>span>span:not(.eyebrow){font-size:12px}.feature-card b{font-size:12px}.footer{padding:19px 15px;flex-direction:column;gap:9px;font-size:10px}.footer button{font-size:10px}.lesson-list{grid-template-columns:1fr}.lesson-trailing{display:block}.lesson-item{padding:11px 12px;gap:13px}.lesson-item strong{font-size:13px}.lesson-item small{font-size:9px}.lesson-number{width:35px;height:38px}.lesson-detail{padding:25px 22px}.lesson-detail h2{font-size:28px}.lesson-round{padding:13px 12px}.lesson-round small{font-size:10px}.path-progress{padding:11px;min-width:91px}.path-progress>strong{font-size:25px}.path-progress>span{font-size:8px}.path-progress>strong span{font-size:12px}.page-heading>.button{font-size:10px;padding:10px;min-width:94px}.page-heading>.button>.icon{display:none}.coach-banner{align-items:flex-start}.coach-banner strong{font-size:13px}.coach-banner>div{flex:1}.coach-banner p{font-size:11px}.arcade-intro{grid-template-columns:1fr;padding:28px;min-height:0}.arcade-intro h2{font-size:41px;position:relative;z-index:2}.arcade-intro p{max-width:230px;font-size:13px;position:relative;z-index:2}.arcade-art{position:absolute;right:-115px;top:-13px;width:300px;height:220px;transform:scale(.58);transform-origin:center;opacity:.4;pointer-events:none}.arcade-perks{flex-direction:row;gap:13px;position:relative;z-index:2}.arcade-perks>span{font-size:9px}.arcade-perks>span:last-child{display:none}.arcade-grid{grid-template-columns:1fr;gap:20px}.game-preview{height:189px}.floating-word{font-size:22px;padding:11px 17px}.floating-word.one{left:15%;top:23px}.floating-word.two{right:14%;top:48px}.floating-word.three{left:36%;top:109px}.preview-points{left:68%;top:136px;font-size:13px}.sprint-word{left:24%;top:57px;gap:9px}.sprint-word>span{width:44px;height:55px;font-size:34px}.sprint-stamp{bottom:21px;right:28px;font-size:9px}.arcade-copy{padding:25px}.arcade-copy h2{font-size:30px}.arcade-copy p{font-size:14px;min-height:0}.arcade-copy .badge{font-size:8px}.game-tags{flex-direction:row;gap:17px;font-size:11px}.arcade-copy .button{font-size:14px}.arcade-bests{grid-template-columns:1fr;gap:22px}.arcade-bests>div{flex-wrap:nowrap;gap:12px}.arcade-bests>div+div{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:22px}.arcade-bests>div>strong{margin:0 0 0 auto;flex-basis:auto;text-align:right;font-size:28px}.arcade-bests strong{font-size:14px}.arcade-bests small{font-size:11px}.game-page-heading{gap:10px}.game-page-heading h1{font-size:27px}.game-page-heading .eyebrow{font-size:8px}.game-page-tools{gap:5px}.game-page-tools .button{font-size:9px;gap:4px;padding:8px;min-height:34px}.game-page-tools .button .icon{width:12px;height:12px}.game-page-tools #sound-toggle .icon{display:none}.game-hud{padding:16px 5px}.game-hud strong{font-size:23px}.game-hud>div>span{font-size:7px;letter-spacing:.3px}.game-hud strong small{font-size:7px}.game-hud #game-combo{font-size:21px}.game-hud #game-combo small{font-size:7px}.game-arena{height:250px}.game-start h2{font-size:20px}.game-start p{font-size:10px}.game-start-art{height:34px;width:34px}.game-start-note{font-size:8px}.difficulty-picker button{font-size:10px;min-height:27px}.button.arcade-start-button{min-height:36px;font-size:12px;padding:8px 23px}.game-console{padding:14px 14px 13px}.game-console-top{gap:7px;margin-bottom:10px}.game-console-top strong{font-size:11px;letter-spacing:.8px}.game-console-top label{gap:5px}.input-step{height:21px;width:24px}.input-step .icon{height:15px;width:15px}.input-arrow{font-size:18px}.target-echo{font-size:10px}.target-echo strong{font-size:13px}.game-input-shell input{height:57px;font-size:25px;padding:12px 40px 12px 13px}.game-input-shell input::placeholder{font-size:12px}.game-console-bottom{font-size:10px;min-height:30px;align-items:flex-start}.game-shortcut{display:none}.arena-topline{font-size:6px;letter-spacing:.9px;inset:13px 14px auto}.fall-word{font-size:21px;padding:9px 12px;min-width:78px}.fall-word small{font-size:6px}.sprint-target{font-size:43px}.game-tips{font-size:8px;gap:10px}.progress-grid{grid-template-columns:1fr;gap:18px}.daily-goal{padding:25px}.daily-goal h2{font-size:21px}.goal-ring{width:131px;height:131px;margin:25px auto 18px}.goal-ring>span{width:112px;height:112px}.goal-ring strong{font-size:36px}.goal-ring small{font-size:11px}.daily-goal p,.daily-goal .text-button{font-size:12px}.daily-goal>.eyebrow{font-size:9px}.speed-trend .section-top{flex-direction:row;align-items:center}.speed-trend .chart-svg{height:180px}.key-map .key{width:26px;height:27px;font-size:9px}.key-map .key-row{gap:3px}.key-map .space-key{width:140px;height:22px}.heat-legend{gap:11px}.heat-legend span{font-size:9px}.activity-panel .section-top{align-items:flex-start;flex-wrap:wrap}.activity-days{gap:4px}.activity-days small{font-size:8px}.activity-cell{height:25px;border-radius:4px}.activity-cell .icon{height:11px;width:11px}.ranking-banner{padding:24px 20px;gap:15px}.ranking-banner h2{font-size:28px}.ranking-banner h2 span{font-size:12px}.ranking-banner .button{width:100%;margin:6px 0 0;font-size:13px}.ranking-trophy{width:50px;height:54px}.ranking-banner .eyebrow{font-size:8px}.ranking-panel .segmented button{font-size:10px}.modal.wide{padding:30px 21px}.result-top h2{font-size:29px}.result-top .eyebrow{font-size:8px}.result-stats .result-primary strong{font-size:43px}.result-stats strong{font-size:27px}.result-stats span{font-size:8px}.result-detail-grid{grid-template-columns:1fr;gap:23px}.result-detail-grid>section+section{border-left:0;border-top:1px solid #e7e0ef;padding:20px 0 0}.weak-key-list{grid-template-columns:1fr 1fr;gap:13px}.clean-result{flex-direction:row;align-items:center;font-size:12px;margin-top:8px}.mini-metrics{justify-content:space-between;gap:8px}.advice-grid{grid-template-columns:1fr}.advice-card{padding:17px}.advice-card strong{font-size:13px}.advice-card p{font-size:12px}.modal-actions .button{flex:1;min-width:130px;font-size:12px}.modal-actions>.text-button:last-child{margin:6px 0 0 auto}.game-summary{grid-template-columns:1fr 1fr;gap:14px}.game-summary>span{font-size:10px}.game-summary strong{font-size:21px}.modal-heading h2{font-size:26px}.certificate-modal .modal-heading h2{font-size:23px}.certificate-modal .modal-heading .eyebrow{font-size:7px}.certificate-modal .modal-heading p{font-size:12px}.certificate-modal{padding:28px 16px}.certificate-controls .button{width:100%;font-size:12px}.certificate-note{line-height:1.7}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.blast-core,.blast-ring,.blast-particle{display:none}.blast-points{opacity:1}.combo-announcement.show{opacity:1}}
@page{size:A4 landscape;margin:10mm}
@media print{body{background:white!important}#app,#modal-root,#toast,.skip-link{display:none!important}#print-root{display:block!important;width:277mm;container-type:inline-size}.certificate{width:277mm;height:185mm;aspect-ratio:auto;margin:0;border:1px solid #c4ae7d;break-inside:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact}.certificate-inner{padding:8mm 10mm 5mm}.certificate-side{width:22mm;padding:11mm 0 8mm}.certificate-side>span{font-size:14px;letter-spacing:5px}.certificate-side>small{font-size:7px;letter-spacing:3px}.certificate-side>b{font-size:5px;letter-spacing:1px}.cert-monogram{font-size:37px;letter-spacing:-3px}.cert-monogram>span{font-size:15px;right:-7px;top:-5px}.cert-topline>div strong{font-size:13px;letter-spacing:3px}.cert-topline>div>span{font-size:8px;letter-spacing:1.2px}.cert-topline .cert-edition{font-size:8px;letter-spacing:1.2px}.cert-overline{font-size:8px;letter-spacing:2px}.certificate h2{font-size:46px;letter-spacing:4px;margin-top:3mm}.certificate h2>span{font-size:12px;letter-spacing:5.4px}.cert-divider{gap:4mm;font-size:11px;margin:3mm auto}.cert-presented{font-size:12px}.cert-recipient{font-size:35px;margin:4mm 0 3mm;padding-bottom:3mm;max-height:29mm;line-height:1.15}.cert-description{font-size:12px;line-height:1.7}.certificate-stats{gap:14mm;margin:5mm 0 3mm}.certificate-stats>div+div:before{left:-7mm}.certificate-stats strong{font-size:37px;letter-spacing:-1px}.certificate-stats strong small{font-size:17px;margin-left:2px}.certificate-stats>div>span{font-size:8px;letter-spacing:1.2px;margin-top:2mm}.certificate-footer{padding-top:2mm}.certificate-seal{width:26mm;height:26mm}.certificate-seal>span{font-size:4.8px;letter-spacing:.7px}.cert-issued>strong{font-size:11px;padding-bottom:3mm}.cert-signature>strong{font-size:25px;padding-bottom:2mm}.cert-issued>span,.cert-signature>span{font-size:8px;letter-spacing:.6px;margin-top:2mm}.cert-issued>small,.cert-signature>small{font-size:7.5px;margin-top:1mm}.cert-record{font-size:7px;letter-spacing:.4px;margin-top:3mm;padding-top:2mm}.certificate:after{border-width:2px}}

/* Finger map for the learning path */
.finger-guide{margin:22px 0 4px;padding:18px;border:1px solid #ded4f4;border-radius:16px;background:linear-gradient(145deg,#fbf9ff 0%,#f1ebff 100%);text-align:left;box-shadow:0 10px 28px #5b3b9910;overflow:hidden;position:relative}.finger-guide:before{content:"";position:absolute;width:150px;height:150px;right:-58px;top:-62px;border-radius:50%;background:#c9b8ff55;filter:blur(2px)}.finger-guide-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;position:relative;z-index:1}.finger-guide-top h3{font-size:18px;color:#483666;margin-top:4px;letter-spacing:-.35px}.finger-guide-top h3 em{color:#704bd2;font-style:normal}.finger-guide-top p{font-size:11px;line-height:1.6;color:#786b8f;margin-top:5px;max-width:290px}.finger-hand-badge{font-size:8px;letter-spacing:1.2px;font-weight:800;color:#7651cd;background:#fff;border:1px solid #d9ccf2;border-radius:999px;padding:7px 9px;white-space:nowrap}.finger-guide-visual{display:flex;align-items:center;justify-content:center;gap:10px;margin:13px 0 12px;position:relative;z-index:1}.hand-card{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:92px;color:#8a7b9e;font-size:9px}.hand-card.active{color:#6845c3;font-weight:700}.hand-svg{width:86px;height:76px;overflow:visible}.hand-palm{fill:#e8e0f8;stroke:#bea9e5;stroke-width:1.5}.hand-finger,.hand-thumb{fill:#e8e0f8;stroke:#bea9e5;stroke-width:1.5;transition:fill .2s,stroke .2s,filter .2s}.hand-card.active .hand-palm{fill:#e2d6fa}.hand-finger.active,.hand-thumb.active{fill:#8a5fe4;stroke:#6338be;filter:drop-shadow(0 4px 6px #704bd255)}.finger-guide-arrow{display:flex;flex-direction:column;align-items:center;gap:3px;color:#967dc4;font-size:9px;text-align:center}.finger-guide-arrow .icon{width:23px;height:23px}.finger-guide-keys{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;position:relative;z-index:1}.finger-key{min-width:34px;padding:6px 5px 5px;border:1px solid #d9d0ed;border-radius:8px;background:#fff;color:#715b8f;display:flex;flex-direction:column;align-items:center;gap:2px;transition:transform .15s,background .15s,border-color .15s,box-shadow .15s}.finger-key:hover{transform:translateY(-2px);border-color:#a48ade}.finger-key span{font-size:12px;font-weight:800}.finger-key small{font-size:7px;color:#9a8aaa;white-space:nowrap}.finger-key.active{background:#714bd2;border-color:#6039bd;color:white;box-shadow:0 5px 12px #714bd233;transform:translateY(-2px)}.finger-key.active small{color:#e8ddff}.finger-guide-tip{margin:12px 0 0;padding-top:10px;border-top:1px solid #e3daf3;color:#817294;font-size:9px;line-height:1.7;text-align:center;position:relative;z-index:1}.finger-guide-tip kbd{font-size:8px;min-width:18px;height:18px;margin:0 1px;background:#fff;border-color:#d7c9ef;color:#7654b8}@media(max-width:760px){.finger-guide{padding:16px;margin-top:18px}.finger-guide-top h3{font-size:16px}.finger-guide-top p{font-size:10px}.finger-guide-visual{gap:3px}.hand-card{min-width:78px}.hand-svg{width:74px;height:68px}.finger-guide-arrow .icon{width:19px;height:19px}.finger-key{min-width:31px;padding-inline:4px}.finger-key small{font-size:6px}.finger-guide-tip{font-size:8px}}@media(max-width:450px){.finger-guide-top{display:block}.finger-hand-badge{display:inline-block;margin-top:8px}.finger-guide-visual{margin-top:9px}.finger-guide-keys{gap:5px}.finger-key{min-width:29px}.finger-key small{display:none}}
