.tp-page .tp-settings{display:flex;align-items:end;flex-wrap:wrap;gap:18px}.tp-page .tp-settings label{min-width:180px;margin:0;flex:1}.tp-page .tp-settings button{min-height:48px}.tp-page .tp-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:26px;align-items:start}.tp-page .tp-layout>.nf-panel{margin:0}.tp-page #tpTarget{font:24px/1.9 system-ui;white-space:pre-wrap;unicode-bidi:plaintext;max-height:310px;overflow:auto;background:#17101f;border:1px solid #705580;border-radius:12px;padding:24px;overflow-wrap:anywhere}.tp-page #tpTarget span{border-radius:3px}.tp-page #tpTarget .tp-correct{color:#b0e8c3;background:#244b3533}.tp-page #tpTarget .tp-error{color:#ffd0d6;background:#6e3042;text-decoration:underline}.tp-page #tpTarget .tp-current{box-shadow:-2px 0 #d8b7f5}.tp-page #tpInput{min-height:190px;height:210px;font:22px/1.6 system-ui}.tp-page #tpCustom{min-height:160px;height:180px;font:16px/1.6 system-ui}.tp-page .tp-metric{border:1px solid #705580;border-radius:12px;padding:18px;margin:14px 0;background:#1a1224}.tp-page .tp-metric strong{display:block;font-size:38px;font-variant-numeric:tabular-nums;color:#ead4ff}.tp-page #tpStart{background:#caa5f0;color:#21132d;font-size:16px;min-width:150px}.tp-page #tpStart:hover:not(:disabled){background:#ead7ff}.tp-page .tp-review{margin-top:26px}.tp-page #tpMistakes{display:flex;flex-wrap:wrap;gap:12px;padding:0;list-style:none}.tp-page #tpMistakes li{border:1px solid #806089;border-radius:9px;padding:10px;background:#25182e;font:14px/1.6 ui-monospace,monospace}.tp-page .tp-key{font-size:13px;line-height:1.8}.tp-page .tp-key .tp-green{color:#b0e8c3}.tp-page .tp-key .tp-rose{color:#ffd0d6}.tp-page #tpProgress{width:100%;height:14px;accent-color:#caa5f0}.tp-page .tp-metrics{position:sticky;top:110px}@media(max-width:900px){.tp-page .tp-layout{grid-template-columns:minmax(0,1fr)}.tp-page .tp-metrics{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tp-page .tp-metrics h2,.tp-page .tp-metrics>p{grid-column:1/-1}.tp-page .tp-metric{margin:0;padding:12px}.tp-page .tp-metric strong{font-size:28px}.tp-page #tpTarget{font-size:20px;padding:18px}}@media(max-width:450px){.tp-page .tp-metric strong{font-size:24px}.tp-page .tp-metric{font-size:12px}}
.tp-page #tpTarget{position:relative}.tp-page #tpInput{unicode-bidi:plaintext}
