.pc-typing{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.pc-typing__set{flex-wrap:wrap;gap:6px;display:flex}.pc-typing__set .pc-chip{min-height:44px}.pc-typing__split{background:var(--color-hairline);border-radius:2px;align-self:stretch;width:2px;min-height:28px}@media (width<=720px){.pc-typing__split{display:none}}.pc-typing__meter{justify-content:space-between;align-items:baseline;gap:12px;width:min(100%,760px);display:flex}.pc-typing__clock{font-family:var(--font-ui);font-variant-numeric:tabular-nums;color:var(--color-ink);font-size:clamp(30px,7vw,46px);font-weight:800;line-height:1}.pc-typing__clock.is-low{color:var(--pc-red)}.pc-typing__live{text-align:right;color:var(--color-ink-soft);font-size:13px;font-weight:700}.pc-typing__box{border:2px solid var(--color-ink);background:var(--color-paper);cursor:text;border-radius:14px;width:min(100%,760px);padding:clamp(12px,2.4vw,20px);position:relative}.pc-typing__viewport{--pc-typing-line:calc(clamp(17px, 3.6vw, 23px) * 1.9);height:calc(3 * var(--pc-typing-line));overflow:hidden}.pc-typing__track{color:var(--color-ink-soft);will-change:transform;flex-wrap:wrap;gap:0 .55em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(17px,3.6vw,23px);line-height:1.9;transition:transform .14s ease-out;display:flex}.pc-typing__word{white-space:nowrap;opacity:.55;display:inline-block}.pc-typing__word.is-right{color:var(--color-ink-soft);opacity:.4}.pc-typing__word.is-wrong{color:var(--pc-red);opacity:.55;text-underline-offset:4px;text-decoration:underline wavy}.pc-typing__word.is-active{opacity:1;color:var(--color-ink);box-shadow:0 2px 0 var(--pc-red);font-weight:700}.pc-typing__char{position:relative}.pc-typing__char.is-right{color:var(--color-ink);font-weight:700}.pc-typing__char.is-wrong{color:var(--pc-red);background:color-mix(in srgb, var(--pc-red) 16%, transparent);font-weight:700}.pc-typing__char.is-extra{color:var(--pc-red);opacity:.7;text-decoration:line-through}.pc-typing__char.is-tail{width:0;display:inline-block}.pc-typing__char.is-caret:before{content:"";background:var(--pc-red);width:2px;animation:1s step-end infinite pc-typing-blink;position:absolute;top:.18em;bottom:.18em;left:-2px}@keyframes pc-typing-blink{0%,55%{opacity:1}56%,to{opacity:0}}.pc-typing__field{color:#0000;caret-color:#0000;opacity:0;cursor:text;background:0 0;border:0;width:100%;height:100%;padding:0;font-size:16px;position:absolute;inset:0}.pc-typing__field:focus{outline:none}.pc-typing__box:focus-within{box-shadow:3px 3px 0 var(--color-ink)}.pc-typing__result{border:2px solid var(--color-ink);background:var(--color-paper);border-radius:14px;flex-direction:column;align-items:center;gap:14px;width:min(100%,760px);padding:clamp(16px,3vw,26px);display:flex}.pc-typing__headline{flex-direction:column;align-items:center;gap:2px;display:flex}.pc-typing__headline strong{font-family:var(--font-ui);font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:var(--color-ink);font-size:clamp(56px,15vw,104px);font-weight:800;line-height:.95}.pc-typing__headline span{letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-soft);font-size:12px;font-weight:800}.pc-typing__stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;margin:0;display:grid}@media (width>=640px){.pc-typing__stats{grid-template-columns:repeat(3,minmax(0,1fr))}}.pc-typing__stats div{border:2px solid var(--color-ink);background:var(--color-surface);border-radius:12px;padding:8px 10px}.pc-typing__stats dt{letter-spacing:.1em;text-transform:uppercase;color:var(--color-ink-soft);font-size:11px;font-weight:700}.pc-typing__stats dd{font-family:var(--font-ui);font-variant-numeric:tabular-nums;color:var(--color-ink);margin:2px 0 0;font-size:24px;font-weight:800}.pc-typing__verdict{text-align:center;max-width:52ch;color:var(--color-ink-soft);margin:0;font-size:13px;font-weight:600;line-height:1.5}.pc-typing__note{text-align:center;max-width:52ch;color:var(--color-ink-soft);margin:0;font-size:12.5px;font-weight:600;line-height:1.5}.pc-stage.is-full .pc-typing__box,.pc-stage.is-full .pc-typing__result,.pc-stage.is-full .pc-typing__meter{width:min(100%,1000px)}.pc-stage.is-full .pc-typing__track{font-size:clamp(20px,3vmin,30px)}.pc-stage.is-full .pc-typing__viewport{--pc-typing-line:calc(clamp(20px, 3vmin, 30px) * 1.9)}@media (prefers-reduced-motion:reduce){.pc-typing__track{transition:none}.pc-typing__char.is-caret:before{animation:none}}
