.games-grid[data-v-e88ca776]{display:grid;gap:1.25rem}@media (min-width: 768px){.games-grid[data-v-e88ca776]{grid-template-columns:repeat(3,1fr)}}.game-card[data-v-e88ca776]{display:flex;flex-direction:column;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.game-card[data-v-e88ca776]:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 50%,var(--border));box-shadow:var(--shadow-lg)}.game-preview[data-v-e88ca776]{position:relative;height:150px;background:radial-gradient(90% 120% at 50% 0%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 70%),var(--surface-2);border-bottom:1px solid var(--border);overflow:hidden;font-family:var(--font-mono);font-weight:700}.pv-core[data-v-e88ca776]{position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px;border-radius:50%;background:var(--fortress-core);box-shadow:0 0 0 10px color-mix(in srgb,var(--accent) 14%,transparent),0 0 30px var(--brand-ring);animation:pv-pulse-e88ca776 2s ease-in-out infinite}@keyframes pv-pulse-e88ca776{50%{box-shadow:0 0 0 16px color-mix(in srgb,var(--accent) 8%,transparent),0 0 30px var(--brand-ring)}}.pv-word[data-v-e88ca776]{position:absolute;left:var(--x);top:var(--y);padding:2px 8px;border-radius:6px;background:var(--word-bg);border:1px solid var(--border);font-size:.8rem;color:var(--word-text);animation:pv-drift-e88ca776 4s ease-in-out infinite alternate}.pv-word--active[data-v-e88ca776]{border-color:var(--brand)}.pv-word b[data-v-e88ca776]{color:var(--success)}@keyframes pv-drift-e88ca776{to{transform:translate(calc((50% - var(--x)) * .15),6px)}}.pv-sprint[data-v-e88ca776]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem}.pv-big[data-v-e88ca776]{font-size:1.7rem;color:var(--word-text)}.pv-big b[data-v-e88ca776]{color:var(--success)}.pv-big i[data-v-e88ca776]{font-style:normal;color:var(--word-cursor);text-decoration:underline;text-underline-offset:5px}.pv-next[data-v-e88ca776]{font-size:.8rem;color:var(--text-3)}.pv-timer[data-v-e88ca776]{position:absolute;left:0;right:0;top:0;height:4px;background:var(--health-bg)}.pv-timer span[data-v-e88ca776]{display:block;height:100%;background:var(--brand-gradient);animation:pv-timer-e88ca776 6s linear infinite}@keyframes pv-timer-e88ca776{0%{width:100%}to{width:0}}.pv-daily[data-v-e88ca776]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem}.pv-daily__num[data-v-e88ca776]{font-size:2.2rem;color:var(--accent)}.pv-daily__grid[data-v-e88ca776]{font-size:1rem;letter-spacing:2px}.game-body[data-v-e88ca776]{display:flex;flex-direction:column;flex:1;padding:1.25rem 1.4rem 1.4rem}.game-head[data-v-e88ca776]{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem}.game-icon[data-v-e88ca776]{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.game-head h3[data-v-e88ca776]{flex:1;font-size:1.15rem;line-height:1.2;color:var(--text)}.status[data-v-e88ca776]{flex-shrink:0;font-size:.72rem;font-weight:700;padding:.2rem .55rem;border-radius:999px;background:var(--success-soft);color:var(--success)}.status--new[data-v-e88ca776]{background:color-mix(in srgb,var(--warning) 16%,transparent);color:var(--warning)}.game-body p[data-v-e88ca776]{flex:1;font-size:.95rem;color:var(--text-2)}.tags[data-v-e88ca776]{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.9rem}.tags span[data-v-e88ca776]{padding:.2rem .6rem;font-size:.75rem;border-radius:999px;background:var(--surface-3);color:var(--text-2)}.game-foot[data-v-e88ca776]{display:flex;justify-content:space-between;align-items:center;margin-top:1.1rem}.game-cta[data-v-e88ca776]{display:inline-flex;align-items:center;gap:.4rem;font-weight:800;color:var(--brand)}.game-card:hover .game-cta[data-v-e88ca776] .app-icon{transform:translate(3px)}.game-cta[data-v-e88ca776] .app-icon{transition:transform .15s ease}.game-record[data-v-e88ca776]{display:inline-flex;align-items:center;gap:.3rem;font-size:.82rem;font-weight:700;font-family:var(--font-mono);color:var(--gold)}.games-note[data-v-e88ca776]{margin-top:1.25rem;text-align:center;font-size:.9rem;color:var(--text-3)}@media (prefers-reduced-motion: reduce){.pv-word[data-v-e88ca776],.pv-core[data-v-e88ca776],.pv-timer span[data-v-e88ca776]{animation:none}}.hero-cta[data-v-d01cc217]{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.quick-test[data-v-4e2329e3]{position:relative;margin:2rem auto 0;max-width:760px;padding:1.25rem 1.5rem 1.5rem;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);text-align:left;overflow:hidden;cursor:text;transition:border-color .15s ease,box-shadow .15s ease}.quick-test.is-running[data-v-4e2329e3]{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft),var(--shadow-md)}.quick-test.is-error[data-v-4e2329e3]{border-color:var(--danger)}.quick-test.is-done[data-v-4e2329e3]{cursor:default}.quick-test__bar[data-v-4e2329e3]{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.9rem;font-size:.85rem;color:var(--text-3)}.quick-test__label[data-v-4e2329e3]{display:inline-flex;align-items:center;gap:.35rem;font-weight:700;color:var(--brand)}.quick-test__meta strong[data-v-4e2329e3]{font-family:var(--font-mono);color:var(--text)}.is-idle .quick-test__meta[data-v-4e2329e3]{animation:blink-4e2329e3 1.6s ease-in-out infinite}@keyframes blink-4e2329e3{50%{opacity:.45}}.quick-test__words[data-v-4e2329e3]{display:flex;flex-wrap:wrap;gap:.35rem .9rem;min-height:5.6em;align-content:flex-start;font-family:var(--font-mono);font-size:clamp(1.1rem,2.6vw,1.5rem);font-weight:700;line-height:1.6;color:var(--text-3);user-select:none}.qword.is-done[data-v-4e2329e3]{color:var(--success);opacity:.55}.qword.is-current[data-v-4e2329e3]{color:var(--text)}.is-typed[data-v-4e2329e3]{color:var(--success)}.is-cursor[data-v-4e2329e3]{position:relative;color:var(--word-cursor)}.is-cursor[data-v-4e2329e3]:before{content:"";position:absolute;left:-1px;top:.2em;bottom:.2em;width:2px;border-radius:2px;background:var(--word-cursor);animation:caret-4e2329e3 1s steps(1) infinite}.is-running .is-cursor[data-v-4e2329e3]:before{animation:none}@keyframes caret-4e2329e3{50%{opacity:0}}.quick-test__progress[data-v-4e2329e3]{position:absolute;left:0;bottom:0;height:4px;background:var(--brand-gradient);transition:width .1s linear}.quick-test__result[data-v-4e2329e3]{text-align:center;animation:pop-4e2329e3 .35s cubic-bezier(.2,1.4,.4,1)}@keyframes pop-4e2329e3{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.quick-test__score[data-v-4e2329e3]{display:flex;align-items:baseline;justify-content:center;gap:.5rem}.quick-test__wpm[data-v-4e2329e3]{font-family:var(--font-mono);font-size:4rem;font-weight:700;line-height:1;background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.quick-test__unit[data-v-4e2329e3]{font-weight:700;color:var(--text-3)}.quick-test__verdict[data-v-4e2329e3]{margin-top:.5rem;font-weight:700;color:var(--text)}.quick-test__details[data-v-4e2329e3]{margin-top:.25rem;font-size:.9rem;color:var(--text-3)}.quick-test__actions[data-v-4e2329e3]{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:1rem}@media (max-width: 600px){.quick-test[data-v-4e2329e3]{padding:1rem}.quick-test__words[data-v-4e2329e3]{min-height:8em}.quick-test__actions .btn[data-v-4e2329e3]{width:100%}}.speed-scale[data-v-81f79783]{padding:2rem;border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md)}.speed-scale__track[data-v-81f79783]{position:relative;display:flex;gap:3px;height:14px;margin-top:2.6rem}.speed-scale__seg[data-v-81f79783]{flex-basis:0;border-radius:4px}.speed-scale__seg[data-v-81f79783]:first-child{border-radius:999px 4px 4px 999px}.speed-scale__seg[data-v-81f79783]:nth-child(5){border-radius:4px 999px 999px 4px}.speed-scale__marker[data-v-81f79783]{position:absolute;top:-6px;width:4px;height:26px;margin-left:-2px;border-radius:4px;background:var(--text);box-shadow:0 0 0 3px var(--surface);animation:marker-in-81f79783 .6s cubic-bezier(.2,1.3,.4,1)}@keyframes marker-in-81f79783{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.speed-scale__bubble[data-v-81f79783]{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);padding:.25rem .65rem;border-radius:8px;background:var(--text);color:var(--surface);font-family:var(--font-mono);font-size:.8rem;font-weight:700;white-space:nowrap}.speed-scale__bubble[data-v-81f79783]:after{content:"";position:absolute;left:50%;top:100%;margin-left:-5px;border:5px solid transparent;border-top-color:var(--text)}.speed-scale__ticks[data-v-81f79783]{position:relative;height:1.4rem;margin-top:.4rem;font-family:var(--font-mono);font-size:.72rem;color:var(--text-3)}.speed-scale__ticks span[data-v-81f79783]{position:absolute;transform:translate(-50%)}.speed-scale__ticks span[data-v-81f79783]:first-child{transform:none}.speed-scale__ticks span[data-v-81f79783]:last-child{transform:translate(-100%)}.speed-scale__levels[data-v-81f79783]{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;margin-top:1.25rem}.speed-scale__levels li[data-v-81f79783]{padding:1rem;border-radius:var(--radius-md);background:var(--surface-2);border:1px solid transparent;transition:border-color .2s ease,background .2s ease}.speed-scale__levels li.is-current[data-v-81f79783]{border-color:var(--brand);background:var(--brand-soft)}.speed-scale__levels strong[data-v-81f79783]{display:block;margin:.2rem 0 .25rem;color:var(--text)}.speed-scale__levels span[data-v-81f79783]{font-size:.85rem;line-height:1.45;color:var(--text-2)}.speed-scale__range[data-v-81f79783]{font-family:var(--font-mono);font-weight:700;font-size:.78rem!important;color:var(--brand)!important}.speed-scale__hint[data-v-81f79783]{margin-top:1rem;font-size:.9rem;color:var(--text-3);text-align:center}@media (max-width: 900px){.speed-scale[data-v-81f79783]{padding:1.4rem}.speed-scale__levels[data-v-81f79783]{grid-template-columns:1fr 1fr}}@media (max-width: 480px){.speed-scale__levels[data-v-81f79783]{grid-template-columns:1fr}}@media (max-width: 760px){.cta-band__keys[data-astro-cid-woioscxj]{display:none}}.hero[data-astro-cid-xhaoqxbd]{position:relative;margin-top:1rem;padding:3.25rem 2rem 3rem;border-radius:var(--radius-xl);background:radial-gradient(60% 80% at 15% 0%,rgba(124,77,255,.18),transparent 60%),radial-gradient(50% 70% at 90% 10%,rgba(59,130,246,.14),transparent 60%),var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);overflow:hidden}.hero[data-astro-cid-xhaoqxbd]:before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--stage-grid) 1px,transparent 1px),linear-gradient(90deg,var(--stage-grid) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse at 50% 0%,#000 20%,transparent 70%);pointer-events:none}.hero-inner[data-astro-cid-xhaoqxbd]{position:relative;z-index:1;text-align:center;max-width:820px;margin:0 auto}.hero-badge[data-astro-cid-xhaoqxbd]{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:1.25rem;padding:.35rem .9rem;border-radius:999px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);font-size:.85rem;font-weight:700;color:var(--text-2)}.hero-badge[data-astro-cid-xhaoqxbd] .app-icon{color:var(--brand)}.hero[data-astro-cid-xhaoqxbd] h1[data-astro-cid-xhaoqxbd]{font-size:clamp(3rem,8vw,5.2rem);font-weight:900;line-height:1;letter-spacing:-.04em;margin-bottom:1.1rem;background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-subtitle[data-astro-cid-xhaoqxbd]{font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.6;margin-bottom:1.75rem;color:var(--text-2)}.hero-keys[data-astro-cid-xhaoqxbd]{position:absolute;inset:0;pointer-events:none}.hero-key[data-astro-cid-xhaoqxbd]{position:absolute;font-size:1.15rem;opacity:.9;animation:key-float 6s ease-in-out infinite}.k1[data-astro-cid-xhaoqxbd]{left:6%;top:14%;--r: -14deg;animation-delay:0s}.k2[data-astro-cid-xhaoqxbd]{left:11%;top:46%;--r: 9deg;animation-delay:-1.5s;font-size:.95rem;opacity:.6}.k3[data-astro-cid-xhaoqxbd]{left:5%;top:72%;--r: -6deg;animation-delay:-3s}.k4[data-astro-cid-xhaoqxbd]{right:6%;top:18%;--r: 12deg;animation-delay:-.8s}.k5[data-astro-cid-xhaoqxbd]{right:11%;top:50%;--r: -10deg;animation-delay:-2.2s;font-size:.95rem;opacity:.6}.k6[data-astro-cid-xhaoqxbd]{right:4%;top:76%;--r: 5deg;animation-delay:-4s;font-size:.9rem}@keyframes key-float{0%,to{transform:translateY(0) rotate(var(--r))}50%{transform:translateY(-10px) rotate(calc(var(--r) * .6))}}@media (max-width: 1180px){.hero-keys[data-astro-cid-xhaoqxbd]{display:none}}@media (prefers-reduced-motion: reduce){.hero-key[data-astro-cid-xhaoqxbd]{animation:none;transform:rotate(var(--r))}}.tile-title[data-astro-cid-xhaoqxbd]{margin-bottom:.6rem;font-size:1.5rem;line-height:1.2;color:var(--text)}.bento--about[data-astro-cid-xhaoqxbd]{grid-template-columns:repeat(4,1fr)}.bento--about[data-astro-cid-xhaoqxbd] .tile[data-astro-cid-xhaoqxbd]{grid-column:span 1}.bento--about[data-astro-cid-xhaoqxbd] .tile--hero[data-astro-cid-xhaoqxbd]{grid-column:span 2;grid-row:span 2}@media (max-width: 900px){.bento--about[data-astro-cid-xhaoqxbd]{grid-template-columns:repeat(2,1fr)}.bento--about[data-astro-cid-xhaoqxbd] .tile--hero[data-astro-cid-xhaoqxbd]{grid-column:1 / -1;grid-row:auto}}@media (max-width: 560px){.bento--about[data-astro-cid-xhaoqxbd]{grid-template-columns:1fr}}.tile--hero[data-astro-cid-xhaoqxbd]{display:flex;flex-direction:column}.mini-kb[data-astro-cid-xhaoqxbd]{display:flex;flex-direction:column;gap:.45em;margin-top:auto;padding-top:1.75rem;font-size:clamp(.62rem,1.05vw,.85rem)}.mini-kb__row[data-astro-cid-xhaoqxbd]{display:flex;gap:.45em}.mini-kb[data-astro-cid-xhaoqxbd] .keycap[data-astro-cid-xhaoqxbd]{min-width:2.9em;height:2.9em;padding:0}.mini-kb__home[data-astro-cid-xhaoqxbd]{border-color:var(--brand-ring);color:var(--brand)}.home-row__caption[data-astro-cid-xhaoqxbd]{margin-top:1.1rem;font-size:.88rem!important;color:var(--text-3)!important}.home-row__caption[data-astro-cid-xhaoqxbd] .keycap[data-astro-cid-xhaoqxbd]{min-width:1.9em;height:1.9em;padding:0;font-size:.8rem;vertical-align:middle}@media (max-width: 600px){.hero[data-astro-cid-xhaoqxbd]{padding:2rem 1rem 1.25rem}.hero-subtitle[data-astro-cid-xhaoqxbd] br[data-astro-cid-xhaoqxbd]{display:none}.mini-kb[data-astro-cid-xhaoqxbd]{font-size:2.05vw}}
