.hidden{display:none}.modal-content--sm{max-width:420px}.confirm-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.confirm-btn-cancel,.confirm-btn-ok{padding:8px 20px;border-radius:var(--border-radius-sm);border:1px solid transparent;font-size:.95rem;font-weight:500;cursor:pointer;transition:var(--transition)}.confirm-btn-cancel{background-color:var(--gray-200);border-color:var(--gray-300);color:var(--text-color)}.confirm-btn-cancel:hover{background-color:var(--gray-300)}.confirm-btn-ok{background-color:var(--danger);border-color:var(--danger);color:#fff}.confirm-btn-ok:hover{filter:brightness(.9)}.intro-text{font-size:1.05rem;color:var(--gray-700);margin-bottom:var(--spacing-lg);text-align:center;line-height:1.5}.options-container{display:flex;flex-direction:column;gap:10px;margin-bottom:var(--spacing-lg)}.options-container details{border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--gray-200);overflow:hidden;transition:background-color .2s ease,opacity .3s ease}.options-container details[open]{background-color:var(--gray-100)}.options-container details summary{padding:10px 15px;cursor:pointer;font-weight:600;color:var(--text-color);outline:none;user-select:none;list-style-position:inside;transition:background-color .2s ease;border-bottom:1px solid transparent}.options-container details[open]>summary{background-color:var(--gray-300);border-bottom-color:var(--border-color)}.options-container details summary:hover{background-color:var(--gray-300)}.controls-content,.listening-options-content{padding:15px;display:flex;align-items:center;gap:10px 20px;flex-wrap:wrap;background-color:var(--gray-100);border-top:1px solid var(--border-color)}.controls-content label{margin-right:5px;font-weight:500;white-space:nowrap;color:var(--text-color);flex-shrink:0}.controls-content #language-select,.controls-content #voice-select{padding:8px 10px;min-width:180px;border:1px solid var(--input-border-color);border-radius:var(--border-radius-sm);background-color:var(--input-bg-color);color:var(--text-color);font-size:.95em;flex-grow:1;max-width:300px}.listening-options-content .option-group{display:flex;align-items:center;gap:8px;flex-grow:1;flex-basis:220px}.listening-options-content label{font-weight:400;margin:0;white-space:nowrap;color:var(--text-color)}.listening-options-content select,.listening-options-content input[type=number]{flex-grow:1;min-width:80px;padding:8px 10px;border:1px solid var(--input-border-color);border-radius:var(--border-radius-sm);background-color:var(--input-bg-color);color:var(--text-color);font-size:.95em}.listening-options-content .checkbox-group{flex-basis:auto;flex-grow:0}.listening-options-content #discrete-chunks-toggle{margin:0;width:1.1em;height:1.1em;vertical-align:middle;cursor:pointer;flex-shrink:0}.listening-options-content .checkbox-label{margin:0 0 0 5px;white-space:normal;vertical-align:middle;font-weight:400;cursor:pointer}details#listening-options-details.disabled{opacity:.5;background-color:var(--gray-200)}details#listening-options-details.disabled summary{cursor:default;background-color:var(--gray-200)}details#listening-options-details.disabled summary:hover{background-color:var(--gray-200)}details#listening-options-details.disabled[open]>summary{border-bottom-color:transparent}.tab-container{background-color:var(--card-bg);border-radius:var(--border-radius);box-shadow:var(--box-shadow);overflow:hidden;border:1px solid var(--border-color);margin-bottom:var(--spacing-lg)}.tab-nav{border-bottom:2px solid var(--primary);display:flex;padding-left:0;background-color:var(--gray-200)}button.tab-link{background-color:transparent;border:none;border-bottom:3px solid transparent;padding:12px 20px;cursor:pointer;margin-bottom:-2px;font-size:1.05em;font-weight:500;color:var(--text-muted);transition:var(--transition);white-space:nowrap;flex-grow:1;text-align:center}button.tab-link:hover{background-color:var(--gray-300);color:var(--text-color)}button.tab-link.active{background-color:var(--card-bg);border-bottom-color:var(--primary);color:var(--gray-800);font-weight:600}.tab-content{display:none;padding:25px}.tab-content.active{display:block;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.tab-content h2{margin-top:0;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--border-color);color:var(--gray-800);font-size:1.4em;font-weight:600}#speak-input{width:100%;padding:12px 15px;font-size:1em;border:1px solid var(--input-border-color);border-radius:var(--border-radius-sm);background-color:var(--input-bg-color);color:var(--text-color)}#speak-input:focus{border-color:var(--primary);outline:0;box-shadow:0 0 0 .2rem #4361ee40}.speak-options{margin-top:10px;margin-bottom:10px;padding-left:2px;display:flex;align-items:center}.speak-status{font-size:.875rem;color:var(--primary);font-weight:500;margin:6px 0 14px;min-height:1.2em}#auto-speak-toggle{margin:0;width:1.1em;height:1.1em;vertical-align:middle;cursor:pointer;flex-shrink:0}.speak-options .checkbox-label{margin:0 0 0 8px;vertical-align:middle;font-weight:400;color:var(--text-color);cursor:pointer;line-height:1.3}.listen-controls-primary{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}#listen-status{font-style:italic;color:var(--text-muted);white-space:nowrap;padding:5px 0;align-self:center;flex-shrink:0}p.info-note{font-size:.85em;color:var(--text-muted);margin:15px 0;line-height:1.4}p.info-note.warning{color:var(--danger)}.list-container{margin-top:20px;min-height:140px;max-height:45vh;overflow:hidden;border:1px solid var(--border-color);background-color:var(--card-bg);border-radius:var(--border-radius-sm);display:flex;flex-direction:column}.list-header{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;border-bottom:1px solid var(--border-color);background-color:var(--gray-100);border-top-left-radius:3px;border-top-right-radius:3px;flex-shrink:0}.list-header h3{padding:0;margin:0 15px 0 0;border-bottom:none;font-size:1.1em;font-weight:600;color:var(--text-color);background-color:transparent;white-space:nowrap}.list-actions{margin:0;display:flex;gap:6px;flex-wrap:nowrap;flex-shrink:0;align-items:center}.list-actions .btn-danger{margin-left:1.2em}.list-actions button{padding:5px 10px;font-size:.85em;line-height:1.2;min-width:auto;font-weight:500;cursor:pointer;color:#fff;border:1px solid transparent;border-radius:var(--border-radius-sm);transition:var(--transition);white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}.list-actions button:focus{outline:0;box-shadow:0 0 0 .2rem rgba(var(--btn-focus-shadow-rgb, 13, 110, 253),.5)}.list-actions button .icon{margin-right:4px;font-size:1em;vertical-align:middle;user-select:none}.list-actions button .button-text-label{vertical-align:middle}#speak-selected-btn,#listen-speak-selected-btn{background-color:var(--secondary);border-color:var(--secondary);color:var(--gray-800)}#speak-selected-btn:hover,#listen-speak-selected-btn:hover{filter:brightness(1.05)}#listen-toggle-btn{background-color:var(--success);border-color:var(--success);color:var(--gray-800);padding:10px 18px;font-size:.95em}#listen-toggle-btn:hover{filter:brightness(.9)}#listen-toggle-btn.listening{background-color:var(--danger);border-color:var(--danger);color:#fff}#listen-toggle-btn.listening:hover{filter:brightness(.9)}.btn-danger,#speak-delete-selected-btn,#listen-delete-selected-btn{background-color:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover,#speak-delete-selected-btn:hover,#listen-delete-selected-btn:hover{filter:brightness(.9)}.btn-warning,#speak-clear-all-btn,#listen-clear-all-btn{background-color:var(--warning);border-color:var(--warning);color:var(--gray-800)}.btn-warning:hover,#speak-clear-all-btn:hover,#listen-clear-all-btn:hover{filter:brightness(1.05)}.selectable-list{list-style:none;padding:0;margin:0;overflow-y:auto;flex-grow:1;min-height:50px}.selectable-list li{display:flex;align-items:center;padding:10px 15px;border-bottom:1px solid var(--border-color);cursor:default;transition:background-color .15s ease;color:var(--text-color)}.selectable-list li:last-child{border-bottom:none}.selectable-list li:hover{background-color:var(--gray-100)}.selectable-list input[type=checkbox]{margin-right:15px;flex-shrink:0;cursor:pointer;width:1.1em;height:1.1em;vertical-align:middle}.selectable-list li span{flex-grow:1;word-break:break-word;line-height:1.45;cursor:pointer;vertical-align:middle}.list-empty-state{display:flex;align-items:center;justify-content:center;padding:32px 20px;color:var(--text-muted);font-style:italic;font-size:.9rem;text-align:center;pointer-events:none;border-bottom:none}@media (max-width: 768px){.options-container{gap:6px}.options-container summary{padding:10px 15px}.controls-content,.listening-options-content{padding:12px 15px;gap:8px 12px}.controls-content #language-select,.controls-content #voice-select{min-width:150px;max-width:250px}.listening-options-content .option-group{flex-basis:100%}.tab-content{padding:20px}.tab-content h2{font-size:1.3em}button.tab-link{padding:10px 15px;font-size:1em}.list-header{padding:8px 12px}.list-header h3{font-size:1.05em}.list-actions{gap:6px}.list-actions button{padding:4px 8px;font-size:.8em}.list-actions button .icon{margin-right:3px}.list-actions .btn-danger{margin-left:1em}#listen-toggle-btn{font-size:.9em;padding:9px 15px}.list-container{min-height:120px;max-height:55vh}}.voice-select-row{display:flex;align-items:center;gap:8px;flex-grow:1;max-width:300px}.voice-select-row #voice-select{flex:1;max-width:none}.btn-sm{padding:6px 10px;font-size:.85rem;white-space:nowrap;border:1px solid var(--border-color);background:var(--gray-200);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--text-color);line-height:1.2;flex-shrink:0}.btn-sm:hover{background:var(--gray-300)}.tts-sliders{flex-basis:100%;width:100%;display:flex;flex-direction:column;gap:8px;padding-top:10px;border-top:1px solid var(--border-color);margin-top:4px}.slider-row{display:flex;align-items:center;gap:10px}.slider-row label{min-width:90px;font-size:.85rem;font-weight:500;color:var(--text-color);white-space:nowrap;margin:0;flex-shrink:0;display:flex;justify-content:space-between;width:90px}.slider-row label span{color:var(--primary);font-weight:400;min-width:26px;text-align:right}.slider-row input[type=range]{flex:1;cursor:pointer;accent-color:var(--primary);min-width:60px}.reset-slider-btn{background:none;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--text-muted);font-size:.9rem;padding:2px 6px;line-height:1.2;flex-shrink:0;transition:var(--transition)}.reset-slider-btn:hover{color:var(--text-color);background:var(--gray-200)}.interim-transcript{padding:8px 12px;background:var(--gray-100);border:1px dashed var(--border-color);border-radius:var(--border-radius-sm);font-style:italic;color:var(--text-muted);margin:0 0 var(--spacing-sm);font-size:.9rem;min-height:2rem;line-height:1.6;word-break:break-word}#speak-loop-btn,#speak-copy-btn,#speak-download-btn,#listen-copy-btn,#listen-download-btn{background:var(--gray-100);border-color:var(--border-color);color:var(--text-muted);font-size:.9em;padding:4px 7px}#speak-loop-btn:hover,#speak-copy-btn:hover,#speak-download-btn:hover,#listen-copy-btn:hover,#listen-download-btn:hover{background:var(--gray-200);color:var(--text-color)}#speak-loop-btn.loop-active{color:var(--primary);background:var(--gray-200);border-color:var(--primary)}.list-edit-input{flex:1;padding:3px 6px;border:1px solid var(--primary);border-radius:3px;font-size:inherit;font-family:inherit;background:var(--input-bg-color);color:var(--text-color);outline:none;box-shadow:0 0 0 2px #4361ee33}.tts-word-display{padding:10px 14px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-size:1rem;line-height:1.8;margin-bottom:var(--spacing-sm);min-height:2.8rem;word-wrap:break-word}.tts-word{display:inline;border-radius:2px;padding:1px 0;transition:background .1s,color .1s}.tts-word.speaking{background-color:var(--primary);color:#fff;padding:1px 2px}.selectable-list li[draggable=true]{cursor:grab}.selectable-list li[draggable=true]:active{cursor:grabbing}.selectable-list li.drag-over{border-top:2px solid var(--primary);background-color:var(--gray-100)}.selectable-list li.dragging{opacity:.4}.speak-word-count{font-size:.78rem;color:var(--text-muted);text-align:right;margin:3px 2px 6px;min-height:1em;letter-spacing:.01em}.master-checkbox{width:1.1em;height:1.1em;cursor:pointer;flex-shrink:0;vertical-align:middle;margin-right:10px}.list-header h3{flex:1}.item-copy-btn{opacity:0;background:none;border:none;cursor:pointer;font-size:.9em;padding:2px 4px;line-height:1;border-radius:3px;color:var(--text-muted);flex-shrink:0;margin-left:6px;transition:opacity .15s,color .15s}.selectable-list li:hover .item-copy-btn{opacity:1}.item-copy-btn:hover{color:var(--primary);background:var(--gray-200)}.speak-progress-bar{height:4px;background:var(--gray-200);border-radius:2px;overflow:hidden;margin:0 0 12px}.speak-progress-fill{height:100%;background:var(--primary);width:0%;border-radius:2px;transition:width .3s ease}.speak-mode-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.speak-mode-row label{font-weight:500;white-space:nowrap;cursor:pointer;color:var(--text-color)}#read-aloud-section{margin-top:4px}#read-aloud-section textarea{width:100%;min-height:100px;padding:10px 12px;font-size:.95rem;border:1px solid var(--input-border-color);border-radius:var(--border-radius-sm);background:var(--input-bg-color);color:var(--text-color);resize:vertical;font-family:inherit;line-height:1.5;box-sizing:border-box}#read-aloud-section textarea:focus{border-color:var(--primary);outline:0;box-shadow:0 0 0 .2rem #4361ee33}.read-aloud-controls{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.read-aloud-display{margin-top:12px;padding:12px 14px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-size:1rem;line-height:1.8;word-wrap:break-word;min-height:2.5rem}.current-sentence{background-color:#4361ee26;border-radius:3px;padding:1px 2px;color:var(--primary);font-weight:500}.selectable-list li.conf-high{border-left:3px solid #057855}.selectable-list li.conf-mid{border-left:3px solid #d4720a}.selectable-list li.conf-low{border-left:3px solid #c1121f}.practice-setup{margin-bottom:16px}.practice-setup label{display:block;font-weight:600;margin-bottom:6px;color:var(--text-color)}.practice-text{width:100%;min-height:90px;padding:10px 12px;font-size:.95rem;border:1px solid var(--input-border-color);border-radius:var(--border-radius-sm);background:var(--input-bg-color);color:var(--text-color);resize:vertical;font-family:inherit;line-height:1.5;box-sizing:border-box}.practice-text:focus{border-color:var(--primary);outline:0;box-shadow:0 0 0 .2rem #4361ee33}.practice-controls{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.practice-status{font-size:.875rem;color:var(--text-muted);font-style:italic;min-height:1.2em;margin-bottom:8px}.practice-results{border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--card-bg);padding:14px 16px}.practice-score{font-size:1.15rem;font-weight:700;color:var(--primary);margin-bottom:10px}.practice-diff{font-size:1rem;line-height:1.9;word-wrap:break-word}.diff-match{color:#057855;font-weight:500}.diff-miss{color:#c1121f;text-decoration:line-through}.record-btn{background:var(--gray-100);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-muted);cursor:pointer;font-size:.9em;padding:8px 14px;font-weight:500;transition:var(--transition);white-space:nowrap}.record-btn:hover{background:var(--gray-200);color:var(--text-color)}.record-btn.recording{background:var(--danger);border-color:var(--danger);color:#fff;animation:pulse-record 1.2s ease-in-out infinite}@keyframes pulse-record{0%,to{opacity:1}50%{opacity:.75}}.speak-list-selector-bar{display:flex;align-items:center;gap:6px;margin-bottom:8px}.speak-list-selector-bar label{font-size:.875rem;font-weight:500;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.list-selector-select{flex:1;min-width:0;padding:5px 8px;font-size:.875rem;border:1px solid var(--input-border-color);border-radius:var(--border-radius-sm);background:var(--input-bg-color);color:var(--text-color);cursor:pointer}.list-mgmt-btn{padding:4px 8px;font-size:.85rem;flex-shrink:0}@media (max-width: 768px){.voice-select-row{max-width:none}.tts-sliders{gap:10px}.slider-row label{min-width:80px;width:80px;font-size:.8rem}.read-aloud-display,.practice-results{font-size:.95rem}}@media (max-width: 600px){.controls-content,.listening-options-content{flex-direction:column;align-items:stretch;gap:12px}.controls-content label,.listening-options-content label:not(.checkbox-label){margin-bottom:3px;font-weight:700;text-align:left}.controls-content #language-select,.controls-content #voice-select{width:100%;min-width:auto;max-width:none}.listening-options-content .option-group{flex-basis:auto;flex-direction:column;align-items:flex-start}.listening-options-content select,.listening-options-content input[type=number]{width:100%;flex-grow:0}.listening-options-content .checkbox-group{flex-direction:row;align-items:center}.listening-options-content .checkbox-label{font-weight:400}.options-container{gap:8px}.options-container summary{padding:10px 15px;font-size:1em}.tab-nav{padding:0}button.tab-link{padding:10px;font-size:.95em}.tab-content{padding:15px}.tab-content h2{font-size:1.2em;margin-bottom:15px;padding-bottom:10px}.listen-controls-primary{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:20px}#listen-status{order:2;margin-left:0;text-align:center}#listen-toggle-btn{order:1;font-size:.9em;padding:9px 12px}.list-header{padding:8px 10px;flex-wrap:wrap}.list-header h3{font-size:1em;margin-right:10px;margin-bottom:8px;width:100%;text-align:center}.list-actions{gap:5px;width:100%;justify-content:center;flex-wrap:wrap}.list-actions button .button-text-label{display:none}.list-actions button{padding:5px 8px}.list-actions button .icon{margin-right:0;font-size:1.1em}.list-actions .btn-danger{margin-left:0}.list-container{min-height:100px;max-height:60vh;margin-top:15px}.selectable-list li{padding:8px 12px}.selectable-list input[type=checkbox]{margin-right:12px}}
