#tfLp .section-lead{margin-left:auto;margin-right:auto}#tfLp ol>li+li,#tfLp ul>li+li{margin-top:.8rem}#tfLp .tf-lp-steps{list-style:none;padding:0;counter-reset:lpstep}#tfLp .tf-lp-steps>li{position:relative;padding-left:2.9rem}#tfLp .tf-lp-steps>li+li{margin-top:1rem}#tfLp .tf-lp-steps>li:before{counter-increment:lpstep;content:counter(lpstep);position:absolute;left:0;top:0;width:1.9rem;height:1.9rem;border-radius:.65rem;display:grid;place-items:center;font-weight:700;font-size:.8rem;color:#fff;background:var(--color-primary-500, #0f7cff)}#tfLp .tf-lp-table tbody tr{transition:background .15s ease}#tfLp .tf-lp-table tbody tr:hover{background:var(--color-surface, #f3f7fd)}#tfLp .tf-lp-faq{border-top:1px solid var(--color-line, #dce5f2)}#tfLp .tf-lp-faq details{border-bottom:1px solid var(--color-line, #dce5f2)}#tfLp .tf-lp-faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 0;cursor:pointer}#tfLp .tf-lp-faq summary::-webkit-details-marker{display:none}#tfLp .tf-lp-faq-ic{flex:none;transition:transform .2s ease;color:var(--color-body, #667085)}#tfLp .tf-lp-faq details[open] .tf-lp-faq-ic{transform:rotate(45deg);color:var(--color-primary-500, #0f7cff)}#tfLp .tf-lp-faq details[open] summary{color:var(--color-primary-600, #0f7cff)}#tfLp .tf-lp-faq-a{margin:0;padding:0 0 1.1rem}@media(prefers-reduced-motion:reduce){#tfLp .tf-lp-faq-ic{transition:none}}.hidden{display:none!important}.tf-layout{display:grid;gap:2rem;align-items:start}.tf-widget{min-width:0;container-type:inline-size}@media(min-width:1024px){.tf-layout{grid-template-columns:minmax(0,1fr) 280px}}.tf-check{display:inline-flex;align-items:center;gap:.4rem;font-size:.8125rem;color:var(--color-body);cursor:pointer;user-select:none}.tf-check:hover{color:var(--color-ink)}.tf-check input{width:.9rem;height:.9rem;accent-color:var(--color-primary-500);cursor:pointer}.tf-dropdown{position:relative}.tf-language-select{width:100%;padding:.58rem 2rem .58rem .75rem;border-radius:.5rem;border:1px solid var(--color-line);background:var(--color-card);color:var(--color-ink);font-size:.8125rem;font-weight:600;cursor:pointer}.tf-language-select:focus{outline:2px solid var(--color-primary-500);outline-offset:1px}.tf-dropdown-trigger{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .75rem;border-radius:.5rem;font-size:.8125rem;font-weight:500;border:1px solid var(--color-line);background:var(--color-card);color:var(--color-ink);cursor:pointer;transition:border-color .15s ease}.tf-dropdown-trigger:hover{border-color:var(--color-primary-500)}.tf-dropdown-panel{position:absolute;top:calc(100% + .4rem);left:0;right:0;z-index:30;max-height:16rem;overflow-y:auto;border-radius:.75rem;border:1px solid var(--color-line);background:var(--color-card);box-shadow:0 8px 24px #0000001f;padding:.25rem 0}.settings-option{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;text-align:left;padding:.55rem .9rem;font-size:.8125rem;color:var(--color-ink);cursor:pointer;user-select:none;transition:background-color .1s ease;background:none;border:none;border-radius:.5rem}.settings-option:hover{background:var(--color-surface)}.settings-option.is-active{font-weight:600;color:var(--color-primary-600)}.settings-option .check{opacity:0;flex-shrink:0}.settings-option.is-active .check{opacity:1}.tf-segmented{display:flex;border-radius:.5rem;border:1px solid var(--color-line);overflow:hidden}.tf-segmented .seg-btn{padding:.5rem .75rem;font-size:.8125rem;font-weight:500;color:var(--color-body);background:var(--color-card);border:none;cursor:pointer;transition:color .15s ease}.tf-segmented .seg-btn+.seg-btn{border-left:1px solid var(--color-line)}.tf-segmented .seg-btn.is-active{background:var(--color-primary-50);color:var(--color-ink)}.tf-grid-btn{padding:.45rem .5rem;border-radius:.5rem;font-size:.8125rem;font-weight:500;border:1px solid var(--color-line);background:var(--color-card);color:var(--color-body);cursor:pointer;transition:all .12s ease;text-align:center}.tf-grid-btn:hover{border-color:var(--color-primary-500);color:var(--color-ink)}.tf-grid-btn.is-active{background:var(--color-ink);color:var(--color-bg);border-color:var(--color-ink)}.tf-opt-btn{display:block;width:100%;padding:.4rem .55rem;border:none;border-radius:.4rem;background:none;color:var(--color-body);font-size:.8125rem;font-weight:500;text-align:left;cursor:pointer;transition:background-color .12s ease,color .12s ease}.tf-opt-btn:hover{background:var(--color-surface);color:var(--color-ink)}.tf-opt-btn.is-active{background:var(--color-primary-50);color:var(--color-primary-700);font-weight:600}.tf-rail{border:1px solid var(--color-line);border-radius:.875rem;background:var(--color-card);overflow:hidden}.tf-rail-section{padding:.95rem 1rem}.tf-rail-section+.tf-rail-section{border-top:1px solid var(--color-line)}.tf-rail-label{margin-bottom:.5rem;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-body)}.tf-custom-control:not(.hidden){display:grid;grid-template-columns:1fr;gap:.35rem;margin-top:.7rem;color:var(--color-body);font-size:.75rem;font-weight:600}.tf-custom-control input{min-width:0;width:100%;padding:.55rem .65rem;border:1px solid var(--color-line);border-radius:.5rem;background:var(--color-card);color:var(--color-ink);font-weight:400}.tf-custom-control input:focus{outline:2px solid var(--color-primary-500);outline-offset:1px}.tf-custom-text{width:100%;resize:vertical;padding:.6rem .7rem;border:1px solid var(--color-line);border-radius:.5rem;background:var(--color-surface);color:var(--color-ink);font-size:.85rem;line-height:1.6}.tf-custom-text:focus{outline:2px solid var(--color-primary-500);outline-offset:1px}.tf-custom-panel{display:flex;flex-direction:column;padding:0 0 1.25rem}.tf-custom-fields{display:flex;flex-direction:column;gap:1rem;padding:1.25rem 1.5rem 0}.tf-custom-enable-row .tf-pace-enable-sub{max-width:22rem;line-height:1.4}.tf-apply-btn{padding:.5rem 1.1rem;border-radius:.5rem;border:1px solid var(--color-primary-600);background:var(--color-primary-600);color:#fff;font-size:.8125rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,transform .1s ease}.tf-apply-btn:hover{background:var(--color-primary-500);border-color:var(--color-primary-500)}.tf-apply-btn:active{transform:translateY(1px)}.tf-ctl-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .55rem;border-radius:.375rem;font-size:.75rem;font-weight:500;color:var(--color-body);background:none;border:none;cursor:pointer;transition:color .15s ease,background-color .15s ease}.tf-ctl-btn:hover{color:var(--color-ink);background:var(--color-surface)}.tf-ctl-sep{width:1px;height:.9rem;background:var(--color-line);flex:none}.tf-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:9999px;border:1px solid var(--color-line);background:var(--color-card);color:var(--color-body);cursor:pointer;transition:color .15s ease,border-color .15s ease}.tf-icon-btn:hover{color:var(--color-ink);border-color:var(--color-primary-500)}.tf-inline-pref-row{display:flex;align-items:center;justify-content:flex-start;margin-top:.65rem;min-height:1.25rem}.tf-accordion{border-bottom:1px solid var(--color-line)}.tf-accordion-summary{cursor:pointer;list-style:none;padding:1rem 1.5rem;font-weight:600;font-size:.875rem;color:var(--color-ink)}.tf-accordion-summary::-webkit-details-marker{display:none}.tf-accordion-body{padding:1.15rem 1.5rem 1.35rem}.tf-modal-sub{font-size:.8125rem;line-height:1.5;color:var(--color-body);margin:0 0 1rem}.tf-sound-panel{padding:0}.tf-sound-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.tf-sound-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:.9rem 1.5rem .35rem;padding:0;overflow:hidden;border:1px solid var(--color-line);border-radius:.55rem;background:transparent}.tf-sound-tab{min-height:2.3rem;border:0;border-radius:0;background:transparent;color:var(--color-body);font-size:.8rem;font-weight:800}.tf-sound-tab+.tf-sound-tab{border-inline-start:1px solid var(--color-line)}.tf-sound-tab:hover{color:var(--color-ink);background:color-mix(in srgb,var(--color-ink) 5%,transparent)}.tf-sound-tab.is-active{color:var(--color-ink);background:color-mix(in srgb,var(--color-primary-600) 22%,transparent)}.tf-sound-master{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--color-line)}.tf-sound-master-copy{display:flex;flex-direction:column;gap:.2rem;min-width:0}.tf-sound-master-title{color:var(--color-ink);font-size:.95rem;font-weight:800}.tf-sound-master-sub{color:var(--color-body);font-size:.78rem;line-height:1.45}.tf-sound-master-actions{display:flex;align-items:center;gap:.8rem;flex:none}.tf-sound-master-volume{display:flex;align-items:center;gap:.4rem;color:var(--color-body);font-size:.72rem;font-variant-numeric:tabular-nums}.tf-sound-master-volume input{width:6.5rem;accent-color:var(--color-primary-600)}@media(max-width:520px){.tf-sound-master{align-items:flex-start}.tf-sound-master-actions{flex-direction:column-reverse;align-items:flex-end}.tf-sound-master-volume input{width:5rem}}[data-sound-panel][hidden]{display:none}#tfSoundControls .tf-sound-choice-field{display:flex;flex-direction:column;align-items:stretch;gap:.45rem}#tfSoundControls .tf-sound-choice-field>select{display:none}.tf-sound-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.tf-sound-choice-grid .seg-btn{min-height:2.2rem;padding:.4rem .55rem;border:1px solid var(--color-line);border-radius:.55rem;background:transparent;color:var(--color-body);font-size:.76rem;font-weight:700;line-height:1.2}.tf-sound-choice-grid .seg-btn:hover:not(:disabled){color:var(--color-ink);border-color:color-mix(in srgb,var(--color-primary-600) 45%,var(--color-line))}.tf-sound-choice-grid .seg-btn.is-active{background:color-mix(in srgb,var(--color-primary-600) 20%,transparent);color:var(--color-ink)}.tf-sound-choice-grid .seg-btn:disabled{cursor:not-allowed;opacity:.72}@media(max-width:420px){.tf-sound-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}#miniWordsViewport{padding-inline:.35rem;font-size:var(--tf-word-size, 1.25rem);line-height:calc(1em + 1.05rem)}@media(min-width:640px){#miniWordsViewport{font-size:var(--tf-word-size, 1.5rem)}}#miniWords .tf-word{display:inline-block;margin-inline-end:.1rem;line-height:1.32;margin-block:var(--tf-word-gap, 4px);padding-inline:.18em;padding-block:.06em;white-space:nowrap;border-radius:.3rem;color:var(--color-body);transition:color .1s ease;letter-spacing:.5px}#miniWords.is-continuous .tf-word{margin-inline-end:0;padding-inline:0}#miniWords .tf-word.is-done-ok{color:var(--color-ink)}#miniWords .tf-word.is-done-err{color:var(--color-red, var(--red));text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.22em;text-decoration-color:color-mix(in srgb,var(--color-red, var(--red)) 45%,transparent)}#resultVerdict.is-win{color:var(--color-green, #16a34a)}#resultVerdict.is-lose{color:var(--color-red, var(--red))}#miniWords .tf-word.is-current{color:var(--color-ink);background:color-mix(in srgb,var(--color-primary-500) 12%,transparent);box-shadow:inset 0 -2px 0 0 var(--color-primary-500)}#miniInput{caret-color:transparent}#miniInput.is-ime{caret-color:auto}#miniWords .tf-word.is-composing{text-decoration:underline dotted;text-underline-offset:.22em;text-decoration-color:color-mix(in srgb,var(--color-primary-500) 55%,transparent)}.tf-caret-el{position:absolute;left:0;top:0;width:2px;border-radius:1px;background:var(--color-accent);pointer-events:none;z-index:1;transition:left .09s cubic-bezier(.4,0,.2,1);animation:tf-caret-blink 1.05s step-end infinite}.tf-caret-el.is-typing{animation:none}.tf-caret-el.is-hidden{display:none}@keyframes tf-caret-blink{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.tf-caret-el{animation:none;transition:none}}.tf-ghost-caret{position:absolute;left:0;top:0;width:3px;border-radius:2px;background:var(--color-purple, #a855f7);opacity:.7;pointer-events:none;z-index:2;box-shadow:0 0 6px color-mix(in srgb,var(--color-purple, #a855f7) 60%,transparent);transition:left .1s linear}.tf-ghost-caret.is-hidden{display:none}.tf-ghost-caret.is-ahead{background:var(--color-red, var(--red));box-shadow:0 0 6px color-mix(in srgb,var(--color-red, var(--red)) 60%,transparent)}.tf-switch{appearance:none;width:2.2rem;height:1.25rem;border-radius:1rem;background:var(--color-line);position:relative;cursor:pointer;transition:background-color .15s ease;flex:none}.tf-switch:after{content:"";position:absolute;top:2px;left:2px;width:1rem;height:1rem;border-radius:50%;background:#fff;transition:transform .15s ease}.tf-switch:checked{background:var(--color-primary-600)}.tf-switch:checked:after{transform:translate(.95rem)}.tf-pace-row{display:flex;align-items:center;gap:.75rem}.tf-pace-label{flex:1;font-size:.8125rem;color:var(--color-body)}.tf-pace-unit{font-size:.75rem;color:var(--color-body);width:2.5rem}.tf-stepper{display:inline-flex;align-items:center;border:1px solid var(--color-line);border-radius:.5rem;overflow:hidden}.tf-stepper button{width:2rem;height:2rem;background:var(--color-surface);color:var(--color-ink);border:none;cursor:pointer;font-size:1rem}.tf-stepper button:hover{background:var(--color-surface2, var(--color-line))}.tf-stepper input{width:3rem;height:2rem;text-align:center;border:none;border-inline:1px solid var(--color-line);background:var(--color-card);color:var(--color-ink);font-weight:700;font-variant-numeric:tabular-nums;-moz-appearance:textfield}.tf-stepper input::-webkit-outer-spin-button,.tf-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.tf-pace-preview{border:1px solid var(--color-line);border-radius:.65rem;padding:.7rem .8rem .8rem;background:var(--color-surface)}.tf-pace-preview-head{display:flex;align-items:center;justify-content:space-between;font-size:.65rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--color-body);margin-bottom:.55rem}#tfPacePreviewRange{color:var(--color-ink);font-variant-numeric:tabular-nums}.tf-pace-preview-track{position:relative;height:2.4rem;border-radius:.45rem;overflow:hidden;background:color-mix(in srgb,var(--color-ink) 7%,transparent)}.tf-pace-preview-fill{position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--color-primary-500) 18%,transparent),var(--color-primary-500));clip-path:polygon(0 100%,100% 15%,100% 100%);opacity:.9;transition:clip-path .2s ease}.tf-pace-preview-track.is-exp .tf-pace-preview-fill{clip-path:polygon(0 100%,55% 88%,80% 60%,100% 15%,100% 100%)}.tf-pace-preview-start,.tf-pace-preview-end{position:absolute;font-size:.7rem;font-weight:700;color:var(--color-ink)}.tf-pace-preview-start{left:.55rem;bottom:.3rem}.tf-pace-preview-end{right:.55rem;top:.3rem}.tf-pace-curve-label{font-size:.75rem;font-weight:600;letter-spacing:.02em;color:var(--color-body);margin-top:.1rem}.tf-pace-panel{display:flex;flex-direction:column;gap:0;padding:0 0 1.25rem}.tf-pace-enable-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--color-line);cursor:pointer}.tf-pace-enable-text{display:flex;flex-direction:column;gap:.15rem}.tf-pace-enable-title{font-size:.9rem;font-weight:600;color:var(--color-ink)}.tf-pace-enable-sub{font-size:.75rem;color:var(--color-body)}.tf-pace-fields{display:flex;flex-direction:column;gap:1rem;padding:1.25rem 1.5rem 0;transition:opacity .15s ease}.tf-pace-fields.is-off{opacity:.55}.tf-flow-panel{padding:0}.tf-flow-fields{display:flex;flex-direction:column;gap:1rem;padding:1.25rem 1.5rem;transition:opacity .15s ease}.tf-flow-fields.is-off{opacity:.78}.tf-flow-field{display:flex;flex-direction:column;gap:.45rem}.tf-flow-note{margin:0;color:var(--color-body);font-size:.72rem;line-height:1.45}.tf-flow-track-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.tf-flow-track-grid .seg-btn{min-height:2.2rem;border:1px solid var(--color-line);border-radius:.55rem;background:transparent;color:var(--color-body);font-size:.78rem;font-weight:700}.tf-flow-track-grid .seg-btn.is-active{background:color-mix(in srgb,var(--color-primary-600) 20%,transparent);color:var(--color-ink)}.tf-flow-track-grid .seg-btn:disabled{cursor:not-allowed;opacity:.72}.tf-flow-upload{display:flex;align-items:center;gap:.6rem;min-width:0;font-size:.75rem;color:var(--color-body)}.tf-flow-upload input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.tf-flow-upload-btn,.tf-flow-remove{flex:none;border:1px solid var(--color-line);border-radius:.5rem;background:var(--color-surface);color:var(--color-ink);cursor:pointer;font-weight:700;padding:.45rem .65rem}.tf-flow-upload-btn:hover,.tf-flow-remove:hover{background:var(--color-surface2, var(--color-line))}#tfFlowUploadName{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-flow-row{display:grid;grid-template-columns:minmax(7rem,1fr) minmax(9rem,12rem) 3rem;align-items:center;gap:.75rem}.tf-flow-row input[type=range]{width:100%;accent-color:var(--color-primary-600)}.tf-flow-preview{display:flex;align-items:end;justify-content:space-between;gap:1rem}.tf-flow-preview>div{flex:1;min-width:0}.tf-flow-choice-help,.tf-flow-preview-status{display:block;margin:.2rem 0 .55rem;color:var(--color-body);font-size:.7rem;line-height:1.4}.tf-flow-preview-actions{display:flex;flex:none!important;gap:.45rem}.tf-flow-preview-actions .tf-grid-btn{white-space:nowrap}.tf-flow-meter{height:.55rem;margin-top:.45rem;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--color-ink) 10%,transparent)}@media(max-width:560px){.tf-flow-preview{align-items:stretch;flex-direction:column}.tf-flow-preview-actions{width:100%}.tf-flow-preview-actions .tf-grid-btn{flex:1;white-space:normal}}.tf-flow-meter span{display:block;width:0%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-primary-500),var(--color-primary-600));transition:width .25s ease}.tf-flow-result{margin-top:.9rem;padding:.85rem;border:1px solid var(--color-line);border-radius:.7rem;background:var(--color-surface)}.tf-flow-result-title{margin:0 0 .55rem;font-size:.8rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--color-body)}.tf-flow-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .8rem}.tf-flow-result-grid span{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;color:var(--color-body)}.tf-flow-result-grid strong{display:block;margin-top:.1rem;color:var(--color-ink);font-variant-numeric:tabular-nums}.tf-error-opt{display:block;width:100%;text-align:left;padding:.7rem .85rem;border:1px solid transparent;border-radius:.6rem;background:none;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.tf-error-opt:hover{background:color-mix(in srgb,var(--color-ink) 5%,transparent)}.tf-error-opt.is-active{background:color-mix(in srgb,var(--color-primary-500) 12%,transparent);border-color:color-mix(in srgb,var(--color-primary-500) 55%,transparent)}.tf-error-opt-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.tf-error-opt-title{font-size:.875rem;font-weight:600;color:var(--color-ink)}.tf-error-opt.is-active .tf-error-opt-title{color:var(--color-primary-600, #a855f7)}.tf-error-opt-check{flex:none;opacity:0;color:var(--color-primary-600, #a855f7);transition:opacity .12s ease}.tf-error-opt.is-active .tf-error-opt-check{opacity:1}.tf-error-opt-desc{display:block;margin-top:.2rem;font-size:.75rem;line-height:1.45;color:var(--color-body)}.tf-adv-open{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .9rem;font-size:.85rem;font-weight:600;color:var(--color-ink);background:none;border:1px solid var(--color-line);border-radius:.6rem;cursor:pointer;transition:border-color .12s,background-color .12s}.tf-adv-open:hover{border-color:color-mix(in srgb,var(--color-primary-500) 60%,transparent);background:color-mix(in srgb,var(--color-primary-500) 8%,transparent)}.tf-adv-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:.6rem;margin-bottom:1.5rem}.tf-adv-tile{border:1px solid var(--color-line);border-radius:.6rem;padding:.6rem .7rem;background:var(--color-surface)}.tf-adv-tile-val{font-family:ui-monospace,monospace;font-size:1.35rem;font-weight:700;color:var(--color-primary-600, #a855f7);line-height:1.1}.tf-adv-tile-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-body);margin-top:.15rem}.tf-adv-tile-sub{font-size:.62rem;color:var(--color-body);opacity:.8;margin-top:.1rem}.tf-adv-section{margin-bottom:1.5rem}.tf-adv-section h3{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-body);margin:0 0 .7rem}.tf-adv-cmp{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.tf-adv-cmp-cell{border:1px solid var(--color-line);border-radius:.6rem;padding:.6rem .7rem;text-align:center}.tf-adv-cmp-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted)}.tf-adv-cmp-now{font-family:ui-monospace,monospace;font-size:1.3rem;font-weight:700;color:var(--color-ink);line-height:1.2}.tf-adv-cmp-d{font-size:.78rem;font-weight:600}.tf-adv-cmp-d.up{color:#22c55e}.tf-adv-cmp-d.down{color:#ef4444}.tf-adv-cmp-d.flat,.tf-adv-cmp-na{color:var(--color-muted)}.tf-adv-grid2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media(max-width:640px){.tf-adv-grid2{grid-template-columns:1fr}}.tf-adv-chart{width:100%;height:180px;display:block}.tf-adv-area{fill:color-mix(in srgb,var(--color-primary-500) 16%,transparent);stroke:none}.tf-adv-net{fill:none;stroke:var(--color-primary-500, #a855f7);stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.tf-adv-raw{fill:none;stroke:color-mix(in srgb,var(--color-ink) 42%,transparent);stroke-width:1.6;stroke-linejoin:round;vector-effect:non-scaling-stroke}.tf-adv-net.prev{stroke-width:1.8;stroke-dasharray:5 4;opacity:.5}.tf-adv-raw.prev{stroke-dasharray:4 4;opacity:.32}.tf-adv-grid{stroke:var(--color-line);stroke-width:1;vector-effect:non-scaling-stroke}.tf-adv-axis{fill:var(--color-body);font-size:9px}.tf-adv-errtick{stroke:var(--color-red, #ef4444);stroke-width:1.25;stroke-dasharray:3 3;opacity:.75;vector-effect:non-scaling-stroke}.tf-adv-error-band{fill:color-mix(in srgb,var(--color-red, #ef4444) 12%,transparent)}.tf-adv-errdot{fill:var(--color-red, #ef4444);stroke:var(--color-card, #111827);stroke-width:1.5;vector-effect:non-scaling-stroke}.tf-adv-error-count{fill:var(--color-red, #ef4444);font-size:8px;font-weight:800}.tf-adv-error-mark.prev{opacity:.28}.tf-adv-error-mark:not(.prev):hover{filter:brightness(1.18)}.tf-adv-legend{display:flex;gap:1rem;margin-top:.4rem;font-size:.7rem;color:var(--color-body)}.tf-adv-k:before{content:"";display:inline-block;width:12px;height:3px;border-radius:2px;margin-right:.3rem;vertical-align:middle}.tf-adv-k.net:before{background:var(--color-primary-500, #a855f7)}.tf-adv-k.raw:before{background:color-mix(in srgb,var(--color-ink) 42%,transparent)}.tf-adv-k.prev:before{width:14px;background:repeating-linear-gradient(90deg,var(--color-primary-500, #a855f7) 0 4px,transparent 4px 7px);opacity:.6}.tf-adv-k.err:before{background:var(--color-red, #ef4444);border-radius:1px;width:3px;height:9px}.tf-adv-finger{display:grid;grid-template-columns:84px 1fr 38px 42px;align-items:center;gap:.5rem;font-size:.78rem;color:var(--color-ink);margin-bottom:.45rem}.tf-adv-finger-name{color:var(--color-body)}.tf-adv-bar{height:.5rem;border-radius:1rem;background:color-mix(in srgb,var(--color-ink) 8%,transparent);overflow:hidden}.tf-adv-bar-fill{display:block;height:100%;border-radius:1rem}.tf-adv-bar-fill.good{background:var(--color-green, #16a34a)}.tf-adv-bar-fill.ok{background:#d4a017}.tf-adv-bar-fill.bad{background:var(--color-red, #ef4444)}.tf-adv-finger-pct{font-family:ui-monospace,monospace;text-align:right}.tf-adv-finger-n{font-size:.68rem;color:var(--color-body);text-align:right}.tf-adv-keys{display:flex;flex-direction:column;gap:.45rem}.tf-adv-key{display:grid;grid-template-columns:34px 46px 1fr;align-items:center;gap:.5rem;font-size:.78rem}.tf-adv-key kbd{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:.1rem .3rem;border:1px solid var(--color-line);border-bottom-width:2px;border-radius:.35rem;font-family:ui-monospace,monospace;color:var(--color-ink);background:var(--color-surface)}.tf-adv-key-acc{font-family:ui-monospace,monospace;color:var(--color-red, #ef4444)}.tf-adv-key-n{font-size:.68rem;color:var(--color-body)}.tf-adv-empty{font-size:.8rem;color:var(--color-body);padding:.5rem 0}.tf-adv-kb2{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;align-items:start}@media(max-width:640px){.tf-adv-kb2{grid-template-columns:1fr;gap:1.5rem}}.tf-adv-kb-cap{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--color-body);text-align:center;margin-bottom:.55rem}.tf-adv-kb-empty{display:flex;align-items:center;justify-content:center;min-height:7rem;text-align:center}.tf-adv-kb{display:flex;flex-direction:column;gap:.35rem;align-items:center}.tf-adv-kb-row{display:flex;gap:.3rem}.tf-adv-kb2 .tf-adv-kb-key{width:1.7rem;height:1.7rem;font-size:.72rem}.tf-adv-kb-key{width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.4rem;font-family:ui-monospace,monospace;font-size:.8rem;font-weight:600;text-transform:uppercase;color:var(--color-body);background:color-mix(in srgb,var(--color-ink) 7%,transparent);border:1px solid var(--color-line)}.tf-adv-kb-key.hit{color:#fff;background:var(--kbc);border-color:transparent}.tf-adv-note{font-size:.78rem;line-height:1.5;color:var(--color-body);background:color-mix(in srgb,var(--color-ink) 5%,transparent);border:1px solid var(--color-line);border-radius:.55rem;padding:.6rem .8rem;margin-top:1rem}.tf-adv-pb{background:color-mix(in srgb,var(--color-ink) 4%,transparent);border:1px solid var(--color-line);border-radius:.6rem;padding:.7rem .8rem}.tf-adv-pb-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem}.tf-adv-speed{display:inline-flex;border:1px solid var(--color-line);border-radius:999px;overflow:hidden}.tf-adv-speed button{background:transparent;border:0;color:var(--color-muted);font-size:.72rem;font-weight:700;padding:.18rem .5rem;cursor:pointer}.tf-adv-speed button.is-on{background:var(--color-primary-500);color:#fff}.tf-adv-pb-play{border:1px solid var(--color-primary-500);color:var(--color-primary-500);background:transparent;border-radius:999px;padding:.18rem .7rem;font-size:.76rem;font-weight:600;cursor:pointer}.tf-adv-pb-read{font-weight:700;color:var(--color-primary-500);font-variant-numeric:tabular-nums}.tf-adv-pb-read small{color:var(--color-muted);font-weight:500}.tf-adv-pb-spark{width:100%;height:30px;display:block;margin-bottom:.4rem}.tf-adv-pb-timeline{position:relative;height:6px;border-radius:999px;background:color-mix(in srgb,var(--color-ink) 10%,transparent);border:1px solid var(--color-line);margin-bottom:.6rem;cursor:pointer}.tf-adv-pb-fill{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:var(--color-primary-500);transition:width .13s linear}.tf-adv-pb-headdot{position:absolute;top:50%;width:11px;height:11px;margin-left:-5.5px;transform:translateY(-50%);border-radius:50%;background:var(--color-primary-500);box-shadow:0 0 0 2px var(--color-card, #0b141b);transition:left .13s linear}.tf-adv-pb-keys{position:relative;max-height:148px;overflow-y:auto}.tf-adv-pb-text{display:flex;flex-wrap:wrap;align-items:center;align-content:flex-start;row-gap:.3rem;font-family:ui-monospace,SF Mono,monospace;line-height:1.3}.tf-adv-pb-word{display:inline-flex;margin:0 .3rem .15rem 0;padding:1px 3px;border-radius:4px;cursor:default}.tf-adv-pb-text.is-continuous .tf-adv-pb-word{margin-inline-end:0;padding-inline:0}.tf-adv-pb-word.has-err{box-shadow:inset 0 -2px color-mix(in srgb,var(--color-red, #ef4444) 55%,transparent)}.tf-adv-pb-key{font-size:.95rem;transition:background-color .12s ease}.tf-adv-pb-key.is-ok{color:var(--color-ink);background:transparent}.tf-adv-pb-key.is-bad{color:var(--color-red, #ef4444);background:color-mix(in srgb,var(--color-red, #ef4444) 22%,transparent);border-radius:2px}.tf-adv-pb-key.is-dim{color:color-mix(in srgb,var(--color-muted, #94a3b8) 75%,transparent);background:transparent}.tf-adv-pb-key.is-skip{color:color-mix(in srgb,var(--color-muted, #94a3b8) 60%,transparent);background:transparent;border-bottom:1px dashed color-mix(in srgb,var(--color-red, #ef4444) 45%,transparent)}.tf-adv-pb-caret{position:absolute;top:0;left:0;width:2px;height:1.15em;border-radius:1px;background:var(--color-primary-500);pointer-events:none;transition:transform .09s linear;animation:tf-adv-caret 1s ease-in-out infinite}.tf-adv-pb-caretpos{display:inline-block;width:0}@keyframes tf-adv-caret{0%,to{opacity:1}50%{opacity:.2}}.tf-adv-pb-titlerow{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.tf-adv-pb-titlerow h3{margin:0}.tf-adv-pb-corr{font-size:.68rem;font-weight:600;color:var(--color-red, #ef4444);background:color-mix(in srgb,var(--color-red, #ef4444) 12%,transparent);border:1px solid color-mix(in srgb,var(--color-red, #ef4444) 40%,transparent);border-radius:999px;padding:.1rem .5rem;white-space:nowrap}#miniWords.tf-no-highlight .tf-word.is-current{background:none;box-shadow:none;padding-inline:0;margin-inline-start:0}#miniWords .tf-char.correct{color:var(--color-ink)}#miniWords .tf-char.wrong{color:var(--color-red, var(--red));background:color-mix(in srgb,var(--color-red, var(--red)) 14%,transparent);border-radius:.15rem}#miniWords .tf-char.extra{color:color-mix(in srgb,var(--color-red, var(--red)) 80%,transparent);opacity:.8}#miniWords .tf-char.composing{color:var(--color-ink);text-decoration:underline dotted;text-underline-offset:.2em}.tf-mistype-flash{position:absolute;z-index:3;pointer-events:none;font-weight:700;line-height:1;color:var(--color-red, var(--red));text-shadow:0 1px 8px color-mix(in srgb,var(--color-red, var(--red)) 45%,transparent);transform-origin:center bottom;animation:tf-mistype .45s cubic-bezier(.2,.6,.2,1) forwards}@keyframes tf-mistype{0%{opacity:0;transform:scale(1.8) translateY(0)}20%{opacity:1}to{opacity:0;transform:scale(.55) translateY(-16px)}}[data-typing-box-target].tf-hidden-input{opacity:0;height:0;padding:0;margin:0;border:none;overflow:hidden;position:absolute}#tfStatsBar.tf-stats-hidden{display:none}.tf-stat-hidden{display:none!important}.tf-setting-checks{display:grid;gap:.65rem;font-size:.8125rem;color:var(--color-ink)}.tf-setting-checks label{display:flex;align-items:center;gap:.45rem;cursor:pointer}.tf-setting-checks input{accent-color:var(--color-primary-500)}.tf-stats-grid,.tf-stats-grid>div{min-width:0}@container (max-width: 620px){.tf-toolbar{column-gap:.85rem!important;row-gap:.65rem!important}#tfFontSize{flex:0 0 auto;min-width:max-content;padding:.2rem .35rem;border:1px solid var(--color-line);border-radius:.5rem}.tf-stats-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem 0;overflow:visible}.tf-stats-grid>div{min-width:0!important;margin:0!important;padding:.15rem .7rem!important;text-align:start!important;border-inline-start:1px solid color-mix(in srgb,var(--color-line) 70%,transparent)!important}.tf-stats-grid>div:nth-child(3n+1){border-inline-start:0!important;padding-inline-start:0!important}.tf-stats-grid>div>div:first-child{overflow:hidden;font-size:.66rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}}@container (max-width: 350px){.tf-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tf-stats-grid>div:nth-child(3n+1){border-inline-start:1px solid color-mix(in srgb,var(--color-line) 70%,transparent)!important;padding-inline-start:.7rem!important}.tf-stats-grid>div:nth-child(odd){border-inline-start:0!important;padding-inline-start:0!important}}@media(max-width:520px){#tfErrorModal>.relative,#tfPaceModal>.relative,#tfCustomModal>.relative,#tfSoundModal>.relative,#tfAdvancedModal>.relative{width:calc(100% - 1rem)!important;max-width:none!important;max-height:calc(100dvh - 1rem)!important;margin:.5rem auto!important;border-radius:.85rem!important}#tfErrorModal>.relative>:first-child,#tfPaceModal>.relative>:first-child,#tfCustomModal>.relative>:first-child,#tfSoundModal>.relative>:first-child,#tfAdvancedModal>.relative>:first-child{padding:.85rem 1rem!important}.tf-accordion-body{padding:.9rem 1rem 1rem}.tf-modal-sub{margin-bottom:.75rem;font-size:.76rem}.tf-pace-enable-row{gap:.75rem;padding:.85rem 1rem}.tf-pace-enable-text{min-width:0}.tf-pace-fields,.tf-flow-fields,.tf-custom-fields{gap:.8rem;padding:1rem 1rem 0}.tf-flow-fields{padding-bottom:1rem}.tf-pace-row{gap:.45rem}.tf-pace-label{min-width:0}.tf-pace-unit{width:2.15rem;font-size:.68rem}.tf-sound-master{flex-direction:column;align-items:stretch;gap:.7rem;padding:.85rem 1rem}.tf-sound-master-actions{flex-direction:row;align-items:center;justify-content:space-between;width:100%}.tf-sound-master-volume{flex:1}.tf-sound-master-volume input{width:min(9rem,100%)}.tf-sound-tabs{margin:.75rem 1rem .25rem}.tf-flow-track-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tf-flow-upload{flex-wrap:wrap}#tfFlowUploadName{flex:1 1 8rem}.tf-segmented .seg-btn,.tf-sound-choice-grid .seg-btn,.tf-flow-track-grid .seg-btn{min-width:0;white-space:normal;overflow-wrap:anywhere}.tf-error-opt{padding:.65rem .7rem}#tfCustomModal .p-6{padding:1rem!important}.tf-rail-section{padding:.75rem}}.tf-result-enter{opacity:0;transform:translateY(6px);transition:opacity .25s ease,transform .25s ease}.tf-result-enter.is-visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.tf-result-enter,#miniProgressBar,#miniWords{transition:none!important}}.tf-rhy-sub{font-size:.72rem;color:var(--color-body);font-variant-numeric:tabular-nums}.tf-rhy-legend{display:flex;flex-wrap:wrap;gap:.3rem .9rem;margin-bottom:.7rem}.tf-rhy-key{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;color:var(--color-body)}.tf-rhy-key i{width:8px;height:8px;border-radius:2px;flex:none}.tf-rhy-key b{color:var(--color-ink);font-weight:700;font-variant-numeric:tabular-nums}.tf-rhy-list{list-style:none;margin:0 0 .7rem;padding:0;display:flex;flex-direction:column}.tf-rhy-list li{display:grid;grid-template-columns:minmax(0,1fr) auto 46px;align-items:center;gap:.6rem;padding:.42rem 0;border-top:1px solid var(--color-line);font-size:.78rem}.tf-rhy-list li:first-child{border-top:none}.tf-rhy-what{display:inline-flex;align-items:center;gap:.45rem;color:var(--color-ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-rhy-what i{width:7px;height:7px;border-radius:2px;flex:none}.tf-rhy-ms{font-variant-numeric:tabular-nums;font-weight:700;color:var(--color-ink);white-space:nowrap}.tf-rhy-ms small{font-weight:400;font-size:.82em;color:var(--color-body);margin-left:.1rem}.tf-rhy-x{font-variant-numeric:tabular-nums;font-size:.72rem;color:var(--color-body);text-align:right}.tf-rhy-help-link{display:inline-flex;align-items:center;gap:.35rem;margin-top:.5rem;font-size:.74rem;font-weight:600;color:var(--color-primary-500, #6366f1);text-decoration:none;padding:.18rem 0}.tf-rhy-help-link:hover{text-decoration:underline}.tf-rhy-help-link:focus-visible{outline:2px solid var(--color-primary-500, #6366f1);outline-offset:2px;border-radius:3px}.tf-rhy-help-link svg{opacity:.75;flex:none}.tf-adv-pb-timeline.has-rhythm{height:46px;border-radius:.5rem;background:color-mix(in srgb,var(--color-ink) 3%,transparent);overflow:hidden;margin-bottom:.55rem}.tf-adv-pb-timeline.has-rhythm .tf-adv-pb-rhy{position:absolute;inset:0;width:100%;height:100%;display:block;color:var(--color-ink)}.tf-adv-pb-timeline.has-rhythm .tf-adv-pb-fill{border-radius:0;background:color-mix(in srgb,var(--color-primary-500) 13%,transparent);pointer-events:none}.tf-adv-pb-timeline.has-rhythm .tf-adv-pb-headdot{top:0;bottom:0;width:2px;height:auto;margin-left:-1px;border-radius:0;transform:none;box-shadow:0 0 0 1px color-mix(in srgb,var(--color-card, #0b141b) 70%,transparent);pointer-events:none}.tf-adv-pb .tf-rhy-legend{margin-top:-.15rem;margin-bottom:.55rem}.tf-adv-flow-toggle{display:inline-flex;align-items:center;gap:.4rem;margin-inline-start:auto;color:var(--color-body);font-size:.75rem;font-weight:700;cursor:pointer;white-space:nowrap}.tf-adv-flow-toggle input{accent-color:var(--color-primary-600)}.tf-adv-flow-summary{display:grid;grid-template-columns:minmax(10rem,1.15fr) minmax(0,2fr);gap:1rem;align-items:center;margin-top:.85rem;padding:.8rem .9rem;border:1px solid var(--color-line);border-radius:.65rem;background:color-mix(in srgb,var(--color-primary-600) 5%,transparent)}.tf-adv-flow-title{display:flex;flex-direction:column;gap:.15rem;color:var(--color-ink);font-size:.78rem;font-weight:800}.tf-adv-flow-title small{color:var(--color-body);font-size:.68rem;font-weight:500}.tf-adv-flow-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.tf-adv-flow-metrics div{display:flex;flex-direction:column;gap:.1rem}.tf-adv-flow-metrics span{color:var(--color-body);font-size:.64rem;font-weight:700;text-transform:uppercase}.tf-adv-flow-metrics strong{color:var(--color-ink);font-size:.9rem}@media(max-width:560px){.tf-adv-flow-summary{grid-template-columns:1fr}.tf-adv-flow-toggle{width:100%;margin-inline-start:0}}.tf-rhy-list li[data-seek]{cursor:pointer;padding-inline:.4rem;margin-inline:-.4rem;border-radius:.35rem;transition:background .12s ease}.tf-rhy-list li[data-seek]:hover{background:color-mix(in srgb,var(--color-ink) 6%,transparent)}.tf-rhy-list li[data-seek]:focus-visible{outline:2px solid var(--color-primary-500, #6366f1);outline-offset:-2px;background:color-mix(in srgb,var(--color-ink) 6%,transparent)}.tf-rhy-list li[data-seek] .tf-rhy-what:after{content:"\25b8";margin-left:.4rem;opacity:0;color:var(--color-primary-500, #6366f1);transition:opacity .12s ease}.tf-rhy-list li[data-seek]:hover .tf-rhy-what:after,.tf-rhy-list li[data-seek]:focus-visible .tf-rhy-what:after{opacity:1}@media(prefers-reduced-motion:reduce){.tf-rhy-list li[data-seek],.tf-rhy-list li[data-seek] .tf-rhy-what:after{transition:none}}.tf-adv-pb-play.is-playing{background:color-mix(in srgb,var(--color-primary-500) 16%,transparent);border-color:color-mix(in srgb,var(--color-primary-500) 45%,transparent)}.tf-adv-pb-timeline.has-rhythm .tf-adv-pb-rhy rect{cursor:help}.tf-rhy-key.is-steady i{width:3px;height:11px;border-radius:1px;background:color-mix(in srgb,var(--color-ink) 40%,transparent)}@keyframes tf-shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.tf-shake{animation:tf-shake .22s ease-in-out}@media(prefers-reduced-motion:reduce){.tf-shake{animation:none}}
