.ty-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;margin-bottom:18px;display:flex}.ty-langs{gap:8px;display:flex}.ty-lang input{opacity:0;pointer-events:none;position:absolute}.ty-lang span{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;padding:7px 14px;font-size:.9rem;display:inline-block}.ty-lang input:checked+span{background:var(--accent);border-color:var(--accent);color:#fff}@media (prefers-color-scheme:dark){.ty-lang input:checked+span{color:#15161d}}.ty-lang input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.ty-stats{color:var(--muted);gap:18px;font-size:.9rem;display:flex}.ty-stat strong{color:var(--ink);font-variant-numeric:tabular-nums}.ty-levels{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-bottom:22px;display:grid}.ty-level{appearance:none;font:inherit;text-align:left;background:var(--surface);border:1px solid var(--line);cursor:pointer;color:var(--ink);border-radius:8px;flex-direction:column;gap:1px;padding:8px 10px;display:flex}.ty-level:hover:not(:disabled){border-color:var(--accent)}.ty-level:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ty-level.is-active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.ty-level.is-locked{opacity:.45;cursor:not-allowed}.ty-level-num{color:var(--muted);font-size:.72rem;font-weight:600}.ty-level-name{font-size:.88rem;font-weight:600}.ty-level-detail{font-family:var(--font-display);color:var(--muted);font-size:.85rem}.ty-level-best{color:var(--gold);font-size:.75rem;font-weight:600}.ty-stage{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:22px;padding:24px 28px}.ty-level-title{font-family:var(--font-display);color:var(--muted);margin:0 0 14px;font-size:1.15rem;font-weight:500}.ty-prompt{font-family:var(--font-display);word-spacing:.15em;overflow-wrap:anywhere;margin:0;font-size:1.9rem;line-height:2}.ty-prompt span.is-done{color:var(--muted);opacity:.55}.ty-prompt span.is-current{background:var(--accent-soft);color:var(--accent);box-shadow:0 2px 0 var(--accent);border-radius:4px}.ty-prompt.is-shake{animation:.18s linear ty-shake}@keyframes ty-shake{25%{transform:translate(3px)}75%{transform:translate(-3px)}}@media (prefers-reduced-motion:reduce){.ty-prompt.is-shake{animation:none}}.ty-result{border-top:1px solid var(--line);text-align:center;margin-top:18px;padding-top:16px}.ty-result-headline{font-family:var(--font-display);margin:0 0 4px;font-size:1.25rem;font-weight:500}.ty-result-detail{color:var(--muted);font-variant-numeric:tabular-nums;margin:0 0 14px}.ty-result-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.ty-btn{appearance:none;font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:6px;padding:8px 16px}.ty-btn:hover{border-color:var(--accent);color:var(--accent)}.ty-btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.ty-btn--primary:hover{color:#fff;filter:brightness(1.08)}@media (prefers-color-scheme:dark){.ty-btn--primary,.ty-btn--primary:hover{color:#15161d}}.ty-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ty-keyboard{-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:6px;display:flex}.ty-krow{gap:6px;display:flex}.ty-key{background:var(--surface);border:1px solid var(--line);border-radius:7px;flex-direction:column;justify-content:center;align-items:center;width:clamp(34px,7vw,52px);height:clamp(38px,7vw,52px);line-height:1.1;display:flex}.ty-key-he{font-family:var(--font-display);font-size:1.05rem;font-weight:500}.ty-key-la{color:var(--muted);text-transform:uppercase;font-size:.6rem}.ty-key--space{width:clamp(180px,40vw,320px);color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}.ty-key.is-next{background:var(--accent);border-color:var(--accent)}.ty-key.is-next .ty-key-he,.ty-key.is-next .ty-key-la,.ty-key.is-next{color:#fff}@media (prefers-color-scheme:dark){.ty-key.is-next .ty-key-he,.ty-key.is-next .ty-key-la,.ty-key.is-next{color:#15161d}}.ty-hint{text-align:center;color:var(--muted);margin:18px 0 0;font-size:.85rem}.ty-key{transition:transform .12s var(--ease-out), background-color .15s var(--ease-out), border-color .15s var(--ease-out), box-shadow .15s var(--ease-out);box-shadow:0 2px 0 var(--line)}.ty-key.is-pressed{box-shadow:none;transform:translateY(2px)scale(.96)}@media (prefers-reduced-motion:no-preference){.ty-key.is-next{animation:1.4s ease-in-out infinite key-beckon}@keyframes key-beckon{0%,to{box-shadow:0 2px 0 var(--accent), 0 0 0 0 var(--accent-soft)}50%{box-shadow:0 2px 0 var(--accent), 0 0 0 7px transparent}}.ty-result:not([hidden]){animation:fx-rise .45s var(--ease-out) backwards}.ty-stage,.ty-levels,.ty-keyboard{animation:fx-rise .6s var(--ease-out) backwards}.ty-levels{animation-delay:80ms}.ty-stage{animation-delay:.16s}.ty-keyboard{animation-delay:.26s}}.ty-stage{box-shadow:var(--shadow-soft)}.ty-level{transition:transform .18s var(--ease-out), border-color .18s var(--ease-out), box-shadow .2s var(--ease-out)}.ty-level:hover:not(:disabled){box-shadow:var(--shadow-soft);transform:translateY(-2px)}.ty-btn{transition:transform .15s var(--ease-out), border-color .15s var(--ease-out), color .15s var(--ease-out), filter .15s var(--ease-out)}.ty-btn:hover{transform:translateY(-1px)}.ty-btn:active{transform:scale(.97)}
