:root{color-scheme:dark;--bg:#070a0f;--bg-elevated:#0b1017;--surface-inset:#05070b;--surface-1:#101720;--surface-2:#151e29;--surface-3:#1b2633;--surface-hover:#151e29;--surface-floating:#131b25;--surface:var(--surface-1);--surface-2-alias:var(--surface-2);--text:#f4f7fb;--muted:#9ba7b7;--faint:#8793a3;--accent:#a3ff5f;--accent-2:#5ee7ff;--accent-ink:#0a1704;--danger:#ff667a;--warning:#ffc857;--success:#69f0ae;--metric-wpm:var(--accent);--metric-accuracy:#f4f7fb;--metric-time:#f4f7fb;--metric-combo:var(--accent);--metric-pb:var(--accent-2);--border:#ffffff14;--border-strong:#ffffff26;--border-hairline:#ffffff0d;--shadow-1:0 1px 2px #0000004d, 0 6px 16px #0003;--shadow-2:0 4px 14px #00000047, 0 16px 40px #0000003d;--shadow-3:0 12px 32px #00000052, 0 30px 80px #0000005c;--shadow-floating:0 18px 46px #0006, 0 4px 14px #0000004d;--shadow-inset:inset 0 2px 6px #00000073, inset 0 1px 0 #0000004d;--shadow-inset-soft:inset 0 1px 3px #0000004d;--highlight-edge:inset 0 1px 0 #ffffff0f;--highlight-edge-strong:inset 0 1px 0 #ffffff1a;--glow-accent:0 0 0 3px color-mix(in srgb, var(--accent) 10%, transparent), 0 0 24px color-mix(in srgb, var(--accent) 16%, transparent);--shadow:var(--shadow-3);--shadow-soft:var(--shadow-2);--radius-sm:.6rem;--radius:.9rem;--radius-lg:1.25rem;--radius-xl:1.65rem;--radius-2xl:2rem;--radius-pill:999px;--radius-key:.5rem;--content:1200px;--reading:760px;--text-base:clamp(.98rem, .93rem + .2vw, 1.06rem);--text-sm:clamp(.86rem, .8rem + .16vw, .96rem);--text-lg:clamp(1.04rem, .95rem + .2vw, 1.18rem);--line-body:1.7;--line-heading:1.08;--mono:"SFMono-Regular", "Cascadia Code", Consolas, "Liberation Mono", Menlo, monospace;--sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--motion-instant:70ms;--motion-fast:.13s;--motion-normal:.22s;--motion-slow:.38s;--ease-standard:cubic-bezier(.22, .61, .36, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--perspective:1400px;--tilt-x:0deg;--tilt-y:0deg;--z-raised:10;--z-sticky-nav:100;--z-dropdown:200;--z-overlay:300;--z-modal:400;--z-toast:500;--z-tooltip:600}:root[data-theme=light]{color-scheme:light;--bg:#f4f7fa;--bg-elevated:#fff;--surface-inset:#eef2f6;--surface-1:#fff;--surface-2:#edf1f5;--surface-3:#e3e9ef;--surface-hover:#e8edf2;--surface-floating:#fff;--surface:var(--surface-1);--text:#0d131a;--muted:#556270;--faint:#596675;--accent:#397900;--accent-2:#00778b;--accent-ink:#fff;--danger:#c92f49;--warning:#8b5b00;--success:#08783f;--border:#0d131a1a;--border-strong:#0d131a2e;--border-hairline:#0d131a0f;--shadow-1:0 1px 2px #2a3c4d14, 0 4px 12px #2a3c4d14;--shadow-2:0 4px 12px #2a3c4d1a, 0 14px 32px #2a3c4d1a;--shadow-3:0 10px 28px #2a3c4d1f, 0 26px 70px #2a3c4d24;--shadow-floating:0 16px 38px #2a3c4d29, 0 4px 12px #2a3c4d1a;--shadow-inset:inset 0 2px 5px #2a3c4d1a, inset 0 1px 0 #2a3c4d0f;--shadow-inset-soft:inset 0 1px 2px #2a3c4d14;--highlight-edge:inset 0 1px 0 #ffffffb3;--highlight-edge-strong:inset 0 1px 0 #ffffffe6;--glow-accent:0 0 0 3px color-mix(in srgb, var(--accent) 10%, transparent), 0 0 20px color-mix(in srgb, var(--accent) 12%, transparent);--shadow:var(--shadow-3);--shadow-soft:var(--shadow-2)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg);font-size:16px}body{background:var(--bg);min-width:320px;min-height:100vh;color:var(--text);font-family:var(--sans);font-size:16px;line-height:var(--line-body);letter-spacing:-.01em;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-weight:450;overflow-x:hidden}h1,h2,h3,h4{line-height:var(--line-heading);letter-spacing:-.03em;text-wrap:balance;margin:0;font-weight:800}p{margin:0}main{display:block}h1,h2,h3,h4,p{overflow-wrap:break-word}img,svg{max-width:100%;display:block}a{color:inherit}button,input,textarea,select{font:inherit;margin:0}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button,a,summary{-webkit-tap-highlight-color:transparent}fieldset{border:0;min-width:0;margin:0;padding:0}::selection{color:var(--text);background:#a3ff5f47}:focus-visible{outline:2px solid var(--accent-2);outline-offset:3px;border-radius:2px}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.container{width:min(calc(100% - 2rem), var(--content));margin-inline:auto}.skip-link{z-index:var(--z-toast);border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-floating);padding:.7rem 1rem;font-weight:850;text-decoration:none;position:fixed;top:.65rem;left:.65rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}body:before{content:"";z-index:-3;pointer-events:none;background:radial-gradient(62rem 40rem at 10% -12%,#a3ff5f14,#0000 60%),radial-gradient(56rem 38rem at 96% 6%,#5ee7ff0f,#0000 58%),radial-gradient(70rem 50rem at 50% 118%,#a3ff5f0a,#0000 62%);position:fixed;inset:0}body:after{content:"";z-index:-2;pointer-events:none;opacity:.24;transform-origin:top;background-image:linear-gradient(#a3ff5f0f 1px,#0000 1px),linear-gradient(90deg,#a3ff5f0f 1px,#0000 1px);background-size:46px 46px;height:62vh;position:fixed;inset:-10% -10% auto;transform:perspective(700px)rotateX(58deg);mask-image:linear-gradient(#000,#0000 85%)}:root[data-theme=light] body:before{background:radial-gradient(62rem 40rem at 10% -12%,#39790012,#0000 60%),radial-gradient(56rem 38rem at 96% 6%,#00778b0d,#0000 58%),radial-gradient(70rem 50rem at 50% 118%,#39790008,#0000 62%)}:root[data-theme=light] body:after{opacity:.5;background-image:linear-gradient(#0d131a0a 1px,#0000 1px),linear-gradient(90deg,#0d131a0a 1px,#0000 1px)}.grain-veil{z-index:-1;pointer-events:none;opacity:.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}:root[data-theme=light] .grain-veil{opacity:.02}.site-header{z-index:var(--z-sticky-nav);pointer-events:none;padding:.7rem 0 0;position:sticky;top:0}.header-inner{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-floating) 86%, transparent);min-height:3.55rem;box-shadow:var(--shadow-floating), var(--highlight-edge);backdrop-filter:blur(20px)saturate(140%);pointer-events:auto;transition:box-shadow var(--motion-normal) var(--ease-standard), border-color var(--motion-normal) var(--ease-standard);border-radius:1rem;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:0 .55rem 0 .8rem;display:grid;position:relative}.header-inner:after{content:"";z-index:-1;border-radius:inherit;pointer-events:none;background:linear-gradient(#ffffff08,#0000 40%);position:absolute;inset:0}.brand{z-index:1;width:max-content;color:var(--text);align-items:center;gap:.65rem;text-decoration:none;display:inline-flex;position:relative}.brand-symbol{filter:drop-shadow(0 1px 2px #00000040);flex:none;width:2rem;height:2rem}.brand-symbol-shell{fill:color-mix(in srgb, var(--accent) 7%, var(--surface-2));stroke:color-mix(in srgb, var(--accent) 42%, var(--border));stroke-width:1.2px}.brand-symbol-k{fill:none;stroke:var(--text);stroke-width:2.7px;stroke-linecap:round;stroke-linejoin:round}.brand-symbol-bolt{fill:var(--accent)}.brand-word{letter-spacing:.12em;font-size:.9rem;font-weight:900}.brand-word span{color:var(--accent)}.nav{z-index:1;align-items:center;gap:.1rem;display:flex;position:relative}.nav a{min-height:2.6rem;color:var(--muted);transition:color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard);border-radius:.6rem;padding:.7rem .9rem;font-size:.96rem;font-weight:690;text-decoration:none;position:relative}.nav a:after{content:"";background:var(--accent);height:2px;box-shadow:0 0 8px color-mix(in srgb, var(--accent) 50%, transparent);transition:transform var(--motion-fast) var(--ease-standard);border-radius:2px;position:absolute;bottom:.36rem;left:.78rem;right:.78rem;transform:scaleX(0)}.nav a:hover{background:var(--surface-2);color:var(--text)}.nav a.active{color:var(--text)}.nav a.active:after{transform:scaleX(1)}.header-actions{z-index:1;justify-content:flex-end;gap:.28rem;display:flex;position:relative}.icon-button{width:2.45rem;height:2.45rem;color:var(--muted);transition:border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);background:0 0;border:1px solid #0000;border-radius:.65rem;flex:none;place-items:center;text-decoration:none;display:grid}.icon-button:hover{border-color:var(--border);background:var(--surface-2);color:var(--text);box-shadow:var(--highlight-edge)}.icon-button:active{box-shadow:var(--shadow-inset-soft);transform:translateY(1px)scale(.96)}.icon-button svg{fill:none;stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;width:1.1rem}.theme-toggle .sun-icon{transition:transform .25s var(--ease-standard)}:root[data-theme=light] .theme-toggle .sun-icon{transform:rotate(30deg)}.mobile-nav{display:none;position:relative}.mobile-nav summary{list-style:none}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary span{width:1rem;height:1px;transition:transform .18s var(--ease-standard);background:currentColor;margin:2px 0;display:block}.mobile-nav[open] summary span:first-child{transform:translateY(3px)rotate(45deg)}.mobile-nav[open] summary span:nth-child(2){opacity:0}.mobile-nav[open] summary span:last-child{transform:translateY(-3px)rotate(-45deg)}.mobile-menu{z-index:var(--z-dropdown);border:1px solid var(--border-strong);background:var(--surface-floating);width:min(20rem,100vw - 2rem);box-shadow:var(--shadow-floating), var(--highlight-edge);animation:panel-in var(--motion-normal) var(--ease-standard);border-radius:1rem;padding:.55rem;display:grid;position:absolute;top:calc(100% + .75rem);right:0}.mobile-menu-label{color:var(--faint);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:.65rem .75rem .45rem;font-size:.78rem;font-weight:800}.mobile-menu a{min-height:2.9rem;color:var(--muted);transition:background var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard);border-radius:.65rem;justify-content:space-between;align-items:center;padding:.65rem .75rem;font-size:.92rem;font-weight:700;text-decoration:none;display:flex}.mobile-menu a:hover,.mobile-menu a.active{background:var(--surface-2);color:var(--text)}.mobile-menu a span{color:var(--faint);font-family:var(--mono)}.page-shell{min-height:70vh;padding:clamp(1.4rem,3.2vw,2.8rem) 0 6.5rem;position:relative}.breadcrumbs{color:var(--faint);font-family:var(--mono);flex-wrap:wrap;align-items:center;gap:.42rem;margin:0 0 1.75rem;font-size:.68rem;display:flex}.breadcrumbs a{color:var(--muted);text-decoration:none}.breadcrumbs a:hover{color:var(--text)}.breadcrumbs strong{max-width:44ch;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.eyebrow{color:var(--accent);font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:.65rem;margin:0 0 .9rem;font-size:.78rem;font-weight:850;display:inline-flex}.eyebrow:before{content:"";background:currentColor;width:1.8rem;height:1px;box-shadow:8px 0 0 -.25px}.hero-copy{opacity:0;max-width:880px;animation:fade-up .7s var(--ease-standard) .1s forwards;margin-bottom:clamp(.8rem,1.25vw,1.2rem);transform:translateY(1rem)}@keyframes fade-up{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}@keyframes card-enter{0%{opacity:0;transform:translateY(.8rem)}to{opacity:1;transform:translateY(0)}}@keyframes panel-in{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.hero-copy h1{letter-spacing:-.065em;max-width:850px;margin:0;font-size:clamp(2.7rem,1.6rem + 3.6vw,5.9rem);line-height:.95}.hero-copy>p:not(.eyebrow){max-width:720px;color:var(--muted);margin:1.25rem 0 0;font-size:clamp(1rem,.95rem + .28vw,1.18rem);line-height:1.72}.tool-hero h1{font-size:clamp(2.5rem,1.4rem + 3.2vw,5.1rem)}.home-hero{margin-bottom:clamp(1.1rem,2vw,1.6rem)}.home-hero h1{font-size:clamp(2.45rem,1.5rem + 3vw,4.6rem)}.home-hero h2{max-width:760px;color:var(--accent);letter-spacing:-.035em;margin:.55rem 0 0;font-size:clamp(1.3rem,1rem + 1vw,2rem);line-height:1.14}.home-hero>p:not(.eyebrow){margin-top:.75rem}.trust-row{flex-wrap:wrap;gap:.55rem .5rem;margin:1.15rem 0 0;display:flex}.trust-row span{border:1px solid var(--border);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--surface-2) 55%, transparent);color:var(--muted);box-shadow:var(--highlight-edge);align-items:center;gap:.42rem;padding:.38rem .7rem .38rem .55rem;font-size:.76rem;font-weight:620;display:inline-flex}.trust-row span:before{content:"";background:var(--accent);width:.38rem;height:.38rem;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent), 0 0 6px color-mix(in srgb, var(--accent) 45%, transparent);border-radius:50%;flex:none}.content-section{padding-top:clamp(4rem,8vw,7rem)}.section-heading{max-width:760px;margin-bottom:2rem}.section-heading h2,.page-content h2{letter-spacing:-.052em;margin:0 0 .75rem;font-size:clamp(1.8rem,1.25rem + 2.2vw,3rem);line-height:1.06}.section-heading p{color:var(--muted);margin:0}.section-heading .eyebrow{margin-bottom:.8rem}.page-content{color:var(--muted)}.page-content>h2{max-width:760px;color:var(--text);margin-top:4.5rem}.page-content>h2:first-child{margin-top:0}.page-content>p{max-width:var(--reading);font-size:clamp(1rem,.95rem + .25vw,1.08rem);line-height:1.8}.page-content h3{color:var(--text)}.page-content a{color:var(--accent-2);text-underline-offset:3px}.feature-grid,.tools-grid,.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid}.feature,.tool-card,.editorial-card{--tilt-x:0deg;--tilt-y:0deg;transform:perspective(var(--perspective)) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(0) translateZ(0);transition:transform var(--motion-normal) var(--ease-standard), border-color var(--motion-normal) var(--ease-standard), box-shadow var(--motion-normal) var(--ease-standard), background var(--motion-normal) var(--ease-standard)}.feature{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(150deg, var(--surface-1), var(--surface-2) 130%);min-height:10.5rem;box-shadow:var(--shadow-1), var(--highlight-edge);padding:1.4rem 1.35rem;position:relative;overflow:hidden}.feature:before{content:"";background:var(--accent);width:2.3rem;height:2px;box-shadow:0 0 8px color-mix(in srgb, var(--accent) 55%, transparent);border-radius:2px;position:absolute;top:0;left:1.35rem}.feature strong{color:var(--text);margin:.6rem 0 .55rem;font-size:1.02rem;display:block}.feature p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.68}.feature:hover{border-color:var(--border-strong);box-shadow:var(--shadow-2), var(--highlight-edge);transform:perspective(var(--perspective)) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(-3px) translateZ(6px)}.tool-card{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(155deg, var(--surface-1), color-mix(in srgb, var(--surface-1) 88%, var(--bg)));min-height:13.5rem;box-shadow:var(--shadow-1), var(--highlight-edge);opacity:0;animation:card-enter .5s var(--ease-standard) .12s forwards;flex-direction:column;padding:1.2rem;text-decoration:none;display:flex;position:relative;overflow:hidden}.tool-card:before{content:"";border:1px solid color-mix(in srgb, var(--accent) 18%, transparent);width:9rem;height:9rem;transition:transform .3s var(--ease-standard);border-radius:50%;position:absolute;bottom:-4rem;right:-3rem}.tool-card:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--border));background:linear-gradient(155deg, var(--surface-2), var(--surface-1));box-shadow:var(--shadow-2), var(--highlight-edge-strong);transform:perspective(var(--perspective)) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(-5px) translateZ(10px)}.tool-card:hover:before{border-color:color-mix(in srgb, var(--accent) 30%, transparent);transform:scale(1.25)}.tool-card:active{transform:translateY(-1px)scale(.995)}.tool-card-index{border:1px solid var(--border);border-radius:var(--radius-sm);width:max-content;color:var(--faint);font-family:var(--mono);letter-spacing:.1em;margin-bottom:auto;padding:.18rem .5rem;font-size:.64rem;font-weight:800}.tool-card h3{color:var(--text);margin:1.3rem 0 .45rem;font-size:1.08rem}.tool-card p{color:var(--muted);margin:0;font-size:.9rem;line-height:1.68}.tool-card .arrow{color:var(--accent);font-family:var(--mono);transition:gap var(--motion-fast) var(--ease-standard);justify-content:space-between;align-items:center;gap:.5rem;margin-top:1rem;font-size:.72rem;font-weight:800;display:inline-flex}.tool-card:hover .arrow{gap:.75rem}.editorial-grid{grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem;display:grid}.editorial-card,.callout-block{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-1), var(--highlight-edge);padding:clamp(1.25rem,3vw,2rem)}.editorial-card h2,.editorial-card h3{letter-spacing:-.03em;margin:0 0 .55rem;font-size:1.1rem}.editorial-card p{margin:0}.editorial-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-2), var(--highlight-edge);transform:perspective(var(--perspective)) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(-3px)}.step-sequence{counter-reset:steps;grid-template-columns:repeat(3,1fr);gap:.8rem;margin:1.5rem 0;display:grid}.step{border-top:1px solid var(--border-strong);counter-increment:steps;padding:1.25rem;position:relative}.step:before{content:"0" counter(steps);color:var(--accent);font-family:var(--mono);margin-bottom:1.5rem;font-size:.68rem;font-weight:850;display:block}.step strong{color:var(--text);margin-bottom:.4rem;display:block}.step p{margin:0;font-size:.86rem}.metric-table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow-1);margin:1.5rem 0;overflow-x:auto}.metric-table{border-collapse:collapse;width:100%;min-width:540px}.metric-table th,.metric-table td{border-bottom:1px solid var(--border);text-align:left;padding:.9rem 1rem}.metric-table tr:last-child td{border-bottom:0}.metric-table th{color:var(--faint);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:.67rem}.metric-table td:first-child{color:var(--text);font-weight:750}.callout-block{margin:1.7rem 0;padding-left:clamp(1.5rem,4vw,3rem);position:relative;overflow:hidden}.callout-block:before{content:"";background:linear-gradient(var(--accent), var(--accent-2));width:3px;box-shadow:0 0 10px color-mix(in srgb, var(--accent) 40%, transparent);position:absolute;inset:0 auto 0 0}.callout-block strong{color:var(--text);font-size:1.08rem;display:block}.callout-block p{margin:.45rem 0 0}.faq{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-1);overflow:hidden}.faq details+details{border-top:1px solid var(--border)}.faq summary{cursor:pointer;min-height:4.4rem;color:var(--text);transition:background var(--motion-fast) var(--ease-standard);grid-template-columns:2.6rem 1fr auto;align-items:center;gap:.5rem;padding:.7rem 1.2rem;font-weight:750;list-style:none;display:grid}.faq summary:hover{background:var(--surface-2)}.faq summary::-webkit-details-marker{display:none}.faq summary span{color:var(--faint);font-family:var(--mono);font-size:.67rem}.faq summary i{color:var(--accent);font-family:var(--mono);transition:transform .18s var(--ease-standard);font-size:1.2rem;font-style:normal}.faq details[open] summary i{transform:rotate(45deg)}.faq details p{max-width:760px;color:var(--muted);margin:0;padding:0 1.2rem 1.25rem 4.3rem}.notice{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);color:var(--muted);box-shadow:var(--highlight-edge);padding:1rem 1.1rem}.performance-core{border:1px solid var(--border);border-radius:var(--radius-2xl);background:radial-gradient(circle at 18% 30%, color-mix(in srgb, var(--accent) 5%, var(--surface-1)), var(--surface-1) 60%);box-shadow:var(--shadow-2), var(--highlight-edge);grid-template-columns:minmax(0,15rem) 1fr;align-items:center;gap:clamp(1.5rem,5vw,4rem);padding:clamp(1.6rem,4vw,2.6rem);display:grid;position:relative;overflow:hidden}.core-hub{aspect-ratio:1;place-items:center;display:grid;position:relative}.core-ring{border:1px solid var(--border);border-radius:50%;position:absolute;inset:0}.core-ring.ring-2{border-color:color-mix(in srgb, var(--accent) 22%, var(--border));inset:14%}.core-ring.ring-3{border-style:dashed;border-color:color-mix(in srgb, var(--accent-2) 26%, var(--border));animation:40s linear infinite core-spin;inset:28%}.core-center{aspect-ratio:1;background:radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--accent) 20%, var(--surface-2)), var(--surface-2) 70%);width:46%;box-shadow:var(--shadow-2), 0 0 0 1px var(--border), inset 0 1px 0 #ffffff1a;text-align:center;border-radius:50%;place-items:center;display:grid;position:relative}.core-center strong{font-family:var(--mono);color:var(--accent);letter-spacing:-.04em;font-size:clamp(1.6rem,4vw,2.1rem);display:block}.core-center span{color:var(--faint);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-top:.15rem;font-size:.58rem;display:block}@keyframes core-spin{to{transform:rotate(360deg)}}.core-nodes{grid-template-columns:repeat(2,1fr);gap:.7rem;display:grid;position:relative}.core-node{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb, var(--bg-elevated) 82%, transparent);box-shadow:var(--highlight-edge);padding:.85rem .95rem;position:relative}.core-node:before{content:"";background:linear-gradient(90deg, transparent, var(--border-strong));width:.7rem;height:1px;position:absolute;top:50%;left:-.7rem}.core-node strong{color:var(--text);font-size:.84rem;display:block}.core-node p{color:var(--muted);margin:.25rem 0 0;font-size:.75rem;line-height:1.5}.button,.btn{border:1px solid var(--border);background:var(--surface-2);min-height:2.9rem;color:var(--text);box-shadow:var(--shadow-1), var(--highlight-edge);transition:transform var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);border-radius:.68rem;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.05rem;font-size:.92rem;font-weight:800;text-decoration:none;display:inline-flex;position:relative}.button:hover,.btn:hover{border-color:var(--border-strong);background:var(--surface-hover);box-shadow:var(--shadow-2), var(--highlight-edge);transform:translateY(-1px)}.button:active,.btn:active{box-shadow:var(--shadow-inset-soft);transition-duration:var(--motion-instant);transform:translateY(1px)scale(.98)}.button.primary,.button:not(.secondary),.btn.primary{border-color:color-mix(in srgb, var(--accent) 60%, var(--border));background:var(--accent);background-image:linear-gradient(155deg, color-mix(in srgb, white 14%, var(--accent)), var(--accent));color:var(--accent-ink);box-shadow:0 8px 25px color-mix(in srgb, var(--accent) 18%, transparent), var(--highlight-edge-strong)}.button.primary:hover,.button:not(.secondary):hover,.btn.primary:hover{background:color-mix(in srgb, var(--accent) 88%, white);box-shadow:0 12px 32px color-mix(in srgb, var(--accent) 26%, transparent), var(--highlight-edge-strong)}.button.primary:active,.btn.primary:active{box-shadow:inset 0 2px 6px #0000002e}.button.secondary{background:var(--surface-2);color:var(--text)}.btn.primary-alt{border-color:color-mix(in srgb, var(--accent-2) 45%, var(--border));color:var(--accent-2)}.btn.primary-alt:hover{background:color-mix(in srgb, var(--accent-2) 9%, var(--surface-hover));border-color:color-mix(in srgb, var(--accent-2) 55%, var(--border))}.btn.danger{color:var(--danger)}.site-footer{border-top:1px solid var(--border);background:color-mix(in srgb, var(--bg-elevated) 78%, var(--bg));position:relative}.footer-inner{grid-template-columns:1.75fr 1fr 1fr .65fr;gap:clamp(1.5rem,4vw,4rem);padding:4rem 0 3rem;display:grid}.footer-brand p{color:var(--text);margin:1.15rem 0 .25rem;font-weight:750}.footer-brand>span{max-width:390px;color:var(--muted);font-size:.84rem;display:block}.footer-links{align-content:start;gap:.62rem;display:grid}.footer-links strong{color:var(--text);font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase;margin-bottom:.4rem;font-size:.78rem}.footer-links a{color:var(--muted);transition:color var(--motion-fast) var(--ease-standard);font-size:.9rem;text-decoration:none}.footer-links a:hover{color:var(--text)}.footer-bottom{border-top:1px solid var(--border);color:var(--faint);font-family:var(--mono);justify-content:space-between;gap:1rem;padding:1.1rem 0 1.8rem;font-size:.76rem;display:flex}@media (width<=900px){body{font-size:15.5px}.header-inner{grid-template-columns:1fr auto}.desktop-nav{display:none}.mobile-nav{display:block}.feature-grid,.tools-grid,.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-inner{grid-template-columns:1.5fr 1fr 1fr}.footer-links:last-child{grid-column:2}.performance-core{grid-template-columns:1fr}.core-hub{max-width:13rem;margin-inline:auto}}@media (width<=640px){.container{width:min(calc(100% - 1.1rem), var(--content))}.site-header{padding-top:.45rem}.header-inner{border-radius:.82rem;min-height:3.25rem;padding-inline:.55rem .35rem}.brand-symbol{width:1.85rem;height:1.85rem}.brand-word{font-size:.74rem}.desktop-settings{display:none}.page-shell{padding-top:1.45rem;padding-bottom:4.5rem}.breadcrumbs{margin-bottom:1.35rem}.hero-copy{margin-bottom:1.15rem}.hero-copy h1,.tool-hero h1{letter-spacing:-.062em;font-size:clamp(2.2rem,8vw,3.2rem);line-height:.96}.hero-copy>p:not(.eyebrow){font-size:1rem;line-height:1.72}.home-hero h2{margin-top:.45rem;font-size:clamp(1.1rem,3vw,1.35rem);line-height:1.24}.trust-row{gap:.4rem;font-size:.72rem}.trust-row span{padding:.3rem .55rem .3rem .45rem}.content-section{padding-top:4.5rem}.feature-grid,.tools-grid,.stat-grid,.editorial-grid,.step-sequence{grid-template-columns:1fr}.feature{min-height:auto}.tool-card{min-height:11.7rem}.page-content>h2{margin-top:3.6rem}.page-content>p{font-size:.98rem;line-height:1.78}.feature p,.tool-card p,.step p{font-size:.9rem}.faq summary{grid-template-columns:2.1rem 1fr auto;padding-inline:.85rem;font-size:.92rem}.faq details p{padding:0 .85rem 1.1rem 3.45rem;font-size:.9rem}.footer-inner{grid-template-columns:1fr 1fr;gap:2rem 1rem;padding-top:3rem}.footer-brand{grid-column:1/-1}.footer-links:last-child{grid-column:auto}.footer-bottom{flex-direction:column;align-items:flex-start}.performance-core{border-radius:var(--radius-lg);padding:1.25rem}.core-nodes{grid-template-columns:1fr}}@media (width>=1200px){body{font-size:calc(var(--text-base) + .01rem)}}@media (hover:none),(pointer:coarse){.feature,.tool-card,.editorial-card{transform:none!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.feature,.tool-card,.editorial-card{transform:none!important}.core-ring.ring-3{animation:none}}:root[data-motion=off] *,:root[data-motion=off] :before,:root[data-motion=off] :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}:root[data-motion=off] .feature,:root[data-motion=off] .tool-card,:root[data-motion=off] .editorial-card{transform:none!important}.typing-lab{border:1px solid var(--border-strong);border-radius:var(--radius-xl);background:linear-gradient(165deg, var(--surface-1), color-mix(in srgb, var(--surface-1) 90%, var(--bg)) 120%);box-shadow:var(--shadow-3), var(--highlight-edge-strong);position:relative;overflow:hidden}.typing-lab:before{content:"";z-index:2;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 55%, transparent), transparent);height:1px;position:absolute;top:0;left:12%;right:12%}.typing-lab:after{content:"";z-index:0;pointer-events:none;border-radius:inherit;position:absolute;inset:0;box-shadow:inset 0 1px #ffffff0a,inset 0 0 60px #0000001f}.lab-topbar{z-index:1;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg-elevated) 82%, transparent);justify-content:space-between;align-items:center;gap:1rem;min-height:3.35rem;padding:.72rem 1.05rem;display:flex;position:relative}.state-indicator,.lab-context{color:var(--muted);font-family:var(--mono);letter-spacing:.075em;text-transform:uppercase;align-items:center;gap:.5rem;font-size:.8rem;font-weight:760;display:flex}.state-dot{background:var(--faint);width:.44rem;height:.44rem;box-shadow:0 0 0 .22rem color-mix(in srgb, var(--faint) 12%, transparent);border-radius:50%}.state-dot.ready{background:var(--accent-2);box-shadow:0 0 0 .22rem color-mix(in srgb, var(--accent-2) 11%, transparent)}.state-dot.running{background:var(--accent);box-shadow:0 0 0 .22rem color-mix(in srgb, var(--accent) 12%, transparent), 0 0 1.2rem color-mix(in srgb, var(--accent) 30%, transparent);animation:status-pulse 1.5s var(--ease-standard) infinite}.state-dot.finished{background:var(--success)}.state-dot.invalid{background:var(--danger)}.lab-context i{background:var(--faint);border-radius:50%;width:.18rem;height:.18rem}@keyframes status-pulse{50%{box-shadow:0 0 0 .36rem color-mix(in srgb, var(--accent) 5%, transparent), 0 0 1.6rem color-mix(in srgb, var(--accent) 38%, transparent)}}.mode-toolbar{z-index:1;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg-elevated) 40%, transparent);scrollbar-width:none;align-items:center;gap:clamp(.8rem,2vw,1.5rem);min-height:4.45rem;padding:.7rem 1.05rem;display:flex;position:relative;overflow-x:auto}.mode-toolbar::-webkit-scrollbar{display:none}.mode-set{flex:none;align-items:center;gap:.3rem;display:flex}.mode-set+.mode-set{border-left:1px solid var(--border);padding-left:1.2rem}.mode-set legend{float:left;color:var(--faint);font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;margin-right:.42rem;font-size:.63rem;font-weight:800}.control-pill{border:1px solid var(--border-hairline);background:var(--surface-2);min-width:2.55rem;min-height:2.2rem;color:var(--muted);font-family:var(--mono);box-shadow:var(--highlight-edge);transition:color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), transform var(--motion-instant) var(--ease-standard);border-radius:.55rem;padding:.42rem .68rem;font-size:.83rem;font-weight:780}.control-pill:hover{background:var(--surface-3);color:var(--text)}.control-pill:active:not(:disabled){box-shadow:var(--shadow-inset-soft);transform:translateY(1px)}.control-pill.active{border-color:color-mix(in srgb, var(--accent) 34%, var(--border));background:color-mix(in srgb, var(--accent) 12%, var(--surface-2));color:var(--accent);box-shadow:var(--shadow-inset-soft), 0 0 0 1px color-mix(in srgb, var(--accent) 16%, transparent)}.toggle-pill{min-width:auto}.toggle-pill:before{content:"";border:1px solid var(--faint);border-radius:.12rem;width:.42rem;height:.42rem;margin-right:.4rem;display:inline-block}.toggle-pill.active:before{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 1px var(--surface-1), 0 0 6px color-mix(in srgb, var(--accent) 60%, transparent)}.lab-body{z-index:1;padding:clamp(.95rem,3.5vw,2.15rem);position:relative}.panel-label{color:var(--accent);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;font-weight:850;display:block}.invalid-message{border:1px solid color-mix(in srgb, var(--danger) 45%, var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--danger) 8%, transparent);color:var(--danger);justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1rem;padding:.85rem 1rem;font-size:.86rem;display:flex}.challenge-invite{border:1px solid color-mix(in srgb, var(--accent-2) 30%, var(--border));border-radius:var(--radius);background:linear-gradient(105deg, color-mix(in srgb, var(--accent-2) 7%, var(--bg-elevated)), var(--bg-elevated));box-shadow:var(--highlight-edge);grid-template-columns:1fr auto;align-items:center;gap:1.5rem;margin-bottom:1.2rem;padding:1.15rem;display:grid}.challenge-invite>div>strong{margin-top:.38rem;font-size:1.05rem;display:block}.challenge-invite p{color:var(--muted);margin:.25rem 0 0;font-size:.8rem}.invite-score{border-left:1px solid var(--border);text-align:right;min-width:7rem;padding-left:1.2rem}.invite-score strong{color:var(--accent-2);font-family:var(--mono);font-size:1.8rem;line-height:1;display:block}.invite-score span,.invite-score small{color:var(--muted);font-size:.66rem;display:block}.daily-strip{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(120deg, color-mix(in srgb, var(--accent) 6%, var(--bg-elevated)), var(--bg-elevated));box-shadow:var(--highlight-edge);grid-template-columns:1.4fr repeat(3,1fr);align-items:center;margin:0 0 1.2rem;display:grid;overflow:hidden}.daily-strip>div{border-left:1px solid var(--border);min-height:5rem;padding:1rem}.daily-strip>div:first-child{border-left:0}.daily-strip strong{font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;font-size:1rem;display:block;overflow:hidden}.daily-strip>div:not(:first-child) strong{color:var(--accent);font-size:1.35rem}.daily-strip span:not(.panel-label){color:var(--muted);font-size:.67rem}.practice-recommendation{border:1px solid var(--border);background:var(--bg-elevated);box-shadow:var(--highlight-edge);border-radius:.65rem;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.65rem;padding:.7rem .85rem;display:flex}.practice-recommendation p{color:var(--muted);margin:0;font-size:.72rem}.practice-recommendation p strong{color:var(--accent);font-family:var(--mono)}.practice-modules{scrollbar-width:thin;grid-template-columns:repeat(7,minmax(7.2rem,1fr));gap:.45rem;margin:0 0 1.25rem;padding-bottom:.2rem;display:grid;overflow-x:auto}.practice-module{border:1px solid var(--border);background:var(--bg-elevated);min-height:7.3rem;color:var(--muted);text-align:left;box-shadow:var(--highlight-edge);transition:border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);border-radius:.75rem;padding:.75rem}.practice-module:hover{border-color:var(--border-strong);box-shadow:var(--shadow-1), var(--highlight-edge);transform:translateY(-2px)}.practice-module:active{box-shadow:var(--shadow-inset-soft);transform:translateY(0)}.practice-module.active{border-color:color-mix(in srgb, var(--accent) 42%, var(--border));background:color-mix(in srgb, var(--accent) 7%, var(--surface-1));box-shadow:var(--shadow-inset-soft)}.practice-module>span{border:1px solid var(--border);width:2rem;height:2rem;color:var(--accent);font-family:var(--mono);border-radius:.48rem;place-items:center;font-size:.65rem;font-weight:850;display:grid}.practice-module strong{color:var(--text);margin-top:.72rem;font-size:.76rem;display:block}.practice-module small{color:var(--faint);margin-top:.16rem;font-size:.65rem;line-height:1.35;display:block}.code-tabs,.assessment-modes{scrollbar-width:none;gap:.2rem;margin:0 0 .65rem;display:flex;overflow-x:auto}.code-tabs{border:1px solid var(--border);background:var(--bg-elevated);box-shadow:var(--highlight-edge);border-radius:.7rem .7rem 0 0;padding:.32rem}.code-tabs button{min-height:2.15rem;color:var(--faint);font-family:var(--mono);transition:background var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard);background:0 0;border:0;border-radius:.42rem;flex:1 0 4.7rem;padding:.4rem .6rem;font-size:.8rem;font-weight:800}.code-tabs button:hover{background:var(--surface-2);color:var(--text)}.code-tabs button.active{background:var(--surface-2);color:var(--accent);box-shadow:inset 0 -2px var(--accent)}.assessment-modes{grid-template-columns:repeat(4,1fr);gap:.45rem;margin-bottom:1.2rem;display:grid}.assessment-modes button{border:1px solid var(--border);background:var(--bg-elevated);min-height:3.2rem;color:var(--muted);text-align:left;box-shadow:var(--highlight-edge);transition:border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard);border-radius:.65rem;align-items:center;gap:.6rem;padding:.6rem .75rem;font-size:.82rem;font-weight:750;display:flex}.assessment-modes button span{color:var(--faint);font-family:var(--mono);font-size:.62rem}.assessment-modes button.active{border-color:color-mix(in srgb, var(--accent-2) 35%, var(--border));background:color-mix(in srgb, var(--accent-2) 6%, var(--surface-1));color:var(--text)}.live-stats{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-inset);min-height:5.4rem;box-shadow:var(--shadow-inset);grid-template-columns:1.7fr 1fr 1fr .9fr;margin-bottom:.7rem;display:grid}.live-stat{border-left:1px solid var(--border);flex-direction:column;justify-content:center;min-width:0;padding:.85rem 1.05rem;display:flex;position:relative}.live-stat:first-child{background:radial-gradient(ellipse at 0% 0%, color-mix(in srgb, var(--accent) 7%, transparent), transparent 70%);border-left:0}.live-stat strong{font-family:var(--mono);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;transition:color var(--motion-fast) var(--ease-standard);font-size:clamp(1.45rem,4vw,1.8rem);font-weight:760;line-height:1.08;display:block;overflow:hidden}.live-stat:first-child strong{color:var(--metric-wpm);text-shadow:0 0 22px color-mix(in srgb, var(--accent) 24%, transparent);font-size:clamp(1.9rem,5vw,2.5rem)}.live-stat:last-child strong{color:var(--faint);font-size:clamp(1.15rem,3vw,1.3rem)}.live-stat span{color:var(--faint);font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;font-size:.72rem;font-weight:800}.combo{color:var(--metric-combo);animation:combo .32s var(--ease-spring)}@keyframes combo{0%{opacity:.25;transform:translateY(4px)}}.progress-track{background:var(--surface-3);height:3px;box-shadow:var(--shadow-inset-soft);border-radius:1rem;margin:0 0 1rem;position:relative;overflow:hidden}.progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent-2));height:100%;box-shadow:0 0 10px color-mix(in srgb, var(--accent) 55%, transparent);transition:width .1s linear}.code-chrome{border:1px solid var(--border);color:#91a0b4;min-height:2.6rem;font-family:var(--mono);box-shadow:var(--highlight-edge);background:#090d13;border-radius:.7rem .7rem 0 0;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:-1px;padding:.55rem .85rem;font-size:.63rem;display:flex}:root[data-theme=light] .code-chrome{color:#9ba7b7;background:#18212b}.code-dots{gap:.28rem;display:flex}.code-dots i{background:#ff667a;border-radius:50%;width:.43rem;height:.43rem;box-shadow:0 0 4px #ff667a80}.code-dots i:nth-child(2){background:#ffc857;box-shadow:0 0 4px #ffc85780}.code-dots i:nth-child(3){background:#69f0ae;box-shadow:0 0 4px #69f0ae80}.typing-stage{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-inset);min-height:20rem;box-shadow:var(--shadow-inset);cursor:text;isolation:isolate;transition:border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-normal) var(--ease-standard), transform var(--motion-normal) var(--ease-standard);opacity:0;animation:fade-up .65s var(--ease-standard) .18s forwards;padding:clamp(1.4rem,4vw,2.6rem);position:relative;overflow:hidden;transform:translateY(.75rem)}.typing-lab-code .typing-stage{border-radius:0 0 var(--radius) var(--radius);background:#090d13;min-height:23rem;padding-left:4.4rem}:root[data-theme=light] .typing-lab-code .typing-stage{background:#18212b}.typing-stage:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle at 60% 0, color-mix(in srgb, var(--accent) 4%, transparent), transparent 24rem);position:absolute;inset:0}.typing-stage:focus-within{border-color:color-mix(in srgb, var(--accent) 48%, var(--border));box-shadow:var(--shadow-inset), var(--glow-accent);transform:translateY(-1px)}.typing-text{max-height:15rem;color:var(--faint);font-family:var(--mono);font-size:var(--typing-font,clamp(1.45rem, 1.08rem + .4vw, 1.7rem));font-variant-ligatures:none;white-space:pre-wrap;word-break:break-word;line-height:1.95;transition:color .18s,background .18s;overflow:hidden}.code-text{color:#8492a6;max-height:18.2rem;font-size:var(--typing-font,clamp(1.1rem, 1rem + .25vw, 1.25rem));line-height:1.82}.char.correct{color:var(--text);transition:color .18s,background .18s}.typing-lab-code .char.correct{color:#e6edf3}.char.incorrect{background:color-mix(in srgb, var(--danger) 18%, transparent);color:var(--danger);text-decoration:underline;text-decoration-color:var(--danger);text-underline-offset:3px;border-radius:.12rem;text-decoration-thickness:2px;transition:color .18s,background .18s}.char.current{color:var(--text);background:color-mix(in srgb, var(--accent) 11%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 16%, transparent);border-radius:.18rem;position:relative}.char.current:before{content:"";background:var(--accent);width:2px;box-shadow:0 0 10px color-mix(in srgb, var(--accent) 55%, transparent);border-radius:2px;animation:1s step-end infinite caret;position:absolute;top:.08em;bottom:.08em;left:-.08em}.syntax-keyword{color:#a3ff5f}.syntax-string{color:#ffcf73}.syntax-number{color:#ffc857}.syntax-comment{color:#97a4b5;font-style:italic}.syntax-operator{color:#5ee7ff}.syntax-bracket{color:#c7a9ff}@keyframes caret{50%{opacity:.12}}.code-gutter{color:#8390a3;width:3.35rem;font-family:var(--mono);text-align:right;border-right:1px solid #ffffff0f;align-content:start;font-size:.72rem;line-height:2.38;display:grid;position:absolute;top:clamp(1.4rem,4vw,2.6rem);bottom:2rem;left:0;overflow:hidden}.code-gutter span{padding-right:.72rem}.typing-capture{z-index:2;resize:none;color:#0000;caret-color:#0000;opacity:.01;background:0 0;border:0;outline:0;width:100%;height:100%;position:absolute;inset:0}.sr-target-text{clip-path:inset(50%);white-space:pre-wrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sr-target-text:focus{z-index:5;clip-path:none;border:1px solid var(--accent-2);background:var(--surface-1);width:100%;height:9rem;color:var(--text);font-family:var(--mono);border-radius:.6rem;margin:0 0 1rem;padding:.85rem;font-size:.82rem;position:relative;overflow:auto}.typing-prompt{z-index:3;pointer-events:none;color:var(--faint);font-family:var(--mono);align-items:center;gap:.4rem;font-size:.78rem;display:inline-flex;position:absolute;bottom:.75rem;right:1rem}.typing-prompt i{background:var(--accent);width:.38rem;height:.38rem;box-shadow:0 0 5px color-mix(in srgb, var(--accent) 60%, transparent);border-radius:50%}.lab-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;min-height:3.3rem;margin-top:.85rem;display:flex}.lab-action-group,.toggle-row{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.restart-button,.settings-button,.new-paragraph-button{min-height:2.5rem;color:var(--muted);box-shadow:none;background:0 0;border-color:#0000;padding:.52rem .8rem;font-size:.82rem}.restart-button:hover,.settings-button:hover,.new-paragraph-button:hover{background:var(--surface-2);color:var(--text);box-shadow:var(--highlight-edge)}.new-paragraph-button{border:1px solid var(--border);color:var(--accent)}.new-paragraph-button:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--surface-2))}.new-paragraph-button:active{transform:translateY(1px)}.select-control{border:1px solid var(--border);background:var(--surface-2);min-height:2.45rem;color:var(--text);box-shadow:var(--highlight-edge);border-radius:.55rem;padding:.45rem 2.1rem .45rem .8rem;font-size:.8rem}.shortcut-hint{color:var(--faint);font-family:var(--mono);font-size:.68rem}.shortcut-hint>span{margin:0 .2rem}kbd,.shortcut-hint kbd,.mini-numpad kbd{border:1px solid var(--border-strong);border-radius:var(--radius-key);background:linear-gradient(180deg, var(--surface-3), var(--surface-2));min-width:1.5rem;color:var(--muted);font-family:var(--mono);box-shadow:0 1.5px 0 color-mix(in srgb, black 35%, var(--surface-3)), 0 3px 5px #00000038, inset 0 1px 0 #ffffff1a;transition:transform var(--motion-instant) var(--ease-standard), box-shadow var(--motion-instant) var(--ease-standard);place-items:center;padding:.18rem .4rem;font-size:.6rem;font-weight:700;display:inline-grid}:root[data-theme=light] kbd,:root[data-theme=light] .shortcut-hint kbd,:root[data-theme=light] .mini-numpad kbd{box-shadow:0 1.5px 0 color-mix(in srgb, black 12%, var(--surface-3)), 0 2px 4px #2a3c4d24, inset 0 1px 0 #fff9}.settings-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-floating);box-shadow:var(--shadow-2), inset 3px 0 var(--accent);animation:panel-in .22s var(--ease-standard);margin-top:.8rem;padding:1.2rem;position:relative}.settings-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;display:grid}.settings-group h3{color:var(--text);margin:0 0 .8rem;font-size:.82rem}.settings-group label{min-height:2rem;color:var(--muted);justify-content:space-between;align-items:center;gap:.8rem;margin:.35rem 0;font-size:.76rem;display:flex}.settings-group input{accent-color:var(--accent)}.settings-group select{border:1px solid var(--border);background:var(--surface-2);max-width:8rem;color:var(--text);border-radius:.38rem}.settings-group p{margin-bottom:0}.numpad-reference{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--highlight-edge);grid-template-columns:1fr auto;align-items:center;gap:2rem;margin-top:1rem;padding:1.15rem;display:grid}.numpad-copy strong{margin-top:.35rem;display:block}.numpad-copy p{max-width:590px;color:var(--muted);margin:.3rem 0 0;font-size:.78rem}.mini-numpad{perspective:400px;grid-template-columns:repeat(3,1fr);gap:.3rem;width:9.5rem;display:grid}.mini-numpad kbd{min-height:1.9rem;font-size:.72rem}.mini-numpad kbd.home{border-color:color-mix(in srgb, var(--accent) 42%, var(--border));color:var(--accent);background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 20%, var(--surface-3)), var(--surface-2));box-shadow:0 1.5px 0 color-mix(in srgb, var(--accent) 55%, black 20%), 0 0 10px color-mix(in srgb, var(--accent) 30%, transparent), inset 0 1px 0 #ffffff24}.result-panel{border-top:1px solid var(--border-strong);background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 3.5%, var(--surface-1)), var(--surface-1) 14rem);animation:panel-in .32s var(--ease-standard);padding:clamp(1rem,4vw,2.4rem);position:relative}.result-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2.3rem;display:flex}.result-brand{color:var(--faint);font-family:var(--mono);letter-spacing:.1em;align-items:center;gap:.55rem;font-size:.61rem;font-weight:800;display:flex}.result-brand svg{width:1.8rem;height:1.8rem}.result-kicker{border:1px solid color-mix(in srgb, var(--success) 34%, var(--border));border-radius:var(--radius-pill);background:color-mix(in srgb, var(--success) 7%, transparent);color:var(--success);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;box-shadow:var(--highlight-edge);margin:0;padding:.35rem .55rem;font-size:.61rem;font-weight:850;display:inline-flex}.result-kicker.pb{border-color:color-mix(in srgb, var(--accent) 40%, var(--border));background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--accent);animation:pb-in .6s var(--ease-spring)}@keyframes pb-in{0%{opacity:.2;transform:scale(.84)}50%{box-shadow:0 0 30px color-mix(in srgb, var(--accent) 22%, transparent)}}.result-scoreboard{border-bottom:1px solid var(--border);grid-template-columns:1.1fr 1fr;align-items:end;gap:clamp(1.5rem,5vw,4rem);padding-bottom:2rem;display:grid}.wpm-display{grid-template-columns:auto 1fr;align-items:baseline;display:grid}.wpm-display>span{color:var(--faint);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;grid-column:1/-1;font-size:.66rem;font-weight:800}.wpm-display>strong{color:var(--accent);font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.09em;text-shadow:0 0 60px color-mix(in srgb, var(--accent) 20%, transparent);font-size:clamp(5rem,15vw,9.2rem);font-weight:820;line-height:.86}.wpm-display>i{color:var(--muted);font-family:var(--mono);letter-spacing:.1em;margin-left:.8rem;font-size:.85rem;font-style:normal;font-weight:800}.wpm-display p{color:var(--text);grid-column:1/-1;margin:1rem 0 0;font-size:.95rem;font-weight:760}.score-pair{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.score-pair>div{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);min-height:9.2rem;box-shadow:var(--shadow-1), var(--highlight-edge);padding:1rem}.score-pair span{color:var(--faint);font-family:var(--mono);text-transform:uppercase;font-size:.62rem}.score-pair strong{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.06em;margin-top:.6rem;font-size:clamp(2rem,5vw,3.4rem);line-height:1;display:block}.score-pair strong i{color:var(--muted);letter-spacing:0;font-size:.75rem;font-style:normal}.score-pair small{color:var(--muted);margin-top:.7rem;font-size:.66rem;line-height:1.35;display:block}.result-context{color:var(--muted);font-family:var(--mono);flex-wrap:wrap;gap:.45rem 1.15rem;margin-top:.9rem;font-size:.64rem;display:flex}.result-context span:before{content:"/";color:var(--faint);margin-right:.55rem}.result-context span:first-child:before{content:"";margin:0}.result-actions{flex-wrap:wrap;gap:.5rem;display:flex}.primary-actions{margin-top:1.2rem}.secondary-actions{border-top:1px solid var(--border);margin-top:1.2rem;padding-top:1.1rem}.metric-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem;margin:1.3rem 0 0;display:grid}.metric-card{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-elevated) 75%, transparent);min-height:5.2rem;box-shadow:var(--highlight-edge);border-radius:.7rem;flex-direction:column;justify-content:space-between;padding:.8rem;display:flex}.metric-card span{color:var(--faint);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;font-size:.64rem}.metric-card abbr{text-decoration-color:var(--faint);text-underline-offset:3px}.metric-card strong{color:var(--text);font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:1.12rem}.code-result-metrics{grid-template-columns:1fr 1fr 2fr;align-items:center;gap:.5rem;margin-top:.55rem;display:grid}.code-result-metrics>div,.code-result-metrics>p{border:1px solid var(--border);background:#090d13;border-radius:.65rem;margin:0;padding:.85rem}.code-result-metrics span{color:#697586;font-family:var(--mono);font-size:.6rem;display:block}.code-result-metrics strong{color:#5ee7ff;font-family:var(--mono)}.code-result-metrics p{color:#9ba7b7;font-size:.72rem}.challenge-result{border:1px solid color-mix(in srgb, var(--accent-2) 32%, var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--accent-2) 5%, var(--bg-elevated));grid-template-columns:1fr 1.25fr;align-items:center;gap:2rem;margin-top:1rem;padding:1.4rem;display:grid}.challenge-result.won{border-color:color-mix(in srgb, var(--accent) 38%, var(--border));background:color-mix(in srgb, var(--accent) 5%, var(--bg-elevated))}.challenge-result h3{margin:.4rem 0 .25rem}.challenge-result p{color:var(--muted);margin:0}.challenge-compare{grid-template-columns:1fr auto 1fr;align-items:center;gap:.6rem;display:grid}.challenge-compare>b{color:var(--faint);font-family:var(--mono);font-size:.68rem}.challenge-score{border:1px solid var(--border);background:var(--surface-1);text-align:center;box-shadow:var(--highlight-edge);border-radius:.65rem;padding:.8rem}.challenge-score span,.challenge-score small{color:var(--muted);font-size:.62rem;display:block}.challenge-score strong{color:var(--accent);font-family:var(--mono);font-size:1.7rem;line-height:1.1;display:block}.analytics-stack{gap:.85rem;margin-top:1.3rem;display:grid}.analytics-card,.dashboard-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);min-width:0;box-shadow:var(--shadow-1), var(--highlight-edge);padding:clamp(1rem,3vw,1.45rem)}.analytics-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.analytics-heading h2,.analytics-heading h3{letter-spacing:-.02em;margin:.28rem 0 0;font-size:1.05rem}.analytics-heading p{max-width:370px;color:var(--muted);text-align:right;margin:0;font-size:.72rem}.action-status{color:var(--success);font-family:var(--mono);margin:.8rem 0 0;font-size:.7rem}.graph-wrap{overflow:hidden}.graph-summary{color:var(--muted);align-items:center;gap:1rem;margin-bottom:.45rem;font-size:.64rem;display:flex}.graph-summary span{align-items:center;gap:.35rem;display:inline-flex}.graph-summary strong{color:var(--text);font-family:var(--mono);margin-left:auto}.legend-line{background:var(--accent);width:1rem;height:2px;display:inline-block}.legend-line.raw-line{background:var(--accent-2)}.performance-graph{width:100%;height:auto;min-height:190px;overflow:visible}.graph-grid{stroke:var(--border);stroke-width:1px}.graph-area{fill:url(#kv-graph-fill)}.graph-wpm{fill:none;stroke:var(--accent);stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px color-mix(in srgb, var(--accent) 45%, transparent))}.graph-raw{fill:none;stroke:var(--accent-2);stroke-width:1.5px;stroke-dasharray:4 5;opacity:.75}.graph-label{fill:var(--faint);font-family:var(--mono);font-size:8px}.graph-tooltip line{stroke:var(--border-strong);stroke-dasharray:2 3}.graph-tooltip circle{fill:var(--accent);stroke:var(--bg-elevated);stroke-width:2px}.graph-tooltip rect{fill:var(--surface-2);stroke:var(--border-strong)}.graph-tooltip text{fill:var(--text);font-family:var(--mono);font-size:8px}.heatmap-legend{color:var(--faint);flex-wrap:wrap;gap:.45rem .9rem;margin-bottom:.85rem;font-size:.6rem;display:flex}.heatmap-legend span{align-items:center;gap:.3rem;display:inline-flex}.heatmap-legend span:before{content:"";background:var(--surface-3);border-radius:.12rem;width:.42rem;height:.42rem}.heatmap-legend .strong:before{background:var(--success)}.heatmap-legend .slow:before{background:var(--warning)}.heatmap-legend .error:before{background:var(--danger)}.keyboard{perspective:900px;gap:.4rem;padding:.5rem 0;display:grid}.keyboard-row{justify-content:center;gap:.4rem;display:flex}.key{aspect-ratio:1;border:1px solid var(--border-strong);background:linear-gradient(175deg, var(--surface-3), var(--surface-2));width:min(3.25rem,7.4vw);min-width:1.65rem;color:var(--muted);font-family:var(--mono);box-shadow:0 2px 0 color-mix(in srgb, black 38%, var(--surface-3)), 0 5px 10px #00000038, inset 0 1px 0 #ffffff14;transition:transform var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard);border-radius:.5rem;place-items:center;padding:.24rem;display:grid}.key:hover{transform:translateY(-1px)}.key span{font-size:.73rem;font-weight:820;line-height:1}.key small{color:var(--faint);font-size:.45rem;line-height:1}.key.strong{border-color:color-mix(in srgb, var(--success) 46%, var(--border-strong));color:var(--success);box-shadow:0 2px 0 color-mix(in srgb, var(--success) 40%, black 30%), 0 0 10px color-mix(in srgb, var(--success) 22%, transparent), inset 0 1px 0 #ffffff1a}.key.slow{border-color:color-mix(in srgb, var(--warning) 55%, var(--border-strong));background:linear-gradient(175deg, color-mix(in srgb, var(--warning) 12%, var(--surface-3)), var(--surface-2));color:var(--warning)}.key.error{border-color:color-mix(in srgb, var(--danger) 60%, var(--border-strong));background:linear-gradient(175deg, color-mix(in srgb, var(--danger) 14%, var(--surface-3)), var(--surface-2));color:var(--danger);box-shadow:0 2px 0 color-mix(in srgb, var(--danger) 45%, black 25%), 0 0 10px color-mix(in srgb, var(--danger) 20%, transparent), inset 0 1px 0 #ffffff14}.key.sampled{border-color:color-mix(in srgb, var(--accent-2) 28%, var(--border-strong))}:root[data-theme=light] .key{box-shadow:0 2px 0 color-mix(in srgb, black 16%, var(--surface-3)), 0 4px 8px #2a3c4d29, inset 0 1px 0 #ffffff8c}.attention-panel{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;display:flex}.attention-panel p{flex-wrap:wrap;gap:.4rem;margin:.4rem 0 0;display:flex}.attention-panel p strong{border:1px solid color-mix(in srgb, var(--danger) 36%, var(--border));color:var(--danger);font-family:var(--mono);border-radius:.35rem;padding:.35rem .48rem;font-size:.68rem}.attention-panel p strong small{color:var(--muted);font-size:.54rem}.attention-panel .attention-empty{color:var(--muted);font-size:.72rem}.dna-empty{border:1px dashed var(--border-strong);text-align:center;border-radius:.75rem;padding:1.2rem}.dna-empty>span{border:1px solid var(--border);width:3rem;height:3rem;color:var(--accent);font-family:var(--mono);border-radius:50%;place-items:center;margin:0 auto .8rem;font-size:.7rem;display:grid}.dna-empty strong{display:block}.dna-empty p{max-width:470px;color:var(--muted);margin:.35rem auto 0;font-size:.78rem}.dna-intro{grid-template-columns:1fr minmax(9rem,13rem);align-items:center;gap:2rem;display:grid}.dna-intro>div>strong{letter-spacing:-.035em;margin-top:.42rem;font-size:clamp(1.3rem,3vw,2rem);display:block}.dna-intro>div>p{max-width:500px;color:var(--muted);margin:.35rem 0 0}.dna-radar svg{width:100%;overflow:visible}.dna-grid{fill:none;stroke:var(--border-strong);stroke-width:1px}.dna-grid.inner,.dna-axis{stroke:var(--border)}.dna-shape{fill:color-mix(in srgb, var(--accent) 16%, transparent);stroke:var(--accent);stroke-width:2px;filter:drop-shadow(0 0 6px color-mix(in srgb, var(--accent) 40%, transparent))}.dna-radar circle{fill:var(--accent-2);stroke:var(--bg-elevated);stroke-width:1.5px}.dna-bars{grid-template-columns:1fr 1fr;gap:.65rem 1.2rem;margin-top:1rem;display:grid}.dna-row{color:var(--muted);font-family:var(--mono);text-transform:capitalize;grid-template-columns:5rem 1fr 2rem;align-items:center;gap:.55rem;font-size:.61rem;display:grid}.dna-row strong{color:var(--text);text-align:right}.dna-row.collecting{grid-template-columns:5rem 1fr auto}.dna-row.collecting strong{color:var(--muted);white-space:nowrap;font-size:.58rem}.dna-row.collecting small{color:var(--faint);text-transform:none;grid-column:2/-1;font-size:.56rem}.dna-track{background:var(--surface-3);height:.3rem;box-shadow:var(--shadow-inset-soft);border-radius:1rem;overflow:hidden}.dna-track i{border-radius:inherit;background:linear-gradient(90deg, var(--accent-2), var(--accent));height:100%;box-shadow:0 0 6px color-mix(in srgb, var(--accent) 45%, transparent);display:block}.dna-actions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;margin-top:1.15rem;padding-top:1rem;display:flex}.dna-actions small{color:var(--faint);text-align:right;font-size:.61rem}.custom-active{gap:.8rem;display:grid}.custom-active>.btn{width:max-content}.custom-setup,.calculator{border:1px solid var(--border-strong);border-radius:var(--radius-xl);background:var(--surface-1);box-shadow:var(--shadow-3), var(--highlight-edge-strong);overflow:hidden}.custom-setup{padding:clamp(1.2rem,4vw,2.2rem)}.setup-heading{max-width:650px;margin-bottom:1.4rem}.setup-heading h2{letter-spacing:-.04em;margin:.4rem 0 .35rem;font-size:clamp(1.45rem,3vw,2.2rem)}.setup-heading p{color:var(--muted);margin:0}.field{gap:.4rem;margin-bottom:1rem;display:grid}.field label{color:var(--text);justify-content:space-between;align-items:baseline;gap:1rem;font-size:.79rem;font-weight:750;display:flex}.field label span{color:var(--faint);font-family:var(--mono);font-size:.58rem;font-weight:500}.field small{color:var(--faint);font-family:var(--mono);font-size:.62rem}.field input,.field textarea,.field select{border:1px solid var(--border);background:var(--surface-inset);width:100%;color:var(--text);box-shadow:var(--shadow-inset-soft);transition:border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);border-radius:.65rem;padding:.8rem}.field input:focus,.field textarea:focus,.field select:focus{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));box-shadow:var(--shadow-inset-soft), var(--glow-accent);outline:none}.field textarea{resize:vertical;min-height:12rem;font-family:var(--mono);font-size:.86rem;line-height:1.65}.setup-footer{justify-content:space-between;align-items:center;gap:1rem;display:flex}.setup-footer p{color:var(--muted);margin:0;font-size:.75rem}.setup-footer p span{color:var(--success)}.custom-save-option{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);box-shadow:var(--highlight-edge);border-radius:.65rem;align-items:flex-start;gap:.75rem;margin:0 0 1.2rem;padding:.85rem;display:flex}.custom-save-option input{accent-color:var(--accent);margin-top:.2rem}.custom-save-option span{gap:.15rem;display:grid}.custom-save-option strong{font-size:.8rem}.custom-save-option small{color:var(--muted);font-size:.7rem}.adaptive-comparison{border:1px solid color-mix(in srgb, var(--accent-2) 28%, var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--accent-2) 5%, var(--bg-elevated));margin:1rem 0;padding:1rem}.adaptive-comparison>strong{font-family:var(--mono);margin-top:.4rem;font-size:1rem;display:block}.adaptive-comparison p{color:var(--muted);margin:.3rem 0 0;font-size:.76rem}.endurance-result{grid-template-columns:repeat(4,1fr)}.calculator{grid-template-columns:1.15fr .85fr;display:grid}.calculator-inputs,.calculator-output{padding:clamp(1.3rem,4vw,2.3rem)}.calculator-output{border-left:1px solid var(--border);background:var(--bg-elevated)}.calculator-grid{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.calculator-grid .field:first-child{grid-column:1/-1}.calculator-result{grid-template-columns:1fr 1fr;gap:.65rem;margin-top:.8rem;display:grid}.big-output{border:1px solid var(--border);background:var(--bg-elevated);min-width:0;box-shadow:var(--highlight-edge);border-radius:.72rem;padding:1rem}.big-output span{color:var(--faint);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;font-size:.58rem;font-weight:800;display:block}.big-output strong{color:var(--text);font-family:var(--mono);font-variant-numeric:tabular-nums;text-overflow:ellipsis;margin-top:.35rem;font-size:1.7rem;line-height:1;display:block;overflow:hidden}.primary-output strong{color:var(--accent)}.formula-flow{color:var(--muted);font-family:var(--mono);flex-wrap:wrap;align-items:center;gap:.38rem;margin-top:1rem;font-size:.61rem;display:flex}.formula-flow span,.formula-flow strong{border:1px solid var(--border);border-radius:.35rem;padding:.3rem .4rem}.formula-flow i{color:var(--faint);font-style:normal}.formula-flow strong{border-color:color-mix(in srgb, var(--accent) 30%, var(--border));color:var(--accent)}.calculator-output>p{color:var(--muted);margin:1rem 0 0;font-size:.7rem}.empty-dashboard{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface-1);text-align:center;min-height:30rem;box-shadow:var(--shadow-3), var(--highlight-edge-strong);place-content:center;padding:2rem;display:grid;position:relative;overflow:hidden}.empty-dashboard h2{letter-spacing:-.055em;margin:.3rem 0 .6rem;font-size:clamp(2rem,5vw,3.5rem)}.empty-dashboard>p:not(.eyebrow){max-width:540px;color:var(--muted);margin:0 auto 1.2rem}.empty-dashboard .button{width:max-content;margin:auto}.empty-orbit{border:1px solid var(--border);opacity:.6;border-radius:50%;width:32rem;height:32rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.empty-orbit i{border:1px solid var(--border);border-radius:50%;position:absolute;inset:4rem}.empty-orbit i:nth-child(2){border-color:color-mix(in srgb, var(--accent) 25%, var(--border));animation:60s linear infinite core-spin;inset:9rem}.empty-orbit i:nth-child(3){border-color:color-mix(in srgb, var(--accent) 55%, transparent);background:color-mix(in srgb, var(--accent) 55%, transparent);filter:blur(2px);box-shadow:0 0 30px color-mix(in srgb, var(--accent) 28%, transparent);inset:14rem}.empty-dashboard>:not(.empty-orbit){z-index:1;position:relative}.empty-dashboard>p:not(.eyebrow){text-shadow:0 1px 12px var(--surface-1), 0 0 8px var(--surface-1)}.progress-dashboard{gap:.85rem;display:grid}.dashboard-overview{grid-template-columns:.75fr 1.25fr;gap:.85rem;display:grid}.dashboard-score{border:1px solid var(--border-strong);border-radius:var(--radius);background:linear-gradient(150deg, color-mix(in srgb, var(--accent) 8%, var(--surface-1)), var(--surface-1) 130%);box-shadow:var(--shadow-2), var(--highlight-edge-strong);padding:clamp(1.2rem,4vw,2rem)}.dashboard-score>strong{color:var(--accent);font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.09em;text-shadow:0 0 50px color-mix(in srgb, var(--accent) 22%, transparent);margin-top:1rem;font-size:clamp(4.5rem,10vw,7rem);line-height:.8;display:inline-block}.dashboard-score>i{color:var(--muted);font-family:var(--mono);margin-left:.7rem;font-size:.7rem;font-style:normal}.dashboard-score p{color:var(--muted);margin:1.5rem 0 0;font-size:.76rem}.compact-stats{grid-template-columns:repeat(3,1fr);gap:.5rem}.compact-stats .big-output{background:var(--surface-1)}.trend-panel{overflow:hidden}.progress-trend{width:100%;height:auto;min-height:180px;overflow:visible}.progress-trend line{stroke:var(--border)}.progress-trend path{fill:none;stroke:var(--accent);stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px color-mix(in srgb, var(--accent) 40%, transparent))}.progress-trend circle{fill:var(--accent-2);stroke:var(--bg-elevated);stroke-width:2px}.dashboard-grid{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.achievement-grid{grid-template-columns:repeat(3,1fr);gap:.55rem;display:grid}.achievement{border:1px solid var(--border);background:var(--surface-1);min-height:7.6rem;box-shadow:var(--highlight-edge);border-radius:.72rem;grid-template-columns:3.2rem 1fr;align-items:start;gap:.75rem;padding:.8rem;display:grid}.achievement.locked{opacity:.7;filter:saturate(.35)}.achievement.unlocked{border-color:color-mix(in srgb, var(--accent) 30%, var(--border));background:color-mix(in srgb, var(--accent) 4%, var(--surface-1));box-shadow:var(--shadow-1), var(--highlight-edge);animation:badge-in .5s var(--ease-spring)}@keyframes badge-in{0%{opacity:.2;transform:translateY(5px)}}.badge-mark{background:var(--bg-elevated);width:3rem;height:3rem;box-shadow:var(--highlight-edge);border-radius:.65rem;place-items:center;display:grid}.badge-mark svg{width:2rem;fill:color-mix(in srgb, var(--accent) 10%, transparent);stroke:var(--faint);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.achievement.unlocked .badge-mark svg{stroke:var(--accent);filter:drop-shadow(0 0 4px color-mix(in srgb, var(--accent) 45%, transparent))}.achievement strong{font-size:.76rem;display:block}.achievement p{color:var(--muted);margin:.18rem 0 0;font-size:.65rem;line-height:1.35}.achievement small{color:var(--accent);font-family:var(--mono);margin-top:.4rem;font-size:.52rem;display:block}.history-actions{gap:.4rem;display:flex}.table-scroll{overflow-x:auto}.history-table{border-collapse:collapse;width:100%;min-width:620px}.history-table th,.history-table td{border-bottom:1px solid var(--border);text-align:left;padding:.78rem .65rem}.history-table th{color:var(--faint);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:.58rem}.history-table td{color:var(--muted);font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.7rem}.history-table td strong{color:var(--accent)}.certificate{border:1px solid color-mix(in srgb, var(--accent) 45%, var(--border));outline:1px solid var(--border);outline-offset:-12px;background:linear-gradient(145deg, color-mix(in srgb, var(--accent) 5%, var(--bg-elevated)), var(--bg-elevated));text-align:center;box-shadow:var(--shadow-3);margin-top:1.2rem;padding:clamp(2rem,7vw,4.5rem);position:relative;overflow:hidden}.certificate:before,.certificate:after{content:"";border:1px solid color-mix(in srgb, var(--accent) 26%, transparent);width:10rem;height:10rem;position:absolute;transform:rotate(45deg)}.certificate:before{top:-6rem;left:-6rem}.certificate:after{bottom:-6rem;right:-6rem}.certificate>p:first-child{color:var(--accent);font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;font-weight:850}.certificate h2{letter-spacing:-.045em;margin:.65rem 0;font-size:clamp(1.7rem,5vw,3.2rem)}.certificate .field{text-align:left;max-width:420px;margin:1.2rem auto}.certificate-wpm{color:var(--accent);font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.08em;font-size:clamp(3rem,9vw,6rem);font-weight:900}.certificate small{max-width:650px;color:var(--muted);margin:1.5rem auto 0;display:block}@media (width<=900px){.mode-toolbar{align-items:flex-start}.mode-toggles{padding-right:1rem}.typing-stage{min-height:18rem}.typing-text{font-size:clamp(1.2rem,2vw,1.35rem)}.code-text{font-size:clamp(1rem,1.1vw,1.2rem)}.result-scoreboard,.dashboard-overview{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr}.achievement-grid{grid-template-columns:repeat(2,1fr)}.calculator{grid-template-columns:1fr}.calculator-output{border-top:1px solid var(--border);border-left:0}}@media (width<=640px){.typing-lab{border-radius:1rem;margin-inline:-.15rem}.lab-topbar{min-height:3rem;padding:.65rem .75rem}.lab-context span:first-child,.lab-context i{display:none}.mode-toolbar{gap:.75rem;min-height:auto;padding:.62rem .75rem}.mode-set+.mode-set{padding-left:.75rem}.mode-set legend{margin-right:.25rem}.mode-toggles{padding-right:.75rem}.lab-body{padding:.72rem}.challenge-invite{grid-template-columns:1fr;gap:.8rem}.invite-score{border-top:1px solid var(--border);text-align:left;border-left:0;padding:.8rem 0 0}.daily-strip{grid-template-columns:1fr 1fr}.daily-strip>div{min-height:4.2rem;padding:.72rem}.daily-strip>div:nth-child(3){border-left:0;border-top:1px solid var(--border)}.daily-strip>div:nth-child(4){border-top:1px solid var(--border)}.practice-modules{grid-template-columns:repeat(7,7.3rem)}.practice-recommendation{flex-direction:column;align-items:flex-start;gap:.25rem}.practice-module{min-height:6.7rem}.assessment-modes{grid-template-columns:1fr 1fr}.live-stats{grid-template-columns:1.5fr 1fr 1fr .8fr;min-height:4.35rem}.live-stat{padding:.58rem .5rem}.live-stat strong{font-size:1.18rem}.live-stat:first-child strong{font-size:clamp(1.4rem,7vw,1.7rem)}.live-stat span{letter-spacing:.04em;font-size:.5rem}.typing-stage{min-height:17.3rem;padding:1.05rem}.typing-lab-code .typing-stage{min-height:21rem;padding:1rem 1rem 1rem 3.15rem}.typing-text{max-height:14.4rem;font-size:var(--typing-font,clamp(1.05rem, .95rem + .35vw, 1.2rem));line-height:1.9}.code-text{max-height:18rem;font-size:1rem;line-height:1.78}.code-gutter{width:2.5rem;font-size:.58rem;line-height:2.32;top:1rem}.typing-prompt{font-size:.56rem}.lab-actions{flex-direction:column;align-items:flex-start}.toggle-row{justify-content:space-between;width:100%}.shortcut-hint{display:none}.settings-grid,.numpad-reference{grid-template-columns:1fr}.mini-numpad{width:100%}.result-panel{padding:1rem .75rem 1.4rem}.result-head{margin-bottom:1.5rem}.result-brand span{display:none}.result-scoreboard{gap:1.4rem}.wpm-display>strong{font-size:clamp(5rem,27vw,7.2rem)}.score-pair>div{min-height:8rem;padding:.75rem}.score-pair strong{font-size:2rem}.primary-actions .btn,.primary-actions .button{flex:calc(50% - .5rem)}.metric-grid{grid-template-columns:repeat(3,1fr)}.metric-card{min-height:4.5rem;padding:.65rem}.metric-card strong{font-size:.9rem}.code-result-metrics{grid-template-columns:1fr 1fr}.code-result-metrics p{grid-column:1/-1}.challenge-result{grid-template-columns:1fr;gap:1rem}.analytics-card,.dashboard-section{padding:.85rem}.analytics-heading{flex-direction:column;align-items:flex-start}.analytics-heading p{text-align:left}.graph-summary{gap:.6rem}.graph-summary strong{display:none}.performance-graph{min-height:150px}.key{width:min(2.65rem,8.3vw);min-width:1.45rem}.key small{display:none}.attention-panel{flex-direction:column;align-items:flex-start}.dna-intro{grid-template-columns:1fr;gap:.5rem}.dna-radar{width:11rem;margin-inline:auto}.dna-bars{grid-template-columns:1fr}.dna-actions{flex-direction:column;align-items:flex-start}.dna-actions small{text-align:left}.setup-footer{flex-direction:column;align-items:flex-start}.calculator-grid,.calculator-result{grid-template-columns:1fr}.calculator-grid .field:first-child{grid-column:auto}.compact-stats{grid-template-columns:repeat(2,1fr)}.achievement-grid{grid-template-columns:1fr}.history-actions{width:100%}.history-actions .btn{flex:1}}@media (prefers-reduced-motion:reduce){.empty-orbit i:nth-child(2){animation:none}}@media print{@page{size:landscape;margin:.35in}body{background:#fff!important}body *{visibility:hidden!important}.certificate,.certificate *{visibility:visible!important}.certificate{box-shadow:none;border:2px solid #386b12;outline-color:#9aa58f;margin:0;padding:.5in;position:absolute;inset:.25in;color:#111!important;background:#fff!important}.certificate p,.certificate small,.certificate label{color:#3f493e!important}.certificate-wpm,.certificate>p:first-child{color:#386b12!important}.certificate input{color:#111!important;background:#fff!important;border-color:#b8c1b3!important}.site-header,.site-footer{display:none!important}}.scene3d{--key-unit:clamp(1.1rem, .85rem + .9vw, 1.45rem);--row-unit:calc(var(--key-unit) * .92);border:1px solid var(--border-strong);border-radius:var(--radius-xl);background:linear-gradient(165deg, var(--surface-1), color-mix(in srgb, var(--surface-1) 90%, var(--bg)) 130%);box-shadow:var(--shadow-3), var(--highlight-edge-strong);opacity:0;animation:fade-up .65s var(--ease-standard) 50ms forwards;margin-bottom:.65rem;position:relative;overflow:hidden;transform:translateY(.75rem)}.scene3d-chrome{z-index:2;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg-elevated) 82%, transparent);justify-content:space-between;align-items:center;gap:1rem;min-height:2.5rem;padding:.42rem .8rem;display:flex;position:relative}.scene3d-label{color:var(--muted);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:800}.scene3d-quality{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-2);min-height:2.15rem;color:var(--muted);font-family:var(--mono);box-shadow:var(--highlight-edge);transition:color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), transform var(--motion-instant) var(--ease-standard);align-items:center;gap:.4rem;padding:.4rem .7rem;font-size:.72rem;font-weight:750;display:inline-flex}.scene3d-quality:hover{color:var(--text);border-color:var(--border-strong)}.scene3d-quality:active{transform:translateY(1px)}.scene3d-quality span{color:var(--accent)}.quality-off .scene3d-quality span{color:var(--faint)}.scene3d-viewport{height:clamp(128px,15vw,172px);position:relative;overflow:hidden}.quality-minimal .scene3d-viewport{height:clamp(84px,9vw,108px)}.scene3d-lighting{z-index:0;pointer-events:none;background:radial-gradient(ellipse 60% 70% at 30% -10%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 60%), radial-gradient(ellipse 46% 60% at 82% 6%, color-mix(in srgb, var(--accent-2) 10%, transparent), transparent 60%), radial-gradient(ellipse 90% 50% at 50% 116%, #00000052, transparent 70%);animation:7s ease-in-out infinite light-breathe;position:absolute;inset:0}@keyframes light-breathe{0%,to{opacity:.85}50%{opacity:1}}.scene3d-stage{perspective:var(--perspective);place-items:center;display:grid;position:absolute;inset:0}.scene3d-webgl-host{pointer-events:none;mix-blend-mode:screen;opacity:.85;height:130%;position:absolute;inset:-20% -10% auto}.scene3d-deck{width:calc(var(--kb-units) * var(--key-unit));transform-style:preserve-3d;transition:transform var(--motion-slow) var(--ease-standard);position:relative;transform:rotateX(42deg)rotate(0)translateY(6%)}.scene3d-row{height:var(--row-unit);margin-top:calc(var(--row-unit) * .14);position:relative}.scene3d-row:first-child{margin-top:0}.scene3d-key{top:0;left:calc(var(--kx) * var(--key-unit) - (var(--kw,1) * var(--key-unit) / 2));width:calc(var(--kw,1) * var(--key-unit) - 5px);height:calc(var(--row-unit) - 5px);border:1px solid var(--border-strong);border-radius:calc(var(--key-unit) * .16);background:linear-gradient(175deg, var(--surface-3), var(--surface-2));box-shadow:0 2px 0 color-mix(in srgb, black 40%, var(--surface-3)), 0 4px 8px #00000042, inset 0 1px 0 #ffffff17;color:var(--faint);font-family:var(--mono);font-size:calc(var(--key-unit) * .32);transition:transform 90ms var(--ease-standard), box-shadow 90ms var(--ease-standard), background .12s var(--ease-standard), color .12s var(--ease-standard);place-items:center;font-weight:800;display:grid;position:absolute;transform:translateZ(4px)}.scene3d-key span{transform:translateZ(1px)}.scene3d-key.pressed{background:linear-gradient(175deg, color-mix(in srgb, var(--accent) 30%, var(--surface-3)), var(--surface-2));color:var(--accent);box-shadow:0 0 0 color-mix(in srgb, black 40%, var(--surface-3)), 0 1px 3px #00000038, 0 0 14px color-mix(in srgb, var(--accent) 45%, transparent), inset 0 1px 0 #ffffff1f;transform:translateZ(1px)translateY(2px)}.scene3d.flash-error .scene3d-key.pressed{background:linear-gradient(175deg, color-mix(in srgb, var(--danger) 34%, var(--surface-3)), var(--surface-2));color:var(--danger);box-shadow:0 0 14px color-mix(in srgb, var(--danger) 45%, transparent)}.scene3d-hands{transform-style:preserve-3d;pointer-events:none;position:absolute;inset:0;transform:rotateX(42deg)translateY(-2%)}.scene3d-palm{width:calc(var(--key-unit) * 3.1);height:calc(var(--key-unit) * 1.7);background:radial-gradient(circle at 40% 30%, color-mix(in srgb, var(--accent-2) 8%, var(--surface-2) 92%), color-mix(in srgb, var(--surface-1) 92%, transparent) 75%);border:1px solid var(--border);opacity:.5;bottom:calc(-1 * var(--row-unit) * .9);border-radius:50% 50% 40% 40%/60% 60% 40% 40%;position:absolute;transform:translateZ(2px)}.palm-left{left:calc(3.3 * var(--key-unit))}.palm-right{left:calc(9.3 * var(--key-unit))}.scene3d-finger{left:calc((var(--home-x) + var(--reach-x,0)) * var(--key-unit) - (var(--key-unit) * .34));top:calc((var(--home-row) + var(--reach-y,0)) * var(--row-unit) - (var(--key-unit) * 1.05));width:calc(var(--key-unit) * .62);height:calc(var(--key-unit) * 1.05);transform-style:preserve-3d;transform-origin:50% 100%;transition:left var(--motion-fast) var(--ease-standard), top var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);position:absolute;transform:translateZ(10px)rotateX(-10deg)}.scene3d-finger .segment{background:linear-gradient(200deg, color-mix(in srgb, var(--accent-2) 22%, var(--surface-3)), color-mix(in srgb, var(--accent) 10%, var(--surface-2)));border-radius:999px;position:absolute;left:50%;box-shadow:inset 0 1px #ffffff29,0 3px 8px #0000004d}.scene3d-finger .base{opacity:.92;width:82%;height:62%;bottom:0;transform:translate(-50%)}.scene3d-finger .tip{background:linear-gradient(200deg, color-mix(in srgb, var(--accent) 30%, var(--surface-2)), color-mix(in srgb, var(--accent-2) 14%, var(--surface-2)));width:68%;height:44%;box-shadow:inset 0 1px 0 #ffffff38, 0 0 10px color-mix(in srgb, var(--accent) 18%, transparent);top:0;transform:translate(-50%)}.scene3d-finger.pressed{transform:translateZ(5px)rotateX(16deg)}.scene3d-finger.pressed .tip{background:linear-gradient(200deg, var(--accent), color-mix(in srgb, var(--accent-2) 40%, var(--accent)));box-shadow:inset 0 1px 0 #ffffff4d, 0 0 16px color-mix(in srgb, var(--accent) 60%, transparent)}.scene3d.flash-error .scene3d-finger.pressed .tip{background:linear-gradient(200deg, var(--danger), color-mix(in srgb, var(--danger) 60%, var(--surface-2)));box-shadow:0 0 16px color-mix(in srgb, var(--danger) 55%, transparent)}.f-LT{transform:translateZ(10px)rotateX(-2deg)rotate(-18deg)}.f-RT{transform:translateZ(10px)rotateX(-2deg)rotate(18deg)}.f-LT.pressed,.f-RT.pressed{transform:translateZ(5px)rotateX(20deg)}.scene3d-invite{z-index:3;pointer-events:none;transition:opacity var(--motion-normal) var(--ease-standard), transform var(--motion-normal) var(--ease-standard);justify-content:center;display:flex;position:absolute;inset:auto 0 .9rem}.scene3d-invite span{border:1px solid var(--border);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--surface-floating) 88%, transparent);backdrop-filter:blur(10px);color:var(--muted);box-shadow:var(--shadow-1), var(--highlight-edge);padding:.5rem .9rem;font-size:.82rem;font-weight:650}.scene3d-invite.dismissed{opacity:0;transform:translateY(.5rem)}.scene3d-trail{--energy:0;z-index:1;pointer-events:none;height:3px;position:absolute;bottom:0;left:6%;right:6%;overflow:visible}.scene3d-trail:before{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) calc(30% + var(--energy) * 60%), transparent), color-mix(in srgb, var(--accent-2) calc(20% + var(--energy) * 50%), transparent), transparent);opacity:calc(.35 + var(--energy) * .65);filter:blur(calc(1px + var(--energy) * 2px));box-shadow:0 0 calc(6px + var(--energy) * 22px) color-mix(in srgb, var(--accent) calc(20% + var(--energy) * 50%), transparent);border-radius:2px;transition:opacity .14s linear,filter .14s linear,box-shadow .14s linear;position:absolute;inset:0}.scene-celebrate .scene3d-lighting{animation:celebrate-glow 1.1s var(--ease-spring)}@keyframes celebrate-glow{0%{filter:brightness()}30%{filter:brightness(1.35)}to{filter:brightness()}}.quality-off .scene3d-viewport{display:none}.quality-off{margin-bottom:.6rem}@media (width<=640px){.scene3d-chrome{padding:.5rem .7rem}.scene3d-label{display:none}.scene3d-viewport{height:clamp(110px,30vw,140px)}.quality-minimal .scene3d-viewport{height:clamp(72px,16vw,90px)}.scene3d-invite span{padding:.4rem .7rem;font-size:.74rem}}@media (hover:none),(pointer:coarse){.scene3d-lighting{animation:none}}@media (prefers-reduced-motion:reduce){.scene3d{opacity:1;animation:none;transform:none}.scene3d-lighting{animation:none}.scene3d-key,.scene3d-finger{transition-duration:1ms}.scene-celebrate .scene3d-lighting{animation:none}}
