body.typing-body{overflow:hidden;--typing-bg: #231d1b;--typing-bg-grid: rgba(255, 246, 234, .028);--typing-panel-soft: rgba(255, 244, 230, .05);--typing-ink: rgba(246, 234, 223, .96);--typing-text: rgba(223, 204, 191, .86);--typing-muted: rgba(179, 155, 141, .66);--typing-faint: rgba(132, 107, 93, .5);--typing-complete: rgba(116, 94, 83, .42);--typing-accent: #c6a0f6;--typing-accent-soft: rgba(198, 160, 246, .16);--typing-accent-glow: rgba(198, 160, 246, .22);--typing-accent-secondary: #f5c2e7;--typing-success: rgba(235, 220, 210, .96);--typing-error: rgba(245, 173, 173, .92);--typing-key: rgba(48, 39, 35, .46);--typing-key-text: rgba(183, 163, 150, .68);background:var(--typing-bg)}body.typing-body[data-typing-theme=blue]{--typing-bg: #1f1c22;--typing-bg-grid: rgba(180, 214, 255, .028);--typing-panel-soft: rgba(196, 224, 255, .048);--typing-ink: rgba(232, 240, 248, .96);--typing-text: rgba(201, 214, 229, .86);--typing-muted: rgba(154, 171, 194, .68);--typing-faint: rgba(112, 130, 151, .54);--typing-complete: rgba(95, 107, 123, .42);--typing-accent: #89b4fa;--typing-accent-soft: rgba(137, 180, 250, .16);--typing-accent-glow: rgba(137, 180, 250, .2);--typing-accent-secondary: #74c7ec;--typing-key: rgba(41, 43, 53, .48);--typing-key-text: rgba(164, 183, 205, .7)}body.typing-body[data-typing-theme=green]{--typing-bg: #1d201c;--typing-bg-grid: rgba(202, 247, 197, .024);--typing-panel-soft: rgba(220, 255, 215, .044);--typing-ink: rgba(235, 243, 228, .96);--typing-text: rgba(206, 220, 196, .86);--typing-muted: rgba(161, 181, 148, .68);--typing-faint: rgba(117, 138, 106, .52);--typing-complete: rgba(93, 107, 84, .42);--typing-accent: #a6e3a1;--typing-accent-soft: rgba(166, 227, 161, .17);--typing-accent-glow: rgba(166, 227, 161, .2);--typing-accent-secondary: #94e2d5;--typing-key: rgba(40, 44, 36, .48);--typing-key-text: rgba(168, 190, 156, .69)}body.typing-body[data-typing-theme=pink]{--typing-bg: #251b22;--typing-bg-grid: rgba(255, 216, 236, .026);--typing-panel-soft: rgba(255, 227, 241, .05);--typing-ink: rgba(247, 232, 239, .96);--typing-text: rgba(226, 201, 213, .86);--typing-muted: rgba(190, 155, 173, .68);--typing-faint: rgba(145, 112, 130, .54);--typing-complete: rgba(121, 92, 108, .42);--typing-accent: #f5c2e7;--typing-accent-soft: rgba(245, 194, 231, .16);--typing-accent-glow: rgba(245, 194, 231, .2);--typing-accent-secondary: #f38ba8;--typing-key: rgba(50, 36, 44, .48);--typing-key-text: rgba(195, 162, 178, .7)}body.typing-body[data-typing-theme=lavender]{--typing-bg: #221d24;--typing-bg-grid: rgba(229, 216, 255, .026);--typing-panel-soft: rgba(239, 228, 255, .05);--typing-ink: rgba(239, 232, 248, .96);--typing-text: rgba(214, 203, 229, .86);--typing-muted: rgba(174, 157, 194, .68);--typing-faint: rgba(132, 114, 151, .54);--typing-complete: rgba(109, 95, 123, .42);--typing-accent: #c6a0f6;--typing-accent-soft: rgba(198, 160, 246, .16);--typing-accent-glow: rgba(198, 160, 246, .22);--typing-accent-secondary: #f5c2e7;--typing-key: rgba(43, 37, 50, .48);--typing-key-text: rgba(180, 164, 203, .69)}body.typing-body:before,body.typing-body:after{position:fixed;inset:0;content:"";pointer-events:none}body.typing-body:before{background:linear-gradient(90deg,var(--typing-bg-grid, rgba(255, 246, 234, .028)) 1px,transparent 1px),linear-gradient(180deg,color-mix(in srgb,var(--typing-bg-grid, rgba(255, 246, 234, .028)) 78%,transparent) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.3),rgba(0,0,0,.12) 72%,transparent 100%);mask-image:linear-gradient(180deg,rgba(0,0,0,.3),rgba(0,0,0,.12) 72%,transparent 100%);opacity:.42}.typing-app.standalone-software{background:var(--typing-bg)}.typing-app.standalone-software:before{display:none}.typing-app{position:relative;display:grid;align-content:start;justify-items:center;min-height:100vh;padding:56px 32px 48px;font-family:DM Sans,system-ui,sans-serif}.typing-app__focus-input{position:fixed;left:-9999px;top:0;width:2px;height:2px;opacity:.01;border:0;padding:0;resize:none;overflow:hidden;white-space:pre;background:transparent;color:transparent;caret-color:transparent}.typing-app__chrome{position:relative;z-index:2;display:grid;justify-items:center;gap:8px;width:100%;padding-top:4px}.typing-app .typing-app__exit{position:fixed;top:34px;left:34px;z-index:40;min-height:0;border:0;background:transparent;padding:4px 0;color:var(--typing-muted);box-shadow:none;font-size:.78rem;font-weight:500;letter-spacing:0;-webkit-backdrop-filter:none;backdrop-filter:none}.typing-app .typing-app__exit:hover,.typing-app .typing-app__exit:focus-visible{background:transparent;color:var(--typing-ink);box-shadow:none;transform:translate(-1px)}.typing-app__timer-strip{position:relative;z-index:2;display:flex;justify-content:center;gap:22px;margin-top:10px}.typing-app__timer-chip{min-width:0;min-height:0;border:0;background:transparent;color:var(--typing-muted);padding:0;cursor:pointer;font-size:.96rem;font-weight:500;letter-spacing:0;transition:transform var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),opacity var(--motion-fast) var(--ease-standard)}.typing-app__timer-chip:hover,.typing-app__timer-chip:focus-visible{transform:translateY(-1px);color:var(--typing-ink)}.typing-app__timer-chip.is-selected{color:var(--typing-ink)}.typing-app__timer-chip.is-running{color:var(--typing-accent)}.typing-app__sound-toggle{display:inline-flex;align-items:center;gap:10px;min-height:28px;border:0;border-radius:999px;background:var(--typing-panel-soft);color:var(--typing-text);padding:0 10px 0 12px;cursor:pointer;transition:transform var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.typing-app__sound-toggle:hover,.typing-app__sound-toggle:focus-visible{background:#fff4e616;color:var(--typing-ink);transform:translateY(-1px)}.typing-app__sound-toggle.is-enabled{background:var(--typing-accent-soft);color:var(--typing-ink)}.typing-app__sound-toggle-label,.typing-app__sound-toggle-state{font-size:.74rem;font-weight:500;line-height:1;letter-spacing:0}.typing-app__sound-toggle-state{color:var(--typing-muted)}.typing-app__sound-toggle.is-enabled .typing-app__sound-toggle-state{color:var(--typing-accent)}.typing-app__content{position:relative;display:grid;min-height:calc(100vh - 118px);width:min(1040px,100%);padding:86px 0 0}.typing-app__stage{position:relative;z-index:2;display:grid;align-content:center;justify-items:center;gap:28px;padding:0 0 190px}.typing-app__prompt-stack{position:relative;display:grid;width:100%;justify-items:center;min-height:9.6rem;max-width:1120px}.typing-app__line-layer,.typing-app__outgoing-lines{display:grid;gap:.34rem;width:100%}.typing-app__line-layer{position:relative;z-index:2;color:var(--typing-muted);font-family:Playwrite GB J,Caveat,DM Sans,cursive;font-size:2.05rem;font-weight:300;line-height:1.24;letter-spacing:0;text-align:center;animation:typing-paragraph-enter .36s var(--ease-standard) both;transition:opacity .22s var(--ease-standard),text-shadow .22s var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.typing-app__prompt-stack.is-shifting .typing-app__line-layer{animation:typing-line-carry .38s var(--ease-standard) both}.typing-app__line-layer.has-shifted{animation:none}.typing-app__outgoing-lines{position:absolute;inset:0;z-index:1;pointer-events:none;animation:typing-lines-out .42s var(--ease-standard) both}.typing-app__line-layer.is-invalid{color:color-mix(in srgb,var(--typing-error) 68%,var(--typing-muted))}.typing-app__line-layer.is-blurred .typing-app__word,.typing-app__line-layer.is-blurred .typing-app__char{color:transparent!important;text-shadow:0 0 9px rgba(137,138,166,.42)}.typing-app__line-layer.is-blurred .typing-app__word.is-first-word,.typing-app__line-layer.is-blurred .typing-app__word.is-first-word .typing-app__char{color:var(--typing-ink)!important;text-shadow:none}.typing-app__line-layer.is-blurred .typing-app__word.is-current:after{opacity:0}.typing-app__line-layer.is-blurred .typing-app__word.is-current.is-first-word:after{opacity:1}.typing-app__prompt-line{min-height:2.95rem;white-space:nowrap}.typing-app__prompt-line--outgoing{opacity:.36}.typing-app__word{display:inline-block;margin-right:.38em;white-space:nowrap}.typing-app__word.is-complete{color:var(--typing-complete)}.typing-app__word.is-current{position:relative}.typing-app__word.is-current:after{position:absolute;left:-.07em;top:.18em;bottom:.18em;width:2px;border-radius:999px;background:var(--typing-accent);box-shadow:0 0 12px var(--typing-accent-glow);content:"";transition:left .12s var(--ease-standard),opacity 80ms ease;animation:typing-cursor-blink 1.1s step-end infinite}.typing-app__word.is-current.is-invalid:after{background:var(--typing-error);box-shadow:0 0 12px color-mix(in srgb,var(--typing-error) 32%,transparent)}.typing-app__char{transition:color var(--motion-fast) var(--ease-standard)}.typing-app__char.is-correct{color:var(--typing-success)}.typing-app__char.is-pending{color:var(--typing-muted)}.typing-app__char.is-wrong{color:var(--typing-error)}.typing-app__char.is-overflow{margin-left:.01em}.typing-app__metrics{position:fixed;top:50%;right:clamp(28px,6vw,96px);z-index:5;display:grid;justify-content:start;gap:18px;margin-top:0;transform:translateY(-42%)}.typing-app__metric{display:grid;gap:3px;min-width:116px;text-align:left}.typing-app__metric span{color:var(--typing-faint);font-size:.64rem;font-weight:600;letter-spacing:0;text-transform:uppercase}.typing-app__metric strong{color:var(--typing-text);font-size:.84rem;font-weight:500}.typing-app__keyboard-shell{position:absolute;left:50%;bottom:110px;transform:translate(-50%) scale(1.15);transform-origin:center bottom;width:min(560px,calc(100vw - 32px));z-index:2}.typing-app__keyboard{display:grid;gap:8px;justify-items:center;padding:0}.typing-app__keyboard-row{display:flex;justify-content:center;gap:8px}.typing-app__keyboard-row--2{padding-left:16px}.typing-app__keyboard-row--3{padding-left:24px}.typing-app__key{display:inline-flex;min-width:34px;min-height:31px;align-items:center;justify-content:center;border:0;border-radius:9px;background:var(--typing-key);color:var(--typing-key-text);padding:0 8px;font-size:.72rem;font-weight:500;letter-spacing:0;text-transform:lowercase;transition:transform var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),opacity var(--motion-fast) var(--ease-standard)}.typing-app__key.typing-app__key--space{min-width:min(218px,42vw)}.typing-app__key.is-pressed{transform:translateY(1px);background:var(--typing-accent-soft);color:var(--typing-ink)}.typing-app__result-card{position:relative;display:grid;gap:16px;justify-items:center;width:min(440px,calc(100vw - 40px));padding:30px 30px 24px;border:0;border-radius:28px;font-family:DM Sans,system-ui,sans-serif;background:#312621f5;color:var(--typing-ink);text-align:center;box-shadow:0 18px 42px #0d08063d;animation:typing-result-in .24s var(--ease-standard) both;overflow:hidden;outline:none}.typing-app__result-overlay{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px;background:#0c0d1385;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:typing-overlay-in .18s var(--ease-standard) both}.typing-app__result-glow{display:none}.typing-app__result-glow--a{top:-16px;left:16%;width:138px;height:44px;background:var(--typing-accent-glow)}.typing-app__result-glow--b{right:12%;bottom:22px;width:112px;height:38px;background:color-mix(in srgb,var(--typing-accent-secondary) 32%,transparent)}.typing-app__result-eyebrow{margin:0;color:var(--typing-accent);font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.typing-app__result-hero{display:grid;gap:2px;justify-items:center}.typing-app__result-hero strong{font-size:3.3rem;font-weight:500;letter-spacing:-.03em;line-height:.94}.typing-app__result-hero span{color:var(--typing-muted);font-size:.82rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.typing-app__result-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.typing-app__result-chips span{display:inline-flex;min-height:28px;align-items:center;border-radius:999px;background:#fff4e60f;color:var(--typing-text);padding:0 12px;font-size:.76rem;font-weight:600}.typing-app__result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%}.typing-app__result-stat{display:grid;gap:6px;border-radius:18px;background:#fff4e60d;padding:14px 10px 12px}.typing-app__result-stat span,.typing-app__result-note{color:var(--typing-muted);font-size:.76rem}.typing-app__result-stat strong{font-size:1.06rem}.typing-app__result-summary{margin:-2px 0 0;max-width:28ch;color:var(--typing-text);font-size:.88rem;line-height:1.55}.typing-app__result-note{letter-spacing:.01em}.typing-app__theme-dock{position:fixed;right:24px;bottom:24px;z-index:8;display:grid;justify-items:end;gap:10px}.typing-app__theme-dock-label{color:var(--typing-faint);font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.typing-app__theme-swatches{display:inline-flex;align-items:center;gap:10px;padding:10px 12px;border-radius:999px;background:#291f1c94;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 18px 42px #0a06052e}.typing-app__theme-swatch{width:16px;height:16px;border:0;border-radius:999px;cursor:pointer;opacity:.72;transition:transform var(--motion-fast) var(--ease-standard),opacity var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard)}.typing-app__theme-swatch:hover,.typing-app__theme-swatch:focus-visible{transform:translateY(-1px) scale(1.08);opacity:1}.typing-app__theme-swatch.is-active{opacity:1;box-shadow:0 0 0 2px #fff4e62e}.typing-app__theme-swatch--blue{background:#89b4fa}.typing-app__theme-swatch--green{background:#a6e3a1}.typing-app__theme-swatch--pink{background:#f5c2e7}.typing-app__theme-swatch--lavender{background:#c6a0f6}.typing-app__theme-ripple{position:fixed;inset:0;z-index:7;pointer-events:none;background:var(--typing-bg);clip-path:circle(0 at var(--typing-ripple-x) var(--typing-ripple-y));transition:clip-path .68s cubic-bezier(.2,.82,.24,1)}.typing-app__theme-ripple.is-active{clip-path:circle(160vmax at var(--typing-ripple-x) var(--typing-ripple-y))}.typing-app__theme-ripple--blue{background:#1f1c22}.typing-app__theme-ripple--green{background:#1d201c}.typing-app__theme-ripple--pink{background:#251b22}.typing-app__theme-ripple--lavender{background:#221d24}@media(max-width:960px){.typing-app{padding:28px 20px 36px}.typing-app__chrome{justify-items:center}.typing-app__content{min-height:calc(100vh - 120px)}.typing-app__stage{padding:0 0 178px}.typing-app__prompt-stack{min-height:8.4rem}.typing-app__line-layer{font-size:1.92rem}.typing-app__prompt-line{min-height:2.56rem}}@media(max-width:720px){.typing-app__chrome{width:100%;justify-items:start}.typing-app .typing-app__exit{position:static;justify-self:start;margin-left:2px}.typing-app__timer-strip{flex-wrap:wrap;justify-content:flex-start;gap:14px;width:100%;margin-top:18px}.typing-app__theme-dock{right:16px;bottom:18px;gap:8px}.typing-app__theme-swatches{gap:8px;padding:9px 10px}.typing-app__sound-toggle{min-height:26px;gap:8px;padding:0 9px 0 11px}.typing-app__stage{gap:18px;padding-bottom:170px}.typing-app__prompt-stack{min-height:7rem}.typing-app__line-layer{font-size:1.56rem}.typing-app__prompt-line{min-height:2.12rem}.typing-app__metrics{display:none}.typing-app__keyboard,.typing-app__keyboard-row{gap:6px}.typing-app__keyboard-row--2,.typing-app__keyboard-row--3{padding-left:0}.typing-app__key{min-width:24px;min-height:28px;padding:0 6px;font-size:.68rem;border-radius:10px}.typing-app__key.typing-app__key--space{min-width:min(176px,52vw)}.typing-app__result-grid{grid-template-columns:1fr}}@media(max-width:520px){.typing-app{padding:16px 14px 24px}.typing-app__stage{padding-bottom:156px}.typing-app__prompt-stack{min-height:5.7rem}.typing-app__line-layer{font-size:1.14rem}.typing-app__prompt-line{min-height:1.72rem}.typing-app__keyboard-shell{bottom:92px}.typing-app__theme-dock{right:12px;bottom:14px}.typing-app__theme-dock-label{font-size:.62rem}.typing-app__theme-swatch{width:14px;height:14px}.typing-app__result-card{width:min(100%,calc(100vw - 36px));padding:24px 18px 18px}.typing-app__result-hero strong{font-size:2.5rem}.typing-app__result-summary{font-size:.82rem}.typing-app__sound-toggle-label,.typing-app__sound-toggle-state{font-size:.7rem}}@keyframes typing-paragraph-enter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes typing-line-carry{0%{opacity:.78;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes typing-lines-out{0%{opacity:.42;transform:translateY(0)}to{opacity:0;transform:translateY(-24px)}}@keyframes typing-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes typing-result-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes typing-cursor-blink{0%,to{opacity:1}50%{opacity:.32}}.typing-app__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){.typing-app__line-layer,.typing-app__outgoing-lines,.typing-app__result-overlay,.typing-app__result-card,.typing-app__timer-chip,.typing-app__key,.typing-app__char{animation:none!important;transition:none!important}}
