.win-tabs{align-items:flex-end;gap:2px;margin-bottom:16px;padding:4px 0 6px;display:flex;position:relative}.win-tabs:after{content:"";background:var(--retro-white);height:2px;position:absolute;bottom:6px;left:0;right:0}.win-tab{background:var(--retro-gray);border:2px solid;border-color:var(--retro-white) var(--retro-dark-gray) transparent var(--retro-white);border-radius:3px 3px 0 0;padding:5px 14px 4px;font-family:VT323,monospace;font-size:1.2rem;text-decoration:none;position:relative}.win-tabs .win-tab,.win-tabs .win-tab:visited,.win-tabs .win-tab:hover{color:var(--retro-black)}.win-tab:not([aria-current=page]):hover{background:#a0a0a0}.win-tab:focus-visible{outline:1px dotted var(--retro-black);outline-offset:-4px}.win-tab[aria-current=page]{z-index:1;cursor:default;margin-bottom:-2px;padding:8px 16px 6px}@media (width<=420px){.win-tab{padding:5px 8px 4px}.win-tab[aria-current=page]{padding:8px 10px 6px}}.typing-window{margin-bottom:20px}.typing-content{background:var(--retro-gray);color:var(--retro-black);padding:16px}.typing-game{flex-direction:column;gap:16px;max-width:760px;margin:0 auto;display:flex}.typing-book-picker{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;display:flex}.typing-book-label{color:var(--retro-black);font-family:"Press Start 2P",monospace;font-size:.7rem}.typing-book-combo{background:var(--retro-white);border:2px inset var(--retro-dark-gray);max-width:100%;display:inline-grid;position:relative}.typing-book-combo.is-open{z-index:20}.typing-book-face{text-align:left;color:var(--retro-black);padding:6px 26px 6px 6px;font-family:"Press Start 2P",monospace;font-size:.6rem;line-height:1.4}.typing-book-select{appearance:none;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;grid-area:1/1;min-width:0;max-width:100%;overflow:hidden}.typing-book-sizer{visibility:hidden;pointer-events:none;grid-area:1/1;height:0;display:grid;overflow:hidden}.typing-book-sizer>.typing-book-face{white-space:nowrap;grid-area:1/1}.typing-book-select:focus{box-shadow:none}.typing-book-select:focus-visible{outline:1px dotted var(--retro-black);outline-offset:-4px}.typing-book-combo:before{content:"";background:var(--retro-gray);border:2px outset var(--retro-white);pointer-events:none;width:18px;position:absolute;top:0;bottom:0;right:0}.typing-book-combo:after{content:"";border-left:4px solid #0000;border-right:4px solid #0000;border-top:4px solid var(--retro-black);pointer-events:none;margin-top:-2px;position:absolute;top:50%;right:5px}.typing-book-listbox{background:var(--retro-white);border:1px solid var(--retro-black);max-height:40vh;margin:-2px 0 0;padding:0;list-style:none;position:absolute;top:100%;left:-2px;right:-2px;overflow-y:auto}.typing-book-option{white-space:normal;cursor:pointer;padding-right:6px}.typing-book-option[data-active=true]{background:var(--retro-navy);color:var(--retro-white)}.typing-stats{background:var(--retro-gray);border:3px outset var(--retro-white);flex-wrap:wrap;align-items:stretch;gap:8px;padding:10px;display:flex}.typing-stat{background:var(--retro-black);border:2px inset var(--retro-dark-gray);flex-direction:column;justify-content:center;align-items:center;min-width:64px;padding:4px 10px;display:flex}.typing-stat-value{color:var(--retro-green);font-family:VT323,monospace;font-size:1.8rem;line-height:1}.typing-stat-label{color:var(--retro-cyan);text-transform:uppercase;font-family:VT323,monospace;font-size:.85rem}.typing-progress{flex-direction:column;flex:160px;justify-content:center;gap:4px;display:flex}.typing-progress .typing-stat-label{color:var(--retro-black)}.typing-progress-footer{--sync-cell-h:36px;min-height:var(--sync-cell-h);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.typing-progress-track{background:var(--retro-black);border:2px inset var(--retro-dark-gray);height:16px}.typing-progress-fill{background:var(--retro-green);height:100%;transition:width .2s}.typing-passage-wrap{position:relative}.typing-passage{background:var(--retro-white);border:3px inset var(--retro-gray);cursor:text;padding:20px;position:relative}.typing-scroll-viewport{scrollbar-width:thin;scrollbar-color:transparent transparent;height:14.45rem;overflow:hidden auto}.typing-scroll-viewport::-webkit-scrollbar{width:14px}.typing-scroll-viewport::-webkit-scrollbar-track{background:0 0;border:0}.typing-scroll-viewport::-webkit-scrollbar-thumb{background:0 0;border:0}.typing-scroll-viewport--browsing{scrollbar-color:var(--retro-navy) var(--retro-gray)}.typing-scroll-viewport--browsing::-webkit-scrollbar-track{background:var(--retro-gray);border-left:2px solid var(--retro-dark-gray)}.typing-scroll-viewport--browsing::-webkit-scrollbar-thumb{background:var(--retro-navy);border:2px outset var(--retro-white)}.typing-scroll-inner{position:relative}.typing-text{color:var(--retro-dark-gray);white-space:pre-wrap;word-break:break-word;letter-spacing:.5px;margin:0;font-family:VT323,monospace;font-size:1.7rem;line-height:1.7}.typing-text--done{color:var(--retro-black)}.typing-text--pending{color:#7a7a7a}.typing-char{border-radius:2px}.typing-char--pending{color:#7a7a7a}.typing-char--correct{color:var(--retro-black)}.typing-char--incorrect{color:var(--retro-white);background:var(--retro-red)}.typing-char--current{color:var(--retro-black);background:var(--retro-yellow);animation:1s step-end infinite typing-caret}.typing-char--newline{opacity:.55}@keyframes typing-caret{0%,50%{box-shadow:inset 2px 0 0 var(--retro-black)}50.01%,to{box-shadow:none}}.typing-input{opacity:0;border:0;width:1px;height:1px;margin:0;padding:0;position:absolute;top:0;left:0}.typing-browse-bar{background:var(--retro-navy);border:2px outset var(--retro-white);z-index:2;align-items:center;gap:6px;padding:3px 5px;display:flex;position:absolute;bottom:6px;right:6px}.typing-browse-label{color:var(--retro-yellow);font-family:VT323,monospace;font-size:.8rem}.typing-browse-bar .retro-btn{padding:2px 6px;font-size:.75rem}.typing-hint{color:var(--retro-black);text-align:center;margin:0;font-family:VT323,monospace;font-size:1rem}.typing-finished{background:var(--retro-navy);border:3px outset var(--retro-white);text-align:center;padding:30px 20px}.typing-finished-title{color:var(--retro-yellow);margin:0 0 10px;font-family:"Press Start 2P",monospace;font-size:1rem}.typing-finished-hint{color:var(--retro-white);margin:0;font-family:VT323,monospace;font-size:1.2rem}.typing-controls{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.typing-message{color:var(--retro-navy);text-align:center;margin:0;font-family:VT323,monospace;font-size:1.1rem}@media (width<=600px){.typing-text{font-size:1.4rem}.typing-scroll-viewport{height:11.9rem}.typing-stat-value{font-size:1.4rem}}.typing-stats-page{flex-direction:column;gap:16px;max-width:760px;margin:0 auto;display:flex}.typing-stats-page--keys{max-width:none}.typing-chart-panel{background:var(--retro-black);border:2px inset var(--retro-dark-gray);padding:10px 12px}.typing-chart-title{color:var(--retro-cyan);text-transform:uppercase;margin:0 0 6px;font-family:VT323,monospace;font-size:1rem;font-weight:400}.typing-chart-grid{stroke:var(--retro-dark-gray);stroke-width:1px;stroke-dasharray:2 3}.typing-chart-axis{stroke:var(--retro-dark-gray);stroke-width:1px}.typing-chart-tick{fill:var(--retro-gray);font-family:VT323,monospace;font-size:12px}.typing-chart-label{fill:var(--retro-white);font-family:VT323,monospace;font-size:13px}.typing-chart-line--wpm{stroke:var(--retro-green)}.typing-chart-line--accuracy{stroke:var(--retro-cyan)}circle.typing-chart-line--wpm{fill:var(--retro-green);stroke:none}circle.typing-chart-line--accuracy{fill:var(--retro-cyan);stroke:none}.typing-chart-line--time{stroke:var(--retro-magenta)}circle.typing-chart-line--time{fill:var(--retro-magenta);stroke:none}.typing-chart-tick--right{fill:var(--retro-magenta)}@keyframes typing-chart-grid-pulse{0%,to{opacity:.35}50%{opacity:1}}.typing-chart-panel--loading .typing-chart-grid{animation:1.4s ease-in-out infinite typing-chart-grid-pulse}@keyframes typing-chart-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.typing-chart-line--draw{stroke-dasharray:1;stroke-dashoffset:1px;animation:.8s ease-out forwards typing-chart-draw}@keyframes typing-chart-marker-in{0%{opacity:0}to{opacity:1}}.typing-chart-markers--in circle,.typing-chart-markers--in text{opacity:0;animation:.3s ease-out .6s forwards typing-chart-marker-in}@media (prefers-reduced-motion:reduce){.typing-chart-panel--loading .typing-chart-grid,.typing-chart-line--draw,.typing-chart-markers--in circle,.typing-chart-markers--in text{animation:none}.typing-chart-line--draw{stroke-dasharray:none;stroke-dashoffset:0}.typing-chart-markers--in circle,.typing-chart-markers--in text{opacity:1}}.typing-chart-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.typing-toggle-group{display:flex}.typing-toggle{color:var(--retro-black);background:var(--retro-gray);border:3px outset var(--retro-white);cursor:pointer;padding:4px 12px;font-family:VT323,monospace;font-size:1.1rem}.typing-toggle[aria-pressed=true]{background:#a0a0a0;border-style:inset}.typing-legend{gap:8px;display:flex}.typing-legend-item{color:var(--retro-black);background:var(--retro-gray);border:3px outset var(--retro-white);cursor:pointer;align-items:center;gap:6px;padding:4px 10px;font-family:VT323,monospace;font-size:1.1rem;display:inline-flex}.typing-legend-item[aria-pressed=false]{opacity:.5;border-style:inset}.typing-legend-swatch{border:1px solid var(--retro-black);width:14px;height:14px}.typing-legend-item--wpm .typing-legend-swatch{background:var(--retro-green)}.typing-legend-item--accuracy .typing-legend-swatch{background:var(--retro-cyan)}.typing-legend-item--time .typing-legend-swatch{background:var(--retro-magenta)}.typing-legend-item--trend .typing-legend-swatch{background:var(--retro-yellow)}.typing-chart-line--keywpm{stroke:var(--retro-yellow)}circle.typing-chart-line--keywpm{fill:var(--retro-yellow);stroke:none}.typing-chart-line--trend{stroke:var(--retro-cyan);stroke-width:1.5px;stroke-dasharray:6 4}.typing-chart-line--trend-wpm{stroke:var(--retro-yellow)}.typing-stats-page .typing-toggle-group{flex-wrap:wrap}.typing-key-spotlights{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.typing-key-spotlight{background:var(--retro-black);border:2px inset var(--retro-dark-gray);text-align:center;border-top-style:solid;border-top-width:3px;flex-direction:column;align-items:center;gap:4px;padding:8px 6px;display:flex}.typing-key-spotlight--slow{border-top-color:var(--retro-red)}.typing-key-spotlight--fast{border-top-color:var(--retro-green)}.typing-key-spotlight--bottleneck{border-top-color:var(--retro-magenta)}.typing-key-spotlight-label{color:var(--retro-gray);text-transform:uppercase;font-family:VT323,monospace;font-size:.95rem}.typing-key-spotlight-glyph{color:var(--retro-white);font-family:VT323,monospace;font-size:1.8rem;line-height:1}.typing-key-spotlight-value{color:var(--retro-yellow);font-family:VT323,monospace;font-size:1.1rem}.typing-key-table{background:var(--retro-black);border:2px inset var(--retro-dark-gray);flex-direction:column;display:flex}.typing-key-row{width:100%;color:var(--retro-white);border:none;border-bottom:1px solid var(--retro-dark-gray);text-align:left;cursor:pointer;background:0 0;grid-template-columns:5.5rem 1fr 4.5rem 4.5rem 4.5rem;align-items:center;gap:8px;padding:5px 10px;font-family:VT323,monospace;font-size:1.1rem;display:grid}.typing-key-row--head{color:var(--retro-cyan);text-transform:uppercase;overflow-wrap:anywhere;cursor:default;top:var(--safe-top);z-index:1;background:var(--retro-black);align-items:end;font-size:.95rem;line-height:1.1;position:sticky}.typing-key-row:not(.typing-key-row--head):hover{background:#ffffff0f}.typing-key-row--selected{background:#ffff001f}.typing-key-head-short{display:none}.typing-key-glyph{color:var(--retro-yellow);white-space:pre}.typing-key-num{text-align:right}.typing-key-bar-cell{align-items:center;gap:8px;min-width:0;display:flex}.typing-key-diverge-track{background:var(--retro-dark-gray);border:1px solid var(--retro-black);isolation:isolate;flex:auto;min-width:60px;height:12px;position:relative;overflow:hidden}.typing-key-diverge-center{background:var(--retro-white);z-index:2;width:1px;margin-left:-.5px;position:absolute;top:0;bottom:0;left:50%}.typing-key-diverge-fill{z-index:1;position:absolute;top:0;bottom:0}.typing-key-diverge-fill--slow{background:var(--retro-red)}.typing-key-diverge-fill--fast{background:var(--retro-green)}.typing-key-lost{text-align:right;min-width:0;position:relative}.typing-key-lost-fill{background:var(--retro-magenta);height:3px;position:absolute;bottom:0;left:0}.typing-key-bar-value{text-align:right;width:5rem;color:var(--retro-white);flex:none;font-size:1rem}.typing-key-avg-note{color:var(--retro-black);justify-content:center;align-items:center;gap:5px;margin:0;font-family:VT323,monospace;font-size:1rem;display:flex}.typing-key-avg-note strong{color:var(--retro-navy)}.typing-key-avg-note--formula{text-align:center;flex-wrap:wrap;gap:0 4px}.typing-key-avg-swatch{border:1px solid var(--retro-black);width:12px;height:12px;display:inline-block}.typing-key-avg-swatch--slow{background:var(--retro-red)}.typing-key-avg-swatch--fast{background:var(--retro-green)}.typing-key-table--untrusted{opacity:.55}.typing-key-untrusted-heading{text-transform:uppercase;color:var(--retro-gray);border-bottom:1px solid var(--retro-dark-gray);background:#ffffff0a;grid-column:1/-1;margin:0;padding:6px 10px;font-family:VT323,monospace;font-size:.95rem}.typing-key-row--untrusted .typing-key-glyph{color:var(--retro-gray)}.typing-key-detail{min-height:60px}.typing-key-detail-title{color:var(--retro-black);text-align:center;margin:0 0 8px;font-family:VT323,monospace;font-size:1.1rem}.typing-trend-note{text-align:center;color:var(--retro-black);margin:0 0 6px;font-family:VT323,monospace;font-size:1rem}.typing-trend-swatch{vertical-align:middle;background:var(--retro-black);border-top:2px dashed var(--retro-cyan);width:16px;height:9px;display:inline-block}.typing-trend-swatch--wpm{border-top-color:var(--retro-yellow)}.typing-trend-note--up{color:#006000}.typing-trend-note--down{color:maroon}.typing-key-layout{grid-template-columns:minmax(0,440px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.typing-key-layout-list{flex-direction:column;gap:16px;min-width:0;display:flex}.typing-key-layout .typing-key-detail{top:calc(8px + var(--safe-top));position:sticky}.typing-key-layout .typing-key-row{grid-template-columns:4.25rem 1fr repeat(3,4.25rem);gap:6px}.typing-key-layout .typing-key-row--head{font-size:.85rem}.typing-key-layout .typing-key-bar-value,.typing-key-layout .typing-key-lost{font-size:.95rem}.typing-key-layout .typing-key-bar-value{width:4.25rem}.typing-key-layout .typing-key-diverge-track{min-width:40px}@media (width<=800px){.typing-key-layout{grid-template-columns:1fr}.typing-key-layout .typing-key-detail{z-index:3;background:var(--retro-gray);order:-1;padding-bottom:6px;top:0}.typing-key-layout .typing-key-detail svg{max-height:30vh}.typing-key-row--head{position:static}}@media (width<=600px){.typing-key-spotlights{grid-template-columns:1fr}.typing-key-row,.typing-key-layout .typing-key-row{grid-template-columns:3.5rem 1fr 3.25rem 2.5rem 2.5rem;gap:4px;font-size:1rem}.typing-key-row--head,.typing-key-layout .typing-key-row--head{font-size:.7rem}.typing-key-head-full{display:none}.typing-key-head-short{display:inline}.typing-key-glyph{font-size:.95rem}.typing-key-diverge-track,.typing-key-layout .typing-key-diverge-track{display:none}.typing-key-bar-value,.typing-key-layout .typing-key-bar-value{flex:auto;width:auto;font-size:1rem}.typing-key-wpm-unit{display:none}.typing-key-layout .typing-key-lost{font-size:.85rem}}@keyframes typing-skel-pulse{0%,to{opacity:.35}50%{opacity:1}}@keyframes typing-skel-in{0%{opacity:0}to{opacity:1}}.typing-skeleton{pointer-events:none;animation:.2s ease-out both typing-skel-in}.typing-skel{width:var(--skel-w,100%);height:var(--skel-h,1rem);background:var(--retro-dark-gray);animation:1.4s ease-in-out infinite typing-skel-pulse;display:block}.typing-skel--on-dark{background:#454545}.typing-skel--on-paper{background:#d5d5d5}.typing-skel--end{margin-left:auto}.typing-skel-hidden-text{visibility:hidden}.typing-skeleton .retro-btn,.typing-skeleton .typing-toggle,.typing-skeleton .typing-legend-item{align-items:center;display:inline-flex}.typing-skeleton .retro-btn{height:calc(1.4em + 26px)}.typing-skeleton .typing-toggle,.typing-skeleton .typing-legend-item{height:calc(1.4em + 14px)}.typing-skeleton .typing-sync-link{height:calc(1.4em + 16px)}.typing-skeleton .typing-hint,.typing-skeleton .typing-message,.typing-skeleton .typing-key-avg-note{min-height:1.4em}.typing-skeleton .typing-key-row{min-height:calc(1.4em + 11px)}.typing-skeleton .typing-key-row--head{min-height:calc(2.2em + 11px)}.typing-skeleton .typing-key-row--head .typing-skel{--skel-h:.95rem}.typing-skeleton .typing-stat{justify-content:space-evenly;height:calc(2.99rem + 12px)}.typing-skeleton .typing-key-spotlight{justify-content:space-evenly;height:calc(4.67rem + 29px)}.typing-skel-line{align-items:center;height:2.89rem;display:flex}.typing-skel-chart{aspect-ratio:600/240;flex-direction:column;justify-content:space-around;display:flex}@media (width<=600px){.typing-skel-line{height:2.38rem}.typing-skeleton .typing-key-row--head{min-height:calc(1.1em + 11px)}.typing-skeleton .typing-key-row--head .typing-skel{--skel-h:.7rem}}@media (width<=375px){.typing-skeleton .typing-key-avg-note{min-height:2.8em}}@media (width<=520px){.typing-skeleton .typing-hint{min-height:2.8em}}@media (prefers-reduced-motion:reduce){.typing-skel{animation:none}.typing-skeleton{opacity:1;animation:none}}.typing-modal-backdrop{z-index:10000;background:#000020b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.typing-modal{background:var(--retro-gray);border:3px outset var(--retro-white);width:100%;max-width:620px;color:var(--retro-black)}.typing-modal:focus{outline:none}.typing-modal-body{padding:16px}.typing-modal-text{margin-bottom:16px;font-family:VT323,monospace;font-size:1.15rem}.typing-conflict-sides{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}@media (width<=520px){.typing-conflict-sides{grid-template-columns:minmax(0,1fr)}}.typing-conflict-side{background:var(--retro-white);border:2px inset var(--retro-dark-gray);cursor:pointer;padding:10px;display:block}.typing-conflict-side.is-selected{border:2px solid var(--retro-navy);background:#f0f0ff}.typing-conflict-side-head{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.typing-conflict-side-name{font-family:"Press Start 2P",monospace;font-size:.6rem}.typing-conflict-badge{background:var(--retro-navy);color:var(--retro-white);padding:1px 6px;font-family:VT323,monospace;font-size:.95rem}.typing-conflict-facts{font-family:VT323,monospace;font-size:1.05rem}.typing-conflict-facts>div{justify-content:space-between;gap:10px;display:flex}.typing-conflict-facts dt{color:var(--retro-dark-gray)}.typing-conflict-facts dd{text-align:right}.typing-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}
