.handwriting-speed-test{width:100%;display:flex;flex-direction:column;gap:var(--space-4);color:var(--scribe-text-primary)}.hst-main-panel{background:var(--scribe-bg-secondary);border:1px solid var(--scribe-border);border-radius:var(--radius-xl);overflow:hidden}.hst-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);background:var(--scribe-bg-tertiary);border-bottom:1px solid var(--scribe-border)}.hst-header-left{display:flex;align-items:center;gap:var(--space-4)}.hst-header-right{display:flex;align-items:center;gap:var(--space-2)}.hst-timer{display:flex;align-items:center;gap:var(--space-2);font-size:1.75rem;font-weight:var(--font-bold);font-family:var(--scribe-font-mono);color:var(--scribe-text-primary)}.hst-word-count{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--scribe-bg-secondary);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--scribe-text-muted)}.hst-word-count strong{color:var(--brand-color);font-family:var(--scribe-font-mono)}.hst-header-btn{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;background:var(--scribe-bg-secondary);border:1px solid var(--scribe-border);border-radius:var(--radius-md);color:var(--scribe-text-muted);font-size:var(--text-sm);cursor:pointer;transition:all var(--scribe-transition)}.hst-header-btn:hover{background:var(--scribe-bg-hover);color:var(--scribe-text-primary)}.hst-header-btn.active{background:rgba(var(--brand-color-rgb),.15);border-color:var(--brand-color);color:var(--brand-color)}.hst-content{padding:var(--space-6);min-height:16rem}.hst-passage{font-size:var(--text-lg);line-height:1.8;color:var(--scribe-text-secondary);text-align:justify}.hst-instruction{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);margin-bottom:var(--space-4);background:rgba(var(--brand-color-rgb),.1);border:1px solid rgba(var(--brand-color-rgb),.2);border-radius:var(--radius-lg);color:var(--brand-color);font-size:var(--text-sm)}.hst-instruction i{font-size:var(--text-base)}.hst-countdown{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:12rem;gap:var(--space-4)}.hst-countdown-number{font-size:5rem;font-weight:var(--font-bold);font-family:var(--scribe-font-mono);color:var(--brand-color);animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.hst-countdown-text{font-size:var(--text-base);color:var(--scribe-text-muted)}.hst-actions{display:flex;justify-content:center;gap:var(--space-4);padding:var(--space-6);border-top:1px solid var(--scribe-border);margin-top:auto;flex-shrink:0}.hst-action-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-6);background:var(--scribe-bg-tertiary);border:1px solid var(--scribe-border);border-radius:var(--radius-lg);color:var(--scribe-text-secondary);font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;transition:all var(--scribe-transition)}.hst-action-btn:hover{background:var(--scribe-bg-hover);color:var(--scribe-text-primary)}.hst-action-btn.primary{background:var(--brand-color);border-color:var(--brand-color);color:#fff}.hst-action-btn.primary:hover{filter:brightness(1.1)}.hst-action-btn.success{background:var(--color-success);border-color:var(--color-success);color:#fff}.hst-action-btn.large{padding:var(--space-4) 2rem;font-size:var(--text-lg)}.hst-results{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-6)}.hst-results-header{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xl);font-weight:var(--font-semibold)}.hst-results-header i{color:var(--brand-color)}.hst-results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:var(--space-4)}.hst-result-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-4);background:var(--scribe-bg-tertiary);border-radius:var(--radius-lg)}.hst-result-value{font-size:var(--text-4xl);font-weight:var(--font-bold);font-family:var(--scribe-font-mono);color:var(--brand-color)}.hst-result-label{font-size:var(--text-xs);color:var(--scribe-text-muted);text-transform:uppercase}.hst-history{background:var(--scribe-bg-secondary);border:1px solid var(--scribe-border);border-radius:var(--radius-xl);overflow:hidden}.hst-history-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-4);background:var(--scribe-bg-tertiary);cursor:pointer}.hst-history-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-semibold)}.hst-history-title i{color:var(--brand-color)}.hst-history-toggle i{transition:transform var(--scribe-transition);color:var(--scribe-text-muted);font-size:var(--text-xs)}.hst-history.expanded .hst-history-toggle i{transform:rotate(180deg)}.hst-history-content{display:none;padding:var(--space-4)}.hst-history.expanded .hst-history-content{display:block}.hst-history-stats{display:flex;gap:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--scribe-bg-primary);border-radius:var(--radius-md);margin-bottom:var(--space-2)}.hst-history-stat{display:flex;flex-direction:column;align-items:center;flex:1}.hst-history-stat-value{font-size:var(--text-xl);font-weight:var(--font-bold);font-family:var(--scribe-font-mono);color:var(--brand-color)}.hst-history-stat-label{font-size:var(--text-xs);color:var(--scribe-text-muted);text-transform:uppercase}.hst-history-list{display:flex;flex-direction:column;gap:var(--space-2)}.hst-history-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-4);background:var(--scribe-bg-tertiary);border-radius:var(--radius-md)}.hst-history-item-wpm{font-size:var(--text-lg);font-weight:var(--font-bold);font-family:var(--scribe-font-mono);color:var(--brand-color)}.hst-history-item-date{font-size:var(--text-xs);color:var(--scribe-text-muted)}.hst-history-empty{text-align:center;padding:var(--space-6);color:var(--scribe-text-muted)}.hst-history-clear{display:flex;justify-content:flex-end;margin-top:var(--space-2)}.hst-history-clear-btn{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:transparent;border:1px solid var(--scribe-border);border-radius:var(--radius-md);color:var(--scribe-text-muted);font-size:var(--text-xs);cursor:pointer}.hst-history-clear-btn:hover{color:#ef4444;border-color:#ef4444}.hst-settings{background:var(--scribe-bg-secondary);border:1px solid var(--scribe-border);border-radius:var(--radius-xl);padding:var(--space-4);margin-top:var(--space-2)}.hst-settings-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.hst-settings-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-semibold)}.hst-settings-title i{color:var(--brand-color)}.hst-settings-close{width:1.5rem;height:1.5rem;background:var(--scribe-bg-tertiary);border:1px solid var(--scribe-border);border-radius:var(--radius-md);color:var(--scribe-text-muted);cursor:pointer}.hst-settings-group{margin-bottom:var(--space-4)}.hst-settings-label{display:block;font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--scribe-text-muted);margin-bottom:var(--space-1)}.hst-settings-btn{padding:var(--space-1) var(--space-2);background:var(--scribe-bg-tertiary);border:1px solid var(--scribe-border);border-radius:var(--radius-md);color:var(--scribe-text-secondary);font-size:var(--text-xs);cursor:pointer}.hst-settings-btn:hover{background:var(--scribe-bg-hover)}.hst-settings-btn.active{background:rgba(var(--brand-color-rgb),.15);border-color:var(--brand-color);color:var(--brand-color)}@media(max-width:48rem){.hst-header{flex-direction:column;gap:var(--space-2)}.hst-timer{font-size:var(--text-2xl)}.hst-passage{font-size:var(--text-base)}}.handwriting-speed-test{box-sizing:border-box}.handwriting-speed-test *,.handwriting-speed-test *:before,.handwriting-speed-test *:after{box-sizing:border-box}.handwriting-speed-test *:before,.handwriting-speed-test *:after{box-sizing:border-box}.hst-stats-bar{display:flex;align-items:center;justify-content:center;gap:var(--space-6);padding:.5rem var(--space-4);background:var(--scribe-bg-secondary);border:1px solid var(--scribe-border);border-radius:var(--radius-xl)}.hst-stats-bar-item{display:flex;align-items:center;gap:var(--space-2)}.hst-stats-bar-value{font-size:var(--text-lg);font-weight:var(--font-bold);font-family:var(--scribe-font-mono);color:var(--brand-color)}.hst-stats-bar-label{font-size:var(--text-xs);color:var(--scribe-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.hst-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,22rem);gap:var(--space-4);align-items:start;width:100%;max-width:100%}.hst-column-left{display:flex;flex-direction:column;gap:0;background:var(--scribe-bg-secondary);border:1px solid var(--scribe-border);border-radius:var(--radius-xl);overflow:visible;min-width:0;max-width:100%}.hst-column-right{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;max-width:100%}.hst-column-right>*{max-width:100%}@media(max-width:64rem){.hst-layout{grid-template-columns:1fr}.hst-column-left{min-height:0}}.hst-toolbar{display:flex;align-items:center;justify-content:space-between;padding:.375rem .75rem;background:var(--scribe-bg-tertiary);border-bottom:1px solid var(--scribe-border);border-radius:var(--radius-xl) var(--radius-xl) 0 0;flex-wrap:wrap;gap:var(--space-2)}.hst-toolbar-group{display:flex;align-items:center;gap:var(--space-2)}.hst-toolbar-label{font-size:var(--text-xs);color:var(--scribe-text-muted);margin-inline-end:.25rem}.hst-difficulty-buttons{display:flex;gap:.25rem;flex-wrap:wrap}.hst-difficulty-btn{padding:.25rem .625rem;font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--scribe-text-secondary);background:var(--scribe-bg-secondary);border:1px solid var(--scribe-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--scribe-transition)}.hst-difficulty-btn:hover:not(:disabled){background:var(--scribe-bg-hover);color:var(--scribe-text-primary)}.hst-difficulty-btn:disabled{opacity:.5;cursor:not-allowed}.hst-difficulty-btn.active{background:rgba(var(--brand-color-rgb),.15);border-color:var(--brand-color);color:var(--brand-color)}.hst-toolbar-btn{display:flex;align-items:center;gap:var(--space-2);padding:.25rem .625rem;background:var(--scribe-bg-secondary);border:1px solid var(--scribe-border);border-radius:var(--radius-md);color:var(--scribe-text-muted);font-size:var(--text-xs);cursor:pointer;transition:all var(--scribe-transition)}.hst-toolbar-btn:hover{background:var(--scribe-bg-hover);color:var(--scribe-text-primary)}.hst-toolbar-btn-text{font-size:var(--text-xs);font-weight:var(--font-medium)}@media(max-width:37.5rem){.hst-toolbar-btn-text{display:none}}.hst-test-container{position:relative;display:flex;flex-direction:column;flex:1;min-height:0}.hst-panel{background:var(--scribe-bg-secondary);border:1px solid var(--scribe-border);border-radius:var(--radius-xl);overflow:hidden}.hst-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.375rem .75rem;background:var(--scribe-bg-tertiary);border:none;width:100%;cursor:pointer;user-select:none;transition:background var(--scribe-transition)}.hst-panel-header:hover{background:var(--scribe-bg-hover)}.hst-panel-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--scribe-text-primary);margin:0}.hst-panel-title i{color:var(--brand-color);font-size:var(--text-xs)}.hst-panel-badge{margin-inline-start:.25rem;padding:.0625rem .375rem;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--brand-color);background:rgba(var(--brand-color-rgb),.15);border-radius:9999px}.hst-panel-toggle{color:var(--scribe-text-secondary);font-size:var(--text-xs);transition:transform var(--scribe-transition)}.hst-panel-toggle.expanded{transform:rotate(180deg)}.hst-panel-content{padding:var(--space-2) var(--space-3);border-top:1px solid var(--scribe-border)}.hst-panel-content.collapsed{display:none}.hst-empty-state{padding:var(--space-2);text-align:center;color:var(--scribe-text-muted);font-size:var(--text-xs)}.hst-options-group{display:flex;flex-direction:column;gap:var(--space-2);padding-bottom:.5rem;border-bottom:1px solid var(--scribe-border)}.hst-options-group:last-child{border-bottom:none;padding-bottom:0}.hst-options-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--scribe-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.hst-options-label i{font-size:var(--text-xs);color:var(--brand-color)}.hst-options-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:.25rem}.hst-options-btn{padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--scribe-text-secondary);background:var(--scribe-bg-tertiary);border:1px solid var(--scribe-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.hst-options-btn:hover{background:rgba(var(--brand-color-rgb),.1);border-color:rgba(var(--brand-color-rgb),.3)}.hst-options-btn.active{background:rgba(var(--brand-color-rgb),.15);border-color:var(--brand-color);color:var(--brand-color)}.hst-options-toggles{display:grid;grid-template-columns:repeat(2,1fr);gap:.25rem}.hst-options-toggle{display:flex;align-items:center;justify-content:center;gap:.25rem;padding:var(--space-1) var(--space-2);background:var(--scribe-bg-tertiary);border:1px solid var(--scribe-border);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--scribe-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.hst-options-toggle:hover{background:rgba(var(--brand-color-rgb),.1);border-color:rgba(var(--brand-color-rgb),.3)}.hst-options-toggle.active{background:rgba(var(--brand-color-rgb),.15);border-color:var(--brand-color);color:var(--brand-color)}.hst-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2);margin-bottom:var(--space-2)}.hst-stat-item{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:var(--space-1);padding:.5rem .625rem;background:var(--scribe-bg-primary);border-radius:var(--radius-lg);border:1px solid var(--scribe-border)}.hst-stat-label{font-size:var(--text-xs);color:var(--scribe-text-muted);margin-bottom:0;text-transform:uppercase;letter-spacing:var(--tracking-wide)}.hst-stat-value{font-size:var(--text-base);font-weight:var(--font-semibold);font-family:var(--scribe-font-mono);color:var(--scribe-text-primary)}.hst-stat-value.highlight{color:var(--brand-color)}.hst-history-list{display:flex;flex-direction:column;gap:.25rem;max-height:16rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--scribe-border) transparent}.hst-history-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2);background:var(--scribe-bg-primary);border-radius:var(--radius-md);min-width:0}.hst-history-item-wpm{font-size:var(--text-sm);font-weight:var(--font-bold);font-family:var(--scribe-font-mono);color:var(--brand-color);min-width:var(--space-10)}.hst-history-item-details{display:flex;gap:var(--space-2);font-size:var(--text-xs);color:var(--scribe-text-muted);min-width:0}.hst-history-item-accuracy{color:var(--scribe-text-secondary)}.hst-history-item-date{font-size:var(--text-xs);color:var(--scribe-text-muted);margin-inline-start:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hst-history-item-badge{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--brand-color);background:rgba(var(--brand-color-rgb),.15);padding:var(--space-1) var(--space-1);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.hst-history-actions{display:flex;justify-content:flex-end;margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--scribe-border)}.hst-results-message{margin-top:var(--space-2);text-align:center;font-size:var(--text-xs);color:var(--scribe-text-muted)}@media(max-width:48rem){.hst-toolbar{flex-direction:column;gap:var(--space-2)}.hst-toolbar-group{width:100%;justify-content:center}.hst-stats-bar{flex-wrap:wrap;gap:var(--space-4)}}[data-theme=light] .hst-main-panel,[data-theme=light] .hst-history{box-shadow:0 1px 3px #00000014}
