body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.top-left-controls{align-items:center;display:flex;gap:1.5rem;left:1rem;position:fixed;top:1rem;z-index:100}


/*!* ============ 기본 리셋 및 전역 스타일 ============ *!*/

/*!* ============ 앱 컨테이너 ============ *!*/

/*!* ============ 헤더 ============ *!*/

/*!* ============ 컨테이너 ============ *!*/

/*!* ============ 설정 영역 ============ *!*/

/*!* ============ 통계 영역 ============ *!*/

/*!* ============ 팝업 ============ *!*/

/*!* ============ 타이핑 영역 ============ *!*/

/*!* 문자 색상 *!*/

/*!* ============ 입력 영역 ============ *!*/

/*!* ============ 기타 ============ *!*/

/*!* ============ 반응형 ============ *!*/.title{color:#333;font-size:2rem;font-weight:600;letter-spacing:-.5px}.title.dark{color:#e5e7eb}.theme-icon-dark{color:#999;transition:color .2s}.theme-icon-dark:hover{color:#e5e7eb}.theme-icon-light{color:#666;transition:color .2s}.theme-icon-light:hover{color:#333}.theme-icon{background:none;font-size:1rem}.theme-icon:hover{cursor:pointer}.head{align-items:center;display:flex;justify-content:space-between;margin-bottom:3rem;max-width:1000px;min-width:600px;width:80%}*{box-sizing:border-box;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}.background{align-items:center;background-color:#fafafa;color:#333;display:flex;flex-direction:column;height:100vh;justify-content:flex-start;margin:0;overflow-x:hidden;overflow-y:auto;padding-top:18vh;width:100vw}.dark{background-color:#0f0f0f;color:#e5e7eb}.info-background{display:flex;flex-direction:column;margin-bottom:.5rem;max-width:1000px;min-width:600px;padding:1rem 0 0;width:80%}.info-dark{color:#e5e7eb}.info-settings{align-items:center;color:#666;display:flex;font-size:.95rem;justify-content:flex-end;margin-bottom:1.5rem;padding:0 1rem;width:100%}.info-settings.dark{color:#999}.info-CPMs{color:#555;display:flex;font-size:1.1rem;justify-content:space-between;margin-bottom:1.5rem;padding:0 1rem}.info-CPMs.dark{color:#d4d4d8}.info-averages{border-bottom:1px solid #e5e7eb;border-top:1px solid #e5e7eb;display:flex;justify-content:space-around;padding:1.5rem 1rem}.info-averages.dark{border-bottom:1px solid #27272a;border-top:1px solid #27272a}.info-averages.collapsed{display:none}.averages-toggle-container{display:flex;justify-content:center;padding:.5rem 0 0}.averages-toggle-btn{background:none;border:none;color:#999;cursor:pointer;font-size:.8rem;padding:.25rem .5rem;transition:color .2s}.averages-toggle-btn.dark,.averages-toggle-btn:hover{color:#666}.averages-toggle-btn.dark:hover{color:#999}.result-period-container{align-items:center;display:flex;gap:.15rem;justify-content:space-between}.result-period-button{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;justify-content:center;padding:.25rem;transition:color .2s}.result-period-button:hover{color:#333}.result-period-button.dark{color:#999}.result-period-button.dark:hover{color:#e5e7eb}.result-period-text{color:#333;display:inline-block;font-size:1.3rem;min-width:4rem;padding-left:.5rem;padding-right:.5rem;text-align:center}.result-period-dark{background:none;color:#e5e7eb}.speed-check{font-size:1.3rem}.speed-check-num{color:#333;font-weight:600;margin-left:2rem}.speed-check-num.dark{color:#fff}.average-info-title{color:#666;font-size:1.1rem}.average-info-title.dark{color:#999}.average-info-num{color:#666;font-weight:600;margin-left:1.5rem}.average-info-num.dark{color:#999}.quote-container{display:flex;flex-direction:column;margin-bottom:2rem;max-width:1000px;min-width:600px;padding:0 2rem 2rem;width:80%}.author-container{display:flex;flex-direction:row-reverse;margin-bottom:.5rem}.sentence-input-wrapper{line-height:1.8;min-height:100px;position:relative}.quote-container.default-mode .sentence-input-wrapper{min-height:auto;position:relative}.character-container{word-wrap:break-word;overflow-wrap:break-word;position:relative;white-space:pre-wrap;word-break:normal;z-index:1}.character{color:#999;line-height:1.8}.character-dark{color:#a8a8a8}.character-correct,.character-correct.character-dark,.character-incorrect,.character-typed{color:#0000}.character-correct-visible{color:#333}.character-correct-visible.character-dark{color:#fff}.character-incorrect-visible{color:#dc2626}.character-typing{color:#666}.character-typing.character-dark{color:#d4d4d4}.default-mode .character-container{margin-bottom:1rem}.author-text{color:#999;font-size:1rem}.author-dark{color:#a8a8a8}.input{word-wrap:break-word;border:none;caret-color:#6d28d9;font-family:inherit;left:0;letter-spacing:normal;outline:none;overflow-wrap:break-word;overflow-y:hidden;padding:0;position:absolute;resize:none;top:0;white-space:pre-wrap;width:100%;word-break:normal;word-spacing:normal;z-index:20}.input,.input-dark{background-color:initial;color:#0000}.input-dark{caret-color:#8b5cf6}.input-dark::placeholder,.input::placeholder{color:#0000}.default-mode .input{background-color:initial;border-bottom:2px solid #6d28d9;caret-color:#6d28d9;color:#333;padding-bottom:.25rem;position:relative}.default-mode .input-dark{border-bottom-color:#8b5cf6;caret-color:#8b5cf6;color:#e5e7eb}.default-mode .input::placeholder{color:#999}.default-mode .input-dark::placeholder{color:#71717a}.input-display{word-wrap:break-word;left:0;line-height:1.8;overflow-wrap:break-word;pointer-events:none;position:absolute;top:0;white-space:pre-wrap;width:100%;word-break:normal;z-index:10}.input-char-correct{color:#333}.input-char-correct.dark{color:#fff}.input-char-incorrect{color:#dc2626}.input-char-none{color:#666}.input-char-none.dark{color:#d4d4d4}.default-mode .input-display{display:none}.contact{color:#666;font-size:.9rem;margin-bottom:10rem;margin-top:auto;text-decoration:none;transition:color .2s}.contact:hover{color:#333}.dark{color:#999;text-decoration:none}.dark:hover{color:#e5e7eb}.popup-background{background-color:#000;height:100%;left:0;opacity:.4;position:fixed;top:0;width:100%;z-index:999}.popup{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;display:flex;flex-direction:column;height:25rem;left:50%;padding:2rem 1.5rem;position:fixed;top:50%;transform:translate(-50%,-50%);width:25rem;z-index:1000}.popup.popup-dark{background-color:#1f1f1f;border:1px solid #3f3f46;color:#e5e7eb}.popup-title{color:#333;font-size:1.5rem;font-weight:600;margin-bottom:3rem;text-align:center}.popup-title.dark{background-color:initial;color:#e5e7eb}.popup-info{background-color:initial;color:#555;display:flex;font-size:1.5rem;justify-content:space-between;margin-bottom:2rem}.popup-info.dark{background-color:initial;color:#d4d4d8}.popup-value{color:#333;font-weight:600}.popup-value.dark{background-color:initial;color:#e5e7eb}.popup-close{color:#999;font-size:.9rem;margin-top:auto;text-align:center}.popup-close.dark{background-color:initial;color:#71717a}.font-size-slider-container{display:flex;flex-direction:column;gap:.5rem}.font-size-label{color:#999;cursor:pointer;font-size:.75rem;transition:color .2s;-webkit-user-select:none;user-select:none}.font-size-label.dark,.font-size-label:hover{color:#666}.font-size-label.dark:hover{color:#999}.font-size-slider{-webkit-appearance:none;appearance:none;background:#e5e7eb;border-radius:2px;height:4px;outline:none;width:100px}.font-size-slider.dark{background:#3f3f46}.font-size-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#6d28d9;border-radius:50%;cursor:pointer;height:16px;width:16px}.font-size-slider::-moz-range-thumb{background:#6d28d9;border:none;border-radius:50%;cursor:pointer;height:16px;width:16px}.mode-toggle-container{align-items:center;display:flex;gap:.5rem}.mode-toggle-label{color:#999;cursor:pointer;font-size:.75rem}.mode-toggle-label.dark{color:#666}.mode-toggle{background:#e5e7eb;border-radius:10px;cursor:pointer;height:20px;position:relative;transition:background .2s;width:36px}.mode-toggle.dark{background:#3f3f46}.mode-toggle.active{background:#6d28d9}.mode-toggle.active.dark{background:#8b5cf6}.mode-toggle-knob{background:#fff;border-radius:50%;height:16px;left:2px;position:absolute;top:2px;transition:transform .2s;width:16px}.mode-toggle.active .mode-toggle-knob{transform:translateX(16px)}.update-popup-section{margin-bottom:1.25rem}.update-popup-section-title{background-color:initial;color:#333;font-size:1rem;font-weight:600;margin-bottom:.5rem}.update-popup-section-title.dark{background-color:initial;color:#e5e7eb}.update-popup-list{list-style:none;margin:0;padding:0}.update-popup-list li{background-color:initial;color:#555;font-size:.95rem;line-height:1.5;margin-bottom:.5rem;padding-left:1.25rem;position:relative}.update-popup-list li.dark{background-color:initial;color:#a1a1aa}.update-popup-list li:before{color:#6d28d9;content:"•";left:0;position:absolute}.update-popup.history-mode .update-popup-section{margin-bottom:.75rem}.update-popup.history-mode .update-popup-section-title{font-size:.9rem;margin-bottom:.25rem}.update-popup.history-mode .update-popup-list li{font-size:.85rem;margin-bottom:.25rem;padding-left:1rem}.update-history-item{background-color:initial;border-bottom:1px solid #e5e7eb;margin-bottom:1.5rem;padding-bottom:1.5rem}.update-history-item.dark{background-color:initial;border-bottom-color:#3f3f46}.update-history-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.update-history-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.update-history-version{color:#6d28d9;font-weight:600}.update-history-date{background-color:initial;color:#999;font-size:.8rem}.update-history-date.dark{background-color:initial;color:#666}.update-popup-version{background-color:initial;color:#999;font-size:.85rem}.update-popup-version.dark{background-color:initial;color:#666}.update-popup-date{background-color:initial;color:#999;font-size:.85rem;margin-bottom:1.5rem}.update-popup-date.dark{background-color:initial;color:#666}.notice-icon{color:#999;cursor:pointer;font-size:1.25rem;position:fixed;right:1rem;top:1rem;transition:color .2s;z-index:100}.notice-icon.dark,.notice-icon:hover{color:#666}.notice-icon.dark:hover{color:#999}.update-popup-overlay{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:2000}.update-popup{background-color:#fff;border-radius:1rem;box-shadow:0 25px 50px -12px #00000040;max-height:80vh;max-width:480px;overflow-y:auto;padding:2rem;width:90%}.update-popup.dark{background-color:#1f1f1f;color:#e5e7eb}.update-popup-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.update-popup-title{color:#6d28d9;font-size:1.5rem;font-weight:600}.update-popup-close{background-color:#6d28d9;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:1rem;margin-top:1rem;padding:.75rem;transition:background-color .2s;width:100%}.update-popup-close:hover{background-color:#5b21b6}.update-popup-dont-show-btn{background-color:initial;border:none;border-radius:.5rem;color:#999;cursor:pointer;font-size:.85rem;margin-top:.5rem;padding:.5rem;transition:all .2s;width:100%}.update-popup-dont-show-btn:hover{background-color:#f5f5f5;color:#666}.update-popup-dont-show-btn.dark{color:#666}.update-popup-dont-show-btn.dark:hover{background-color:#27272a;color:#999}.update-popup-history-btn{background-color:initial;border:1px solid #e5e7eb;border-radius:.5rem;color:#666;cursor:pointer;font-size:.85rem;margin-top:.5rem;padding:.5rem;transition:all .2s;width:100%}.update-popup-history-btn:hover{background-color:#f5f5f5;color:#333}.update-popup-history-btn.dark{border-color:#3f3f46;color:#999}.update-popup-history-btn.dark:hover{background-color:#27272a;color:#e5e7eb}
/*# sourceMappingURL=main.140bf76b.css.map*/