.gjt-typing-app{--gjt-accent:#1769aa;--gjt-border:#dce3ea;max-width:900px;margin:24px auto;padding:22px;border:1px solid var(--gjt-border);border-radius:16px;background:#fff;color:#182230;font-family:inherit;box-sizing:border-box}.gjt-typing-app *{box-sizing:border-box}.gjt-typing-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.gjt-typing-head h2{font-size:clamp(24px,4vw,32px);line-height:1.2;margin:5px 0 8px}.gjt-typing-head p{margin:0;color:#5c6876}.gjt-typing-kicker{font-size:11px;font-weight:800;letter-spacing:1px;color:var(--gjt-accent)}.gjt-typing-live{white-space:nowrap;font-size:12px;color:#167447;background:#eaf8f0;padding:7px 10px;border-radius:30px}.gjt-typing-controls{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:18px 0}.gjt-typing-controls label{display:flex;flex-direction:column;gap:6px;flex:1;min-width:145px;font-size:13px;font-weight:700}.gjt-typing-app select,.gjt-typing-app textarea{width:100%;border:1px solid #cbd5df;border-radius:9px;padding:11px 12px;background:#fff;color:#17202a;font:inherit}.gjt-typing-app button{border:0;border-radius:9px;padding:12px 16px;font:inherit;font-size:14px;font-weight:750;cursor:pointer;background:var(--gjt-accent);color:white}.gjt-typing-app button.gjt-reset,.gjt-typing-app button.gjt-copy{background:#edf2f7;color:#243447}.gjt-typing-app button:disabled{opacity:.5;cursor:not-allowed}.gjt-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.gjt-stats>div{border:1px solid var(--gjt-border);border-radius:12px;padding:13px;background:#f8fafc;min-width:0}.gjt-stats span{display:block;color:#657181;font-size:12px;margin-bottom:6px}.gjt-stats strong{font-size:clamp(21px,3vw,28px);line-height:1.1;font-variant-numeric:tabular-nums}.gjt-passage-wrap{border:1px solid var(--gjt-border);border-radius:12px;overflow:hidden;margin:16px 0}.gjt-passage-label{background:#f1f5f9;padding:10px 13px;font-size:11px;letter-spacing:.8px;font-weight:800;color:#516070}.gjt-passage{padding:16px;min-height:150px;max-height:250px;overflow:auto;font-size:17px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;user-select:none}.gjt-passage .gjt-correct{background:#dcfce7;color:#166534}.gjt-passage .gjt-wrong{background:#fee2e2;color:#b91c1c;text-decoration:underline}.gjt-passage .gjt-current{border-left:2px solid var(--gjt-accent);margin-left:-2px}.gjt-input-label{display:block;font-size:14px;font-weight:750;margin:14px 0 8px}.gjt-typing-app .gjt-input{margin-top:8px;min-height:125px;resize:vertical;line-height:1.8;font-size:17px}.gjt-typing-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.gjt-status{font-size:13px;color:#566575}.gjt-result{margin-top:16px;border-radius:12px;background:#eff6ff;border:1px solid #bfdbfe;padding:16px;line-height:1.7}.gjt-typing-note{font-size:12px;color:#697586;line-height:1.6;margin:16px 0 0}.gjt-typing-app [hidden]{display:none!important}@media(max-width:560px){.gjt-typing-app{padding:14px;border-radius:12px}.gjt-typing-head{display:block}.gjt-typing-live{display:inline-block;margin-top:12px}.gjt-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.gjt-typing-controls button{flex:1}.gjt-passage{font-size:16px;padding:12px}.gjt-typing-foot{align-items:flex-start;flex-direction:column}}
