.training-hub,.training-session,.weak-key-trainer{min-width:0}.training-continue,.weak-key-callout,.weak-key-summary,.assessment-hub-card,.performance-hub-recommendation{justify-content:space-between;align-items:center;gap:var(--wf-space-6);display:flex}.training-continue>div,.weak-key-callout>div,.assessment-hub-card__copy,.performance-hub-recommendation>div{gap:var(--wf-space-2);max-width:66ch;display:grid}.performance-track-grid{gap:var(--wf-space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.performance-track-grid>article{justify-content:space-between;align-items:end;gap:var(--wf-space-5);display:flex}.performance-track-grid>article>div{gap:var(--wf-space-2);max-width:48ch;display:grid}.performance-code-card{grid-column:1/-1}.assessment-hub-card{border-color:var(--wf-brand)}.assessment-hub-card__attention{color:var(--wf-text-secondary)}.assessment-hub-card__actions{gap:var(--wf-space-2);flex-direction:column;min-width:min(100%,14rem);display:flex}.training-course-heading{align-items:end}.course-progress,.lesson-progress__bar{border:1px solid var(--wf-border-control);border-radius:var(--wf-radius-pill);background:var(--wf-surface-sunken);height:8px;overflow:hidden}.course-progress{margin-block:var(--wf-space-4) var(--wf-space-6)}.course-progress span,.lesson-progress__bar span{border-radius:inherit;background:var(--wf-brand);height:100%;transition:width var(--wf-duration-normal) var(--wf-ease-standard);display:block}.lesson-grid{gap:var(--wf-space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.lesson-card{gap:var(--wf-space-4);padding:var(--wf-space-5);grid-template-columns:auto 1fr;display:grid}.lesson-card__number{border:1px solid var(--wf-border-control);border-radius:var(--wf-radius-sm);background:var(--wf-surface-sunken);width:2.4rem;height:2.4rem;color:var(--wf-text-secondary);font-family:var(--wf-font-typing);place-items:center;font-size:.82rem;font-weight:750;display:grid}.lesson-card__body{align-content:start;gap:var(--wf-space-3);min-width:0;display:grid}.lesson-card__title{justify-content:space-between;align-items:start;gap:var(--wf-space-2);flex-wrap:wrap;display:flex}.lesson-card h3{font-size:1.08rem}.lesson-card p{color:var(--wf-text-secondary);font-size:.92rem}.lesson-card a{width:fit-content;margin-block-start:auto;font-weight:750}.training-status{min-height:28px;padding-inline:var(--wf-space-3);border:1px solid var(--wf-border-control);border-radius:var(--wf-radius-pill);background:var(--wf-surface-sunken);color:var(--wf-text-secondary);text-transform:capitalize;align-items:center;font-size:.75rem;font-weight:800;display:inline-flex}.training-status--completed:before,.training-status--mastered:before{content:"✓";margin-inline-end:var(--wf-space-1)}.training-status--completed{border-color:var(--wf-success);background:var(--wf-success-surface);color:var(--wf-success)}.training-status--mastered{border-color:var(--wf-brand);background:var(--wf-surface-brand);color:var(--wf-text-primary)}.training-status--in-progress{border-color:var(--wf-brand);color:var(--wf-text-primary)}.training-session{gap:var(--wf-space-5);padding:clamp(var(--wf-space-4), 3vw, var(--wf-space-8));display:grid;overflow:visible}.training-session__header,.training-session__stage-copy,.training-session__actions,.training-focus-hint,.lesson-progress__summary{justify-content:space-between;align-items:center;gap:var(--wf-space-3);flex-wrap:wrap;display:flex}.training-session__header>div,.training-session__stage-copy>div{gap:var(--wf-space-1);display:grid}.training-session__stage-copy>div span{color:var(--wf-text-secondary)}.lesson-progress{gap:var(--wf-space-3);display:grid}.lesson-progress__summary{color:var(--wf-text-secondary);font-size:.88rem}.lesson-progress__summary strong{color:var(--wf-text-primary)}.lesson-progress__stages{gap:var(--wf-space-2);grid-template-columns:repeat(3,1fr);display:grid}.lesson-progress__stages button{justify-content:center;align-items:center;gap:var(--wf-space-2);border:1px solid var(--wf-border-control);border-radius:var(--wf-radius-control);background:var(--wf-surface);min-height:44px;color:var(--wf-text-secondary);font-weight:750;display:inline-flex}.lesson-progress__stages button span{border-radius:var(--wf-radius-pill);border:1px solid;place-items:center;width:1.5rem;height:1.5rem;font-size:.72rem;display:grid}.lesson-progress__stages button[aria-pressed=true]{border-color:var(--wf-brand);background:var(--wf-surface-brand);color:var(--wf-text-primary);box-shadow:inset 0 -3px 0 var(--wf-brand)}.training-settings{position:relative}.training-settings>summary{min-height:44px;padding-inline:var(--wf-space-4);border:1px solid var(--wf-border-control);border-radius:var(--wf-radius-control);background:var(--wf-surface);cursor:pointer;color:var(--wf-text-primary);align-items:center;font-weight:750;list-style-position:inside;display:inline-flex}.training-settings__content{align-items:end;gap:var(--wf-space-4);padding:var(--wf-space-4);border:1px solid var(--wf-border-control);border-radius:var(--wf-radius-control);background:var(--wf-surface-raised);box-shadow:var(--wf-shadow-sm);flex-wrap:wrap;margin-block-start:var(--wf-space-3);display:flex}.training-prompt{align-items:center;gap:var(--wf-space-5);min-block-size:96px;padding:var(--wf-space-4) var(--wf-space-5);border-inline-start:4px solid var(--wf-brand);border-radius:0 var(--wf-radius-control) var(--wf-radius-control) 0;background:var(--wf-surface-brand);grid-template-columns:auto 1fr;display:grid}.training-prompt__character{border:2px solid var(--wf-brand);border-radius:var(--wf-radius-control);background:var(--wf-surface);block-size:3.75rem;inline-size:clamp(4.75rem,7vw,5.75rem);color:var(--wf-text-primary);font-family:var(--wf-font-typing);white-space:nowrap;place-items:center;font-size:clamp(1.7rem,1.35rem + 1.2vw,2.45rem);font-weight:750;line-height:1;display:grid;overflow:hidden}.training-prompt__character--word{font-size:clamp(1rem,.84rem + .65vw,1.45rem)}.training-prompt__copy{gap:var(--wf-space-1);align-content:center;min-width:0;display:grid}.training-prompt__sequence{color:var(--wf-text-primary);font-family:var(--wf-font-typing);text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;font-weight:700;overflow:hidden}.training-guidance__slot{min-width:0;display:grid}.training-guidance__slot>*{grid-area:1/1;min-width:0}.training-guidance__sizer{visibility:hidden;pointer-events:none;user-select:none}.training-guidance__sizer:before{content:attr(data-sizing-copy)}.training-guidance__finger-text{color:var(--wf-text-primary);margin:0;font-weight:750;line-height:1.45}.training-guidance__tip-text{color:var(--wf-text-secondary);font-size:.84rem;line-height:1.45}.training-guidance__tip-text--empty,.training-hand-panel__shift-copy--empty{visibility:hidden}.training-finger-copy--quiet{color:var(--wf-text-secondary)!important}.training-error-feedback{color:#0000;font-size:.8rem;font-weight:750;line-height:1.35}.training-error-feedback--visible{color:var(--wf-danger)}.training-metrics{border-block:1px solid var(--wf-border-subtle);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.training-metrics>div{justify-items:center;gap:var(--wf-space-1);min-width:0;padding:var(--wf-space-3);grid-template-rows:1rem 1.5rem;display:grid}.training-metrics>div+div{border-inline-start:1px solid var(--wf-border-subtle)}.training-metrics span{color:var(--wf-text-secondary);white-space:nowrap;font-size:.76rem;font-weight:750;line-height:1rem}.training-metrics strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1.18rem;line-height:1.5rem}.training-typing-area{min-width:0}.training-session .typing-surface{--wf-typing-font-size:clamp(1.35rem, 1.16rem + .75vw, 1.8rem);--wf-typing-untyped:var(--wf-text-secondary);height:clamp(9.5rem, calc(4.95em + var(--wf-space-6)), 11rem);padding-block:var(--wf-space-4)}.training-focus-hint{color:var(--wf-text-secondary);justify-content:flex-start;margin-block-start:var(--wf-space-3);font-size:.84rem}.training-focus-hint>span:last-child{margin-inline-start:auto}.training-guides{gap:var(--wf-space-4);grid-template-columns:minmax(0,2fr) minmax(15rem,1fr);align-items:stretch;display:grid}.training-keyboard,.training-hand-panel{border:1px solid var(--wf-border-control);border-radius:var(--wf-radius-card);background:var(--wf-surface-sunken);min-width:0}.training-keyboard{padding:clamp(var(--wf-space-2), 1.8cqi, var(--wf-space-4));transition:opacity var(--wf-duration-fast) var(--wf-ease-standard);container-type:inline-size}.training-keyboard--muted{opacity:.64}.training-keyboard__row{justify-content:center;gap:clamp(2px,.75cqi,7px);margin-block-end:clamp(2px,.75cqi,7px);display:flex}.training-keyboard__row:last-child{margin-block-end:0}.training-key{flex:var(--key-width) 1 0;border:1px solid var(--wf-border-control);border-block-end-color:var(--wf-border-strong);border-radius:clamp(4px, 1cqi, var(--wf-radius-sm));background:var(--wf-surface-raised);min-width:0;min-height:clamp(29px,6.1cqi,46px);color:var(--wf-text-primary);box-shadow:0 2px 0 var(--wf-border-subtle);font-family:var(--wf-font-typing);transition:transform var(--wf-duration-fast) var(--wf-ease-standard), border-color var(--wf-duration-fast) var(--wf-ease-standard), background-color var(--wf-duration-fast) var(--wf-ease-standard);place-items:center;font-size:clamp(.55rem,2.25cqi,.88rem);font-weight:750;display:grid;position:relative;overflow:hidden}.training-key--utility,.training-key--modifier{color:var(--wf-text-secondary);font-family:var(--wf-font-ui);font-size:clamp(.38rem,1.45cqi,.7rem)}.training-key--modifier{border-style:dashed}.training-key__shift{color:var(--wf-text-secondary);font-size:.62em;position:absolute;inset-block-start:3px;inset-inline-start:5px}.training-key__marker{border-radius:var(--wf-radius-pill);background:currentColor;width:34%;height:2px;position:absolute;inset-block-end:4px}.training-key__expected-mark,.training-key__error-mark{color:inherit;font-family:var(--wf-font-ui);text-transform:uppercase;font-size:clamp(.32rem,1cqi,.52rem);line-height:1;position:absolute;inset-block-start:2px;inset-inline-end:3px}.training-key__error-mark{font-size:.75rem;font-weight:900}.training-key--expected{z-index:2;border-color:var(--wf-brand);background:var(--wf-surface-brand);color:var(--wf-text-primary);box-shadow:0 3px 0 var(--wf-brand), inset 0 0 0 2px var(--wf-brand);transform:translateY(-2px)}.training-key--pressed{box-shadow:none;transform:translateY(2px)}.training-key--correct{border-color:var(--wf-success);background:var(--wf-success-surface);box-shadow:inset 0 0 0 2px var(--wf-success)}.training-key--correct:after{color:var(--wf-success);content:"✓";font-family:var(--wf-font-ui);font-size:.7rem;position:absolute;inset-block-end:1px;inset-inline-end:3px}.training-key--incorrect{border-color:var(--wf-danger);background:var(--wf-danger-surface);color:var(--wf-danger);box-shadow:inset 0 0 0 2px var(--wf-danger)}.training-hand-panel{align-content:center;gap:var(--wf-space-2);padding:var(--wf-space-3);display:grid}.hand-guide{width:100%;height:auto;max-height:150px}.hand-guide__palm,.hand-guide__finger rect{fill:var(--wf-surface-raised);stroke:var(--wf-border-strong);stroke-width:3px}.hand-guide__finger path,.hand-guide__home-line{fill:none;stroke:var(--wf-border-strong);stroke-linecap:round;stroke-width:3px}.hand-guide__finger{transform-box:fill-box;transform-origin:bottom;transition:transform var(--wf-duration-fast) var(--wf-ease-standard)}.hand-guide__finger--active{transform:scale(1.04)}.hand-guide__finger--active rect{fill:var(--wf-surface-brand);stroke:var(--wf-brand);stroke-width:6px}.hand-guide__finger--active path{stroke:var(--wf-brand);stroke-width:5px}.training-hand-panel p{justify-items:center;gap:var(--wf-space-1);color:var(--wf-text-secondary);text-align:center;display:grid}.training-hand-panel strong{color:var(--wf-text-primary)}.training-hand-panel__shift-slot{min-width:0;display:grid}.training-hand-panel__shift-slot>*{grid-area:1/1}.training-completion{gap:var(--wf-space-5);padding:var(--wf-space-5);border:1px solid var(--wf-success);border-radius:var(--wf-radius-card);background:var(--wf-success-surface);display:grid}.training-completion dl{gap:var(--wf-space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.training-completion dl>div{gap:var(--wf-space-1);display:grid}.training-completion dt{color:var(--wf-text-secondary);font-size:.78rem;font-weight:750}.training-completion dd{color:var(--wf-text-primary);font-size:1.25rem;font-weight:800}.weak-key-summary{align-items:start}.weak-key-summary__keys{color:var(--wf-brand);font-family:var(--wf-font-typing);font-size:clamp(1.5rem,1.2rem + 1vw,2.15rem);font-weight:800}.weak-key-summary ul{gap:var(--wf-space-2);padding:0;list-style:none;display:grid}.weak-key-summary li{align-items:center;gap:var(--wf-space-3);color:var(--wf-text-secondary);display:flex}.training-mobile-note{display:none}@container (width<=34rem){.training-key--utility .training-key__label,.training-key--modifier .training-key__label{font-size:0}.training-key--utility .training-key__label:first-letter,.training-key--modifier .training-key__label:first-letter{font-size:.56rem}}@media (width<=64rem){.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=52rem){.training-guides{grid-template-columns:1fr}.training-hand-panel{grid-template-columns:minmax(0,1fr) minmax(12rem,.55fr);align-items:center}}@media (width<=48rem){.training-mobile-note{display:block}.training-continue,.weak-key-callout,.weak-key-summary,.assessment-hub-card,.performance-hub-recommendation,.performance-track-grid>article{flex-direction:column;align-items:stretch}.performance-hub-recommendation .button,.performance-track-grid .button{width:100%}.performance-track-grid{grid-template-columns:1fr}.training-continue .button,.weak-key-callout .button,.assessment-hub-card .button{width:100%}.training-session__stage-copy,.training-settings__content{flex-direction:column;align-items:stretch}.training-metrics{grid-template-columns:repeat(2,1fr)}.training-metrics>div:nth-child(3){border-inline-start:0}.training-metrics>div:nth-child(n+3){border-block-start:1px solid var(--wf-border-subtle)}.training-hand-panel{grid-template-columns:1fr}}@media (width<=36rem){.lesson-grid{grid-template-columns:1fr}.training-session{gap:var(--wf-space-4);padding:var(--wf-space-4)}.training-prompt{gap:var(--wf-space-3);min-block-size:88px;padding:var(--wf-space-3);grid-template-columns:auto minmax(0,1fr)}.training-prompt__character{block-size:3.25rem;inline-size:4.75rem;font-size:1.5rem}.training-prompt__character--word{font-size:1rem}.training-session .typing-surface{--wf-typing-font-size:clamp(1.3rem, 5.6vw, 1.55rem);height:10rem;padding:var(--wf-space-3)}.lesson-progress__stages button{padding-inline:var(--wf-space-1);font-size:.78rem}.training-completion dl{grid-template-columns:repeat(2,1fr)}.training-focus-hint>span:last-child{width:100%;margin-inline-start:0}}@media (prefers-reduced-motion:reduce){.course-progress span,.lesson-progress__bar span,.training-keyboard,.training-key,.hand-guide__finger{transition:none}.training-key--expected,.hand-guide__finger--active{transform:none}}@media (prefers-contrast:more){.training-key,.training-keyboard,.training-hand-panel,.lesson-progress__stages button{border-width:2px}}@media (forced-colors:active){.training-key,.training-keyboard,.training-hand-panel,.lesson-progress__stages button,.training-prompt{border-color:canvastext}.training-key--expected,.hand-guide__finger--active rect{border-color:highlight;outline:3px solid highlight}.training-key--incorrect{border-color:mark;outline:3px double mark}}
