.tp-typing-surface{--tp-manuscript-margin:clamp(var(--tp-space-6), 3.5vw, var(--tp-space-10));--tp-manuscript-width:calc(var(--tp-width-practice) - var(--tp-space-20));background-color:var(--tp-color-surface);background-image:linear-gradient(90deg, color-mix(in srgb, var(--tp-color-surface-subtle) 14%, transparent), transparent 18%, transparent 82%, color-mix(in srgb, var(--tp-color-surface-subtle) 12%, transparent));border:1px solid var(--tp-color-border);border-radius:var(--tp-radius-card);box-shadow:var(--tp-shadow-card);animation:tp-paper-settle var(--tp-motion-slow) ease-out;max-width:var(--tp-width-practice);min-height:min(690px,100dvh - 150px);padding:var(--tp-space-6) clamp(var(--tp-space-6), 4vw, var(--tp-space-10)) clamp(var(--tp-space-16), 8vw, var(--tp-space-24)) calc(var(--tp-manuscript-margin) + clamp(var(--tp-space-4), 2.2vw, var(--tp-space-6)));margin-inline:auto;position:relative}.tp-typing-surface:before{background:color-mix(in srgb, var(--tp-color-brand) 22%, transparent);content:"";bottom:0;left:var(--tp-manuscript-margin);pointer-events:none;width:1px;position:absolute;top:0}.tp-typing-surface:after{content:none}.tp-session-hud{color:var(--tp-color-text-muted);font-family:var(--tp-font-mono);font-size:var(--tp-font-size-caption);align-items:center;gap:var(--tp-space-3);letter-spacing:.035em;margin:0 auto var(--tp-space-3);max-width:min(100%, var(--tp-manuscript-width));text-transform:uppercase;flex-wrap:wrap;padding-bottom:0;display:flex}.tp-session-hud__progress{color:var(--tp-color-text);font-family:var(--tp-font-mono);font-size:var(--tp-font-size-caption);font-variant-numeric:tabular-nums;gap:var(--tp-space-1) var(--tp-space-2);letter-spacing:.06em;grid-template-columns:auto auto;min-width:112px;margin-right:auto;display:grid}.tp-session-hud__progress-label{color:var(--tp-color-text-muted)}.tp-session-hud__progress-value{justify-self:end;font-weight:500}.tp-session-hud__progress-track{appearance:none;background:0 0;border:0;grid-column:1/-1;width:100%;height:2px}.tp-session-hud__progress-track::-webkit-progress-bar{background:color-mix(in srgb, var(--tp-color-border) 48%, transparent)}.tp-session-hud__progress-track::-webkit-progress-value{background:var(--tp-color-brand)}.tp-session-hud__progress-track::-moz-progress-bar{background:var(--tp-color-brand)}.tp-session-hud .tp-button--quiet{font-family:var(--tp-font-mono);font-size:var(--tp-font-size-caption);letter-spacing:.045em;min-height:40px;padding-inline:var(--tp-space-2);text-decoration:underline;-webkit-text-decoration-color:var(--tp-color-border);text-decoration-color:var(--tp-color-border);text-transform:uppercase;text-underline-offset:.35em;border:0;border-radius:0;font-weight:600}.tp-manuscript-heading{border-bottom:1px solid color-mix(in srgb, var(--tp-color-border) 44%, transparent);align-items:baseline;gap:var(--tp-space-4);margin:0 auto var(--tp-space-4);max-width:min(100%, var(--tp-manuscript-width));padding:0 0 var(--tp-space-4);grid-template-columns:minmax(0,1fr) minmax(0,auto);display:grid}.tp-manuscript-heading__edition,.tp-manuscript-heading__credit{color:var(--tp-color-text-muted);margin-inline:auto}.tp-manuscript-heading__edition{display:none}.tp-manuscript-heading h1{font-family:var(--tp-page-reading-font,var(--tp-font-reading-latin)), ui-serif, serif;font-size:var(--tp-font-size-title-small);letter-spacing:-.025em;font-weight:520;line-height:var(--tp-line-height-tight);overflow-wrap:anywhere;text-align:left;margin:0}.tp-manuscript-heading__credit{font-size:var(--tp-font-size-caption);line-height:var(--tp-line-height-ui);text-align:right;max-width:30ch;margin:0}.tp-grapheme-run{font-family:var(--tp-font-typing-latin,var(--tp-font-mono));font-size:clamp(var(--tp-font-size-practice-compact), 2.2vw, var(--tp-font-size-practice));font-kerning:none;font-variant-ligatures:none;letter-spacing:0;line-height:var(--tp-line-height-practice-latin);cursor:text;max-width:min(100%, var(--tp-manuscript-width));overflow-wrap:normal;min-height:5lh;padding:0 0 var(--tp-space-16);text-indent:1.35em;text-wrap:pretty;white-space:pre-wrap;margin:0 auto}.tp-grapheme-run:lang(en),.tp-grapheme-run:lang(es),.tp-grapheme-run:lang(id){font-size:clamp(var(--tp-font-size-practice-compact), 2vw, calc(var(--tp-font-size-practice) * .93))}.tp-grapheme-group{display:contents}.tp-grapheme-group--word{text-indent:0;vertical-align:baseline;white-space:pre-wrap;max-width:100%;display:inline-block}.tp-grapheme{text-indent:0;text-underline-offset:.2em;vertical-align:baseline;text-decoration-thickness:2px;display:inline-block;position:relative}.tp-grapheme__measure{white-space:pre;display:inline-block}.tp-grapheme__measure:before{content:attr(data-cell-text);visibility:hidden}.tp-grapheme__ink{text-align:center;inset-inline:0;white-space:pre;position:absolute;top:0}.tp-grapheme--composing[data-projection=insert]{z-index:1;inline-size:0;min-inline-size:0}.tp-grapheme--composing[data-projection=insert] .tp-grapheme__ink{background:var(--tp-color-surface);text-align:start;inline-size:max-content;padding-inline-end:.08em;inset-inline:0 auto}.tp-grapheme[data-projection=boundary-overflow]{max-inline-size:min(8em,50%)}.tp-grapheme[data-projection=boundary-overflow] .tp-grapheme__ink{text-align:start;text-overflow:ellipsis;inline-size:100%;inset-inline:0 auto;overflow:hidden}.tp-grapheme[data-state=pending]{color:var(--tp-color-typing-pending)}.tp-grapheme[data-state=correct]{color:var(--tp-color-typing-correct)}.tp-grapheme[data-state=current]{color:var(--tp-color-typing-pending)}.tp-caret{pointer-events:none;inset-inline-start:0;z-index:2;block-size:1.2em;inline-size:0;position:absolute;top:.12em}.tp-caret[data-edge=end]{inset-inline:auto 0}.tp-caret[data-measure]{inline-size:max-content;max-inline-size:100%;inset-inline:0 auto}.tp-caret[data-measure]:before{content:attr(data-measure);visibility:hidden;white-space:pre}.tp-caret:after{background:var(--tp-color-brand);content:"";inset-inline-start:100%;width:2px;height:100%;margin-inline-start:-1px;animation:.68s step-end infinite tp-caret-blink;position:absolute;top:0}.tp-typing-surface:not([data-capture-focus=focused]) .tp-caret:after,.tp-typing-surface:is([data-phase=paused],[data-phase=aborted],[data-phase=completed]) .tp-caret:after{opacity:0;animation:none}.tp-grapheme[data-state=skipped]{color:var(--tp-color-typing-error)}.tp-grapheme[data-state=skipped] .tp-grapheme__ink{text-decoration-line:underline;text-decoration-style:wavy}.tp-grapheme--error{color:var(--tp-color-typing-error)}.tp-grapheme--error .tp-grapheme__ink{text-decoration-line:underline;text-decoration-style:solid;text-decoration-thickness:1px}.tp-grapheme--composing{color:var(--tp-color-typing-composing)}.tp-grapheme--composing .tp-grapheme__ink{text-decoration-line:underline;text-decoration-style:solid}.tp-native-capture{caret-color:#0000;color:#0000;resize:none;background:0 0;border:0;width:1px;height:1px;padding:0;font-family:inherit;font-size:16px;position:absolute;top:0;left:0;overflow:hidden}.tp-native-capture:disabled{cursor:not-allowed}.tp-native-capture:focus{outline:0}.tp-refocus{color:var(--tp-color-text-muted);cursor:pointer;font-family:var(--tp-font-mono);font-size:var(--tp-font-size-caption);margin:var(--tp-space-6) auto 0;max-width:var(--tp-width-reading);text-decoration:underline;-webkit-text-decoration-color:var(--tp-color-border);text-decoration-color:var(--tp-color-border);text-underline-offset:.25em;background:0 0;border:0;align-items:center;width:100%;padding:0;display:flex}.tp-refocus:hover,.tp-refocus:focus-visible{color:var(--tp-color-brand)}.tp-refocus:focus-visible{outline:2px solid var(--tp-color-focus);outline-offset:var(--tp-space-2)}.tp-input-status{background:var(--tp-color-surface);border:1px solid var(--tp-color-border);border-radius:var(--tp-radius-control);bottom:max(var(--tp-space-4), env(safe-area-inset-bottom));box-shadow:var(--tp-shadow-card);color:var(--tp-color-text);font-size:var(--tp-font-size-body-small);line-height:var(--tp-line-height-ui);max-width:min(calc(100vw - var(--tp-space-8)), 460px);padding:var(--tp-space-3) var(--tp-space-4);pointer-events:none;text-align:center;width:max-content;z-index:var(--tp-z-toast);margin:0;position:fixed;left:50%;transform:translate(-50%)}.tp-input-status[data-notice=incorrect-input],.tp-input-status[data-notice=paste-blocked]{border-color:color-mix(in srgb, var(--tp-color-danger) 52%, var(--tp-color-border))}.tp-input-status--assistive{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;max-width:none;height:1px;margin:-1px;padding:0;position:absolute;bottom:auto;left:0;overflow:hidden;transform:none}.tp-input-status[data-notice=input-method-mismatch]{border-color:color-mix(in srgb, var(--tp-color-warning) 52%, var(--tp-color-border))}.tp-input-status:empty{display:none}.tp-pause-panel{background-color:var(--tp-color-surface);background-image:repeating-linear-gradient(0deg, transparent 0, transparent 4px, color-mix(in srgb, var(--tp-color-text) 2%, transparent) 5px);border:1px solid var(--tp-color-border);border-radius:var(--tp-radius-card);box-shadow:var(--tp-shadow-dialog);align-items:center;gap:var(--tp-space-3);inset:clamp(var(--tp-space-3), 4vw, var(--tp-space-8));padding:var(--tp-space-6);z-index:var(--tp-z-dialog);justify-content:center;display:flex;position:absolute}@keyframes tp-caret-blink{50%{opacity:0}}@keyframes tp-paper-settle{0%{opacity:0;transform:translateY(var(--tp-space-2))}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.tp-caret:after,.tp-typing-surface{animation:none}}@media (max-width:639px){.tp-typing-surface{--tp-manuscript-margin:var(--tp-space-4);--tp-manuscript-width:100%;box-shadow:none;min-height:calc(100dvh - 60px);padding:var(--tp-space-3) var(--tp-space-4) var(--tp-space-16) calc(var(--tp-manuscript-margin) + var(--tp-space-4));border-inline:0;border-radius:0}.tp-session-hud{gap:var(--tp-space-2);margin-bottom:var(--tp-space-2);padding-bottom:var(--tp-space-2)}.tp-session-hud__progress{flex:120px;min-width:112px}.tp-manuscript-heading{gap:var(--tp-space-2);margin-bottom:var(--tp-space-3);border-bottom:0;grid-template-columns:minmax(0,1fr) minmax(0,auto);padding:0}.tp-manuscript-heading__edition{display:none}.tp-manuscript-heading h1{font-size:var(--tp-font-size-body-large);text-align:left}.tp-manuscript-heading__credit{font-size:var(--tp-font-size-caption);line-height:var(--tp-line-height-tight);max-width:44vw}.tp-grapheme-run{font-size:var(--tp-font-size-practice-compact);line-height:var(--tp-line-height-practice-latin);min-height:5lh;padding-bottom:var(--tp-space-12);text-indent:.75em}}
