.speaking-category-page-container{background-color:var(--theme-bg-primary,#f8f9fa);min-height:100vh;transition:background-color .3s}.main-title-container{text-align:center;background-color:var(--theme-card-bg,#fff);border-bottom:1px solid var(--theme-border,#e9ecef);padding:32px 20px 22px;transition:background-color .3s,border-color .3s}.main-title-container>.practice-skill-nav{margin-left:auto;margin-right:auto}.title-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:10px;display:flex;position:relative}.title-header>.sidebar-toggle-btn-in-header{flex-shrink:0;position:absolute;left:0}.title-header>.page-title{text-align:center;flex:1}@media (min-width:769px){.title-header{justify-content:flex-end;min-height:44px}.title-header>.page-title{width:max-content;max-width:calc(100% - 260px);margin:0;position:absolute;left:50%;transform:translate(-50%)}}.page-title{letter-spacing:-.02em;color:var(--theme-text-primary,#343a40);margin:0;font-size:28px;font-weight:700;transition:color .3s}.title-actions{align-items:center;gap:8px;display:flex}.monthly-btn,.history-btn{letter-spacing:-.01em;color:#fff;cursor:pointer;box-sizing:border-box;white-space:nowrap;border:1px solid #0000;border-radius:980px;justify-content:center;align-items:center;min-width:96px;padding:9px 18px;font-size:14px;font-weight:600;line-height:1.2;transition:background-color .2s,border-color .2s,transform .1s;display:inline-flex}.monthly-btn{background-color:#0071e3}.history-btn{background-color:var(--theme-bg-tertiary);color:var(--theme-text-primary);border-color:var(--theme-border)}.monthly-btn:hover{background-color:#06c}.history-btn:hover{background-color:var(--theme-bg-secondary);border-color:var(--theme-text-tertiary)}.monthly-btn:active,.history-btn:active{transform:scale(.97)}.page-subtitle{color:var(--theme-text-tertiary,#6c757d);max-width:560px;margin-top:10px;margin-left:auto;margin-right:auto;font-size:14px;line-height:1.6;transition:color .3s}.status-banner{text-align:center;border:1px solid var(--theme-border);background:var(--theme-bg-secondary);max-width:560px;color:var(--theme-text-secondary);border-radius:12px;margin:10px auto 0;padding:8px 14px;font-size:13px;line-height:1.5;transition:background-color .3s,border-color .3s,color .3s}.status-banner--info{background:#0071e314;border-color:#0071e338}.status-banner--success{background:#34c7591a;border-color:#34c75947}.status-banner--warning{background:#ff9f0a1a;border-color:#ff9f0a47}.status-banner--error{background:#ff3b301a;border-color:#ff3b304d}.page-meta{text-align:center;max-width:560px;color:var(--theme-text-tertiary);margin:10px auto 0;font-size:12px;transition:color .3s}.content-grid{flex-direction:row;align-items:flex-start;max-width:1400px;margin:0 auto;display:flex;position:relative}.sidebar-wrapper{flex-shrink:0;align-items:flex-start;gap:0;display:flex;position:relative}.sidebar-container{width:260px;transition:width .3s,opacity .3s,margin .3s;overflow:hidden}.sidebar-container.collapsed{opacity:0;pointer-events:none;width:0;margin:0}.sidebar-toggle-btn{background:var(--theme-sidebar-bg,var(--theme-card-bg,#fff));border:1px solid var(--theme-border,#e9ecef);cursor:pointer;width:32px;height:50px;color:var(--theme-text-primary,#343a40);z-index:1000;border-left:none;border-radius:0 6px 6px 0;flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;margin-top:100px;padding:0;font-size:16px;transition:all .3s;display:flex;box-shadow:2px 2px 8px #0000001a}.sidebar-toggle-btn:hover{background-color:var(--theme-bg-secondary,#f8f9fa);border-color:var(--theme-accent,#007aff);color:var(--theme-accent,#007aff);transform:translate(2px)}.sidebar-wrapper.sidebar-collapsed .sidebar-toggle-btn{border-left:1px solid var(--theme-border,#e9ecef);border-radius:6px}.sidebar{background-color:var(--theme-sidebar-bg,var(--theme-card-bg,#fff));border-right:1px solid var(--theme-border,#e9ecef);flex-shrink:0;width:260px;height:calc(100vh - 60px);padding:15px 7px;transition:background-color .3s,border-color .3s;overflow-y:auto}.part-group{margin-bottom:5px}.part-title{letter-spacing:-.01em;color:var(--theme-text-primary,#343a40);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;margin:0;padding:11px 14px;font-size:15px;font-weight:600;transition:all .2s ease-in-out;display:flex}.part-title:hover{background-color:var(--theme-bg-secondary,#f1f3f5);color:var(--theme-text-primary,#0056b3)}.part-title.active{color:#fff;background-color:#0071e3;box-shadow:0 4px 12px -4px #0071e380}.arrow{border:solid var(--theme-text-secondary,#495057);border-width:0 2px 2px 0;padding:3px;transition:border-color .3s,transform .3s;display:inline-block}.part-title.active .arrow{border-color:#fff}.arrow.right{transform:rotate(-45deg)}.arrow.down{transform:rotate(45deg)}.chapter-list{border-left:1px solid var(--theme-border,#e9ecef);margin:0;padding:0 0 0 10px;list-style-type:none;transition:border-color .3s}.chapter-item{color:var(--theme-text-secondary,#6c757d);cursor:pointer;border-radius:9px;justify-content:flex-start;align-items:center;margin:3px 0;padding:9px 12px;font-size:14px;transition:all .2s ease-in-out;display:flex;position:relative}.chapter-item:hover{background-color:var(--theme-bg-secondary,#f8f9fa);color:var(--theme-text-primary,#007aff)}.chapter-item.active{color:#0071e3;background-color:#0071e31a;font-weight:600}[data-theme=black] .chapter-item.active{color:#4a9eff;background-color:#4a9eff2e}.content-wrapper{background-color:var(--theme-bg-primary,transparent);flex-grow:1;width:100%;padding:20px;transition:background-color .3s}.empty-state{text-align:center;color:var(--theme-text-tertiary,#888);padding:72px 24px;font-size:15px;line-height:1.7;transition:color .3s}.questions-list{flex-direction:column;gap:20px;display:flex}.question-card{background-color:var(--theme-card-bg,#fff);border:1px solid var(--theme-border);border-radius:18px;padding:26px;transition:box-shadow .3s,border-color .3s,background-color .3s;box-shadow:0 1px 2px #00000008,0 10px 30px -16px #00000024}.question-card:hover{border-color:var(--theme-text-tertiary);box-shadow:0 1px 2px #00000008,0 18px 44px -20px #00000038}.part-header{color:var(--theme-text-tertiary,#88929b);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;font-size:13px;transition:color .3s;display:flex}.part-info{color:var(--theme-text-primary);letter-spacing:-.01em;font-weight:600}.subject-info{color:var(--theme-text-tertiary);font-style:italic}.question-header{border-bottom:1px solid var(--theme-border,#f1f3f5);margin-bottom:14px;padding-bottom:14px;transition:border-color .3s}.font-size-controls{background-color:var(--theme-bg-secondary);border:1px solid var(--theme-border);border-radius:980px;align-items:center;gap:2px;padding:3px;display:flex}.font-size-btn{min-width:34px;color:var(--theme-text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;box-shadow:none;background-color:#0000;border:none;border-radius:980px;padding:4px 11px;font-size:13px;font-weight:600}.font-size-btn:hover:not(:disabled){background-color:var(--theme-card-bg);color:var(--theme-accent);box-shadow:0 1px 2px #00000014}.font-size-btn:disabled{opacity:.4;cursor:not-allowed}.font-size-display{color:var(--theme-text-secondary);text-align:center;min-width:40px;font-size:12px;font-weight:500}.translation-toggle-btn{border:1px solid var(--theme-border);background-color:var(--theme-card-bg);color:var(--theme-text-secondary);cursor:pointer;white-space:nowrap;border-radius:980px;padding:7px 14px;font-size:13px;font-weight:500;transition:all .2s}.translation-toggle-btn:hover{background-color:var(--theme-bg-secondary);border-color:var(--theme-text-tertiary);color:var(--theme-accent)}.translation-toggle-btn:active{transform:scale(.98)}.question-top-controls{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.clear-highlights-btn-inline{color:#d9363e;background-color:#fff1f0;border-color:#ffccc7}.clear-highlights-btn-inline:hover{color:#cf1322;background-color:#ffe1df;border-color:#ff7875}.question-title-fr{color:var(--theme-text-primary,#2c3e50);margin:0;font-weight:600;transition:color .3s;display:block}.question-header>.question-title-fr,.question-header>.question-text-lang{display:none}.question-body{margin-bottom:15px}.question-body p{color:var(--theme-text-primary,#34495e);white-space:pre-line;margin:0 0 10px;line-height:1.7;transition:color .3s}.question-text-lang{color:var(--theme-text-secondary,#888);margin-top:7px;transition:color .3s}.answer-section{margin-top:15px}.answer-textarea{border:1px solid var(--theme-border,#dcdfe6);background-color:var(--theme-bg-secondary,#fdfdfd);width:100%;height:210px;color:var(--theme-text-primary,#000);resize:vertical;border-radius:14px;margin-top:15px;padding:16px 18px;font-family:inherit;font-size:15px;line-height:1.7;transition:border-color .2s,box-shadow .2s,background-color .3s,color .3s}.answer-textarea:focus{border-color:#0071e3;outline:none;box-shadow:0 0 0 4px #0071e31f}.action-bar{justify-content:flex-start;align-items:center;gap:8px;margin-top:10px;display:flex}.left-actions,.right-actions{align-items:center;gap:10px;display:flex}.right-actions.speaking-question-actions{flex-wrap:nowrap;flex:auto;align-items:center;gap:4px;min-width:0;display:flex}.right-actions.speaking-question-actions .action-button,.right-actions.speaking-question-actions .ai-model-select{min-width:72px}.right-actions.speaking-question-actions .ai-model-select{flex:0 0 230px;min-width:0;margin-right:0}.right-actions.speaking-question-actions .ocr-button{min-width:84px}.word-count,.timer{color:var(--theme-text-tertiary);background-color:var(--theme-bg-secondary);border-radius:980px;padding:5px 12px;font-size:13px;font-weight:500;transition:color .3s,background-color .3s}.action-button{color:#fff;letter-spacing:-.01em;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;padding:7px 15px;font-size:13px;font-weight:600;line-height:1.2;transition:background-color .2s,transform .1s,box-shadow .2s,border-color .2s;display:inline-flex}.action-button:active{transform:scale(.97)}.action-button:disabled{cursor:not-allowed;box-shadow:none;color:#4b5563!important;background:#e5e7eb!important}.save-button{background:#0071e3;box-shadow:0 1px 2px #0071e347}.save-button:hover:not(:disabled){background:#06c}.copy-button{background:var(--theme-bg-tertiary);color:var(--theme-text-primary);border-color:var(--theme-border);box-shadow:none}.copy-button:hover:not(:disabled){background:var(--theme-bg-secondary);border-color:var(--theme-text-tertiary)}.record-button{background:#ff3b30;box-shadow:0 1px 2px #ff3b304d}.record-button:hover:not(:disabled){background:#e6332a}.record-stop-button{background:#ff9f0a;box-shadow:0 1px 2px #ff9f0a4d}.record-stop-button:hover:not(:disabled){background:#f0930a}.sample-button{color:#0071e3;background-color:#0071e31a}.sample-button:hover:not(:disabled){background-color:#0071e329}[data-theme=black] .sample-button{color:#4a9eff;background-color:#4a9eff2e}[data-theme=black] .sample-button:hover:not(:disabled){background-color:#4a9eff42}.sample-essay-container{background-color:var(--theme-bg-secondary,#f8f9fa);border:1px solid var(--theme-border,#e9ecef);border-radius:14px;margin-top:16px;padding:20px;transition:background-color .3s,border-color .3s;animation:.5s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.sample-essay-container p{white-space:pre-line;margin:0 0 10px;font-size:14px;line-height:1.7}.sample-essay-fr{color:var(--theme-text-primary,#495057);font-style:italic;transition:color .3s}.sample-essay-lang{color:var(--theme-text-secondary,#6c757d);margin-top:7px;transition:color .3s}.recording-hint{color:#0958d9;background:#e6f4ff;border:1px solid #91caff;border-radius:6px;margin-top:10px;padding:6px 10px;font-size:13px;line-height:1.5}.recording-hint.error{color:#a8071a;background:#fff1f0;border-color:#ffccc7}.recording-interim{color:#1f2937;font-style:italic}.recording-playback{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.recording-playback audio{width:100%;max-width:320px}.delete-record-button{background:var(--theme-bg-tertiary);color:var(--theme-text-primary);border-color:var(--theme-border);box-shadow:none}.delete-record-button:hover:not(:disabled){background:var(--theme-bg-secondary);border-color:var(--theme-text-tertiary)}@media (max-width:1024px){.action-bar{grid-template-columns:1fr;align-items:stretch;gap:6px;display:grid}.left-actions{justify-content:flex-start;width:100%}.right-actions.speaking-question-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:100%;display:grid}.right-actions.speaking-question-actions .ai-model-select{grid-column:1/-1;width:100%;min-width:0}.right-actions.speaking-question-actions .action-button{width:100%;min-width:0}}@media (max-width:768px){.speaking-category-page-container{gap:10px;padding:10px}.sidebar-wrapper{order:1;height:auto;min-height:auto;position:relative}.sidebar-container{z-index:9999;background:var(--theme-card-bg);border-right:1px solid var(--theme-border);border-radius:0;width:280px;max-width:85vw;height:100vh;margin:0;transition:transform .3s;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:2px 0 8px #00000026}.sidebar-container:not(.collapsed){transform:translate(0)}.sidebar{width:100%;height:100vh;max-height:100vh}.sidebar-overlay{z-index:9998;opacity:0;visibility:hidden;pointer-events:none;background-color:#00000080;transition:opacity .3s,visibility .3s;position:fixed;inset:0}.sidebar-overlay.active{opacity:1;visibility:visible;pointer-events:all}.main-title-container{z-index:1;background:var(--theme-bg);order:1;position:relative}.title-header>.sidebar-toggle-btn-in-header{z-index:10000;background:var(--theme-card-bg);position:absolute;left:0}.title-header>.sidebar-toggle-btn-in-header:hover{background:var(--theme-bg-secondary);border-color:var(--theme-accent);color:var(--theme-accent)}.content-grid{flex-direction:column;gap:0;padding:0}.content-wrapper{order:2;width:100%;padding:15px}.title-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%;display:grid}.history-btn,.monthly-btn{width:100%;min-width:0;padding:6px 12px;font-size:12px}.right-actions.speaking-question-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:100%;display:grid}.answer-textarea{height:180px}.right-actions.speaking-question-actions .ai-model-select{grid-column:1/-1;width:100%;min-width:0;height:32px}.question-top-controls{flex-wrap:nowrap;gap:6px}.question-top-controls .font-size-controls{flex:none;gap:3px;min-width:0;padding:3px 6px}.question-top-controls .font-size-btn{min-width:32px;padding:3px 8px;font-size:12px}.question-top-controls .font-size-display{min-width:35px;font-size:11px}.question-top-controls .translation-toggle-btn{text-align:center;flex:auto;min-width:0;padding:5px 10px;font-size:12px}.action-bar{flex-direction:column;align-items:stretch;gap:8px}.left-actions{justify-content:flex-start}.right-actions.speaking-question-actions .action-button{width:100%;min-width:0;padding:4px 6px;font-size:11px}}@media (max-width:480px){.answer-textarea{height:160px}.history-btn,.monthly-btn{padding:5px 10px;font-size:11px}.question-top-controls{gap:4px}.question-top-controls .font-size-controls{gap:2px;padding:2px 4px}.question-top-controls .font-size-btn{min-width:26px;padding:2px 6px;font-size:11px}.question-top-controls .font-size-display{min-width:28px;font-size:10px}.question-top-controls .translation-toggle-btn{border-radius:8px;padding:4px 7px;font-size:10px}.right-actions.speaking-question-actions .ai-model-select{height:30px;padding:4px 7px;font-size:11px}.right-actions.speaking-question-actions .action-button{padding:3px 6px;font-size:10px}.right-actions.speaking-question-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}}.ai-model-select{border:1px solid var(--theme-border);background:var(--theme-card-bg);color:var(--theme-text-primary);cursor:pointer;border-radius:10px;outline:none;min-width:180px;height:34px;margin-right:10px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .3s}.ai-model-select:hover{border-color:var(--theme-accent);box-shadow:0 2px 4px #0000001a}.ai-model-select:focus{border-color:var(--theme-accent);box-shadow:0 0 0 3px #1890ff1a}.ai-grading-button{background:#5e5ce6;box-shadow:0 1px 2px #5e5ce64d}.ai-grading-button:hover:not(:disabled){background:#4f4dd6}.ai-grading-button:disabled{opacity:.55;cursor:not-allowed}.ai-grading-container{background:var(--theme-bg-secondary);border:1px solid var(--theme-border);border-radius:16px;margin-top:16px;padding:24px;transition:all .3s;animation:.5s fadeIn}.ai-grading-header{border-bottom:2px solid #667eea33;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;display:flex}.ai-grading-header h4{color:var(--theme-text-primary);margin:0;font-size:18px;font-weight:700}.close-grading-btn{color:var(--theme-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:20px;transition:all .3s}.close-grading-btn:hover{color:var(--theme-text-primary);background:#667eea1a}.ai-grading-content{color:var(--theme-text-primary);word-wrap:break-word;width:100%;max-height:none;padding:10px 0;line-height:1.8;overflow:auto visible}.ai-grading-content.plain-text-content{max-height:none;line-height:1.6;overflow:visible}.plain-text-wrapper{color:var(--theme-text-primary);width:100%}.plain-text-line{word-wrap:break-word;white-space:pre-wrap;margin-bottom:4px;line-height:1.6}.ai-correct-essay-section{border-top:2px solid #667eea33;margin-top:20px;padding-top:20px}.correct-essay-title{color:var(--theme-text-primary);margin:0 0 12px;font-size:18px;font-weight:700}.ai-correct-essay-content{color:var(--theme-text-primary);background:#667eea0d;border:1px solid #667eea33;border-radius:8px;padding:15px;line-height:1.8}.ai-corrected-essay-section{border-top:2px solid #ffc1074d;margin-top:20px;padding-top:20px}.corrected-essay-title{color:var(--theme-text-primary);margin:0 0 12px;font-size:18px;font-weight:700}.ai-corrected-essay-content{color:var(--theme-text-primary);word-wrap:break-word;background:#ffc10714;border:1px solid #ffc1074d;border-radius:8px;max-height:none;padding:15px;line-height:1.8;overflow:visible}.ai-corrected-essay-content pre{white-space:pre-wrap;word-wrap:break-word;max-height:none;overflow:visible}.corrected-highlight{color:#d32f2f;background-color:#ffeb3b;border-radius:3px;padding:2px 4px;font-weight:600;box-shadow:0 1px 2px #0000001a}[data-theme=black] .ai-model-select{background:var(--theme-card-bg,#1a1a1a);border-color:var(--theme-border,#404040);color:var(--theme-text-primary,#fff)}[data-theme=black] .ai-model-select:hover{border-color:#667eea}[data-theme=black] .ai-grading-container{background:linear-gradient(135deg,#2d2d2d 0%,#1a1a1a 100%);border-color:#667eea4d}[data-theme=black] .ai-grading-header{border-bottom-color:#667eea4d}[data-theme=black] .ai-grading-header h4,[data-theme=black] .ai-grading-content{color:var(--theme-text-primary,#fff)}[data-theme=black] .close-grading-btn{color:var(--theme-text-secondary,#e0e0e0)}[data-theme=black] .close-grading-btn:hover{color:var(--theme-text-primary,#fff);background:#667eea33}[data-theme=black] .ai-correct-essay-content{color:var(--theme-text-primary,#fff);background:#667eea1a;border-color:#667eea4d}[data-theme=black] .ai-corrected-essay-content{color:var(--theme-text-primary,#fff);background:#ffc10726;border-color:#ffc10766}[data-theme=black] .corrected-highlight{color:#fff;background-color:#ffc107;box-shadow:0 1px 3px #ffc1074d}.analysis-button{color:#c2710a;background-color:#ff9f0a24}.analysis-button:hover:not(:disabled){background-color:#ff9f0a38}[data-theme=black] .analysis-button{color:#ffb340;background-color:#ff9f0a33}.panel-title{color:var(--theme-text-primary);letter-spacing:-.01em;margin:0 0 8px;font-size:16px;font-weight:600}
