
.gpt5-dialog-tts{display:grid;grid-template-columns:1.4fr .9fr;gap:16px}
.gpt5-dialog-tts textarea{width:100%;min-height:260px;padding:10px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}
.gpt5-dialog-tts textarea.dlg{background:#f0f2fd;border:3px solid #d8d9e3;border-radius:12px;font-size:16px;line-height:1.6}
.gpt5-dialog-tts textarea.dlg::placeholder{color:rgba(80,90,140,.35)}
.gpt5-dialog-tts .row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}
.gpt5-dialog-tts .row-strip{margin-top:0;margin-bottom:6px}
.gpt5-dialog-tts .row-strip .chk{font-weight:700;display:flex;align-items:center;gap:8px}
.gpt5-dialog-tts .actions{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.gpt5-dialog-tts button{padding:8px 12px;border:0;border-radius:10px;background:#2563eb;color:#fff;font-weight:700;cursor:pointer}
.gpt5-dialog-tts .sellbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px;align-items:center}
.gpt5-dialog-tts .sellbar .sellacct{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gpt5-dialog-tts .sellbtn{background:#111827;color:#fff;font-weight:800;border-radius:999px;padding:7px 12px}
.gpt5-dialog-tts .sellbtn:hover{opacity:.9}
.gpt5-dialog-tts .right{border:1px solid #e5e7eb;border-radius:12px;background:#fff;padding:10px}
.sp-headline{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.sp-row{border:1px solid #e5e7eb;border-radius:10px;padding:8px;margin-bottom:10px;background:#f9fafb}
.sp-row .grid{display:grid;grid-template-columns:120px 1fr;gap:8px;align-items:center}
.sp-row .sp-head{font-weight:800;margin-bottom:6px}
.status{margin-top:10px;font-size:22px;font-weight:800;color:#16a34a;line-height:1.4}
.status.status-working,.status.status-done{color:#16a34a}
.status.status-error{color:#dc2626}

.gpt5-dialog-tts .sellbuy{background:#f59e0b;color:#111827;text-decoration:none;display:inline-flex;align-items:center}
.gpt5-dialog-tts .sellbuy:hover{opacity:.9}

/* --- Points badge + buy modal --- */
.pts-badge{margin-left:auto;display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;font-weight:700}
.pts-badge .pts-label{opacity:.75;font-weight:600}
.gfgoai-buy-modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:99999}
.gfgoai-buy-card{width:min(360px,92vw);background:#fff;border-radius:18px;padding:22px 20px;box-shadow:0 18px 60px rgba(0,0,0,.25);text-align:center}
.gfgoai-buy-title{font-size:28px;font-weight:800;margin-bottom:10px}
.gfgoai-buy-line{font-size:20px;margin:8px 0}
.gfgoai-buy-subtitle{margin-top:14px;font-size:16px;font-weight:800}
.gfgoai-buy-packs{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:12px}
.gfgoai-pack{border:1px solid #e5e7eb;border-radius:14px;padding:10px 12px;background:#111;color:#fff;font-weight:800;cursor:pointer}
.gfgoai-pack:hover{opacity:.92}
.gfgoai-auth{margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb;text-align:left}
.gfgoai-auth-row input,
.gfgoai-auth-form input{width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:12px;font-size:16px;margin-top:8px;box-sizing:border-box}
.gfgoai-auth-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:10px}
.gfgoai-auth-btn{border:0;border-radius:12px;padding:10px 12px;background:#2563eb;color:#fff;font-weight:800;cursor:pointer}
.gfgoai-auth-link{font-size:14px;opacity:.8;text-decoration:none}
.gfgoai-auth-msg{margin-top:8px;font-size:13px;opacity:.85}
.gfgoai-buy-actions{margin-top:18px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.gfgoai-buy-btn{border:0;border-radius:12px;padding:10px 14px;font-size:18px;cursor:pointer;background:#eee;text-decoration:none;color:#111;display:inline-block}
.gfgoai-buy-btn.primary{background:#111;color:#fff}

.gfgoai-pack.active{ outline:2px solid rgba(0,0,0,.35); }

.gpt5-dialog-tts .ai-disclosure{margin-top:8px;font-size:13px;color:#6b7280;line-height:1.45}


.sp-voice-line{display:flex;gap:6px;align-items:center;min-width:0}
.sp-voice-line .sp-voice{flex:1;min-width:0}
.sp-voice-line .sp-intro-btn{white-space:nowrap;background:#111827;color:#fff;border-radius:8px;padding:7px 10px;font-size:12px;line-height:1}
.sp-voice-line .sp-intro-btn:disabled{opacity:.55;cursor:not-allowed}

.sp-intro-player{grid-column:1 / -1;margin-top:8px;padding:8px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}
.sp-intro-player audio{width:100%;margin-top:6px}
.sp-intro-text{font-size:13px;line-height:1.45;color:#374151}

/* v1.5.25: 文字工具與音頻轉文字分區 */
.gpt5-dialog-tts .oralize-row{margin:8px 0 6px;align-items:center}
.gpt5-dialog-tts .text-tool-group{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.gpt5-dialog-tts .btn-oralize,
.gpt5-dialog-tts .btn-article-format,
.gpt5-dialog-tts .btn-subtitle-format,
.gpt5-dialog-tts .btn-clear{background:#dbeafe;color:#111827;border-radius:10px;padding:8px 12px;border:1px solid #bfdbfe}
.gpt5-dialog-tts .btn-oralize:hover,
.gpt5-dialog-tts .btn-article-format:hover,
.gpt5-dialog-tts .btn-subtitle-format:hover,
.gpt5-dialog-tts .btn-clear:hover{background:#c7ddff}
.gpt5-dialog-tts .btn-stt-upload{background:#2563eb;color:#fff;border-radius:10px;padding:8px 12px}
.gpt5-dialog-tts .btn-oralize:disabled,
.gpt5-dialog-tts .btn-article-format:disabled,
.gpt5-dialog-tts .btn-subtitle-format:disabled,
.gpt5-dialog-tts .btn-stt-upload:disabled,
.gpt5-dialog-tts .btn-clear:disabled{opacity:.6;cursor:not-allowed}
.gpt5-dialog-tts .oralize-hint{font-size:13px;color:#6b7280;line-height:1.4}
.gpt5-dialog-tts .stt-row{margin-top:8px}
.gpt5-dialog-tts .right-gap-row{display:grid;grid-template-columns:120px 1fr;gap:8px;align-items:center;border:1px solid #e5e7eb;border-radius:10px;padding:8px;margin-top:8px;background:#f9fafb}
.gpt5-dialog-tts .right-gap-row label{font-weight:700;color:#374151}
.gpt5-dialog-tts .right-gap-row input{width:100%;min-width:0;padding:6px 8px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}
.sp-row select.sp-tone-template,
.sp-row select.sp-emotion-intensity{width:100%;min-width:0;padding:6px 8px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}

/* v1.5.8: 介紹/試聽語氣調整面板 */
.sp-intro-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:8px;align-items:end;margin-bottom:8px}
.sp-intro-field label{display:block;font-size:12px;color:#4b5563;margin-bottom:4px}
.sp-intro-field select,.sp-intro-field input[type="range"]{width:100%;min-width:0}
.sp-intro-field select{padding:6px 8px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}
.sp-intro-replay-btn{white-space:nowrap;border:0;border-radius:8px;padding:8px 10px;background:#111827;color:#fff;font-size:12px;cursor:pointer}
.sp-intro-replay-btn:disabled{opacity:.55;cursor:not-allowed}
.sp-intro-tip{font-size:12px;line-height:1.4;color:#6b7280;margin:2px 0 8px}
.sp-intro-audio-slot audio{width:100%;margin-top:6px}
@media (max-width: 760px){.sp-intro-controls{grid-template-columns:1fr 1fr}.sp-intro-replay-btn{grid-column:1 / -1}}


/* v1.5.20: compact SRT settings modal */
.gfgoai-srt-settings-modal{position:fixed;inset:0;background:rgba(1,6,20,.42);display:flex;align-items:center;justify-content:center;z-index:999999}
.gfgoai-srt-settings-card{width:min(300px,86vw);background:#fff;border:1px solid #d9dee9;border-radius:16px;padding:16px 18px 18px;box-shadow:0 14px 42px rgba(0,0,0,.24)}
.gfgoai-srt-title{font-size:18px;font-weight:900;color:#101828;margin-bottom:12px}
.gfgoai-srt-label{display:block;font-size:15px;font-weight:900;color:#101828;margin:10px 0 6px}
.gfgoai-srt-settings-card select{width:100%;height:42px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;color:#101828;font-size:18px;font-weight:800;padding:0 12px}
.gfgoai-srt-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.gfgoai-srt-save{flex:1;min-width:130px;border:0;border-radius:12px;background:#0ea5d8;color:#fff;font-size:17px;font-weight:900;padding:10px 12px;cursor:pointer}
.gfgoai-srt-cancel{border:0;border-radius:12px;background:#e5e7eb;color:#111827;font-size:15px;font-weight:900;padding:10px 12px;cursor:pointer}



/* v1.5.26: separate audio-to-text panel and textarea icons */
.gpt5-dialog-tts .stt-panel{grid-column:1 / -1;border:1px solid #dbe4f0;border-radius:14px;background:#fff;padding:14px;margin-top:4px}
.gpt5-dialog-tts .stt-title{font-size:22px;font-weight:900;color:#111827;margin-bottom:10px}
.gpt5-dialog-tts .stt-picker-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.gpt5-dialog-tts .btn-stt-pick{background:#dbeafe;color:#111827;border:1px solid #bfdbfe;border-radius:10px;padding:8px 12px}
.gpt5-dialog-tts .stt-file-name{font-size:14px;color:#4b5563;word-break:break-all}
.gpt5-dialog-tts .stt-main-action{margin:6px 0 12px}
.gpt5-dialog-tts .btn-stt-upload{background:#2563eb;color:#fff;border-radius:10px;padding:9px 14px}
.gpt5-dialog-tts .stt-output{background:#f0f2fd;border:3px solid #d8d9e3;border-radius:12px;font-size:16px;line-height:1.6;min-height:220px}
.gpt5-dialog-tts .stt-output::placeholder{color:rgba(80,90,140,.35)}
.gpt5-dialog-tts .text-box-wrap{position:relative}
.gpt5-dialog-tts .text-box-wrap textarea{box-sizing:border-box;padding-right:72px}
.gpt5-dialog-tts .text-icons{position:absolute;right:10px;top:10px;display:flex;gap:6px;z-index:3}
.gpt5-dialog-tts .text-icons button{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:8px;background:rgba(255,255,255,.72);color:#111827;border:1px solid #cbd5e1;font-size:16px;line-height:1}
.gpt5-dialog-tts .text-icons button:hover{background:#fff}
.gpt5-dialog-tts .btn-stt-oralize,
.gpt5-dialog-tts .btn-stt-article-format,
.gpt5-dialog-tts .btn-stt-subtitle-format,
.gpt5-dialog-tts .btn-stt-clear{background:#dbeafe;color:#111827;border-radius:10px;padding:8px 12px;border:1px solid #bfdbfe}
.gpt5-dialog-tts .btn-stt-dl-srt{background:#2563eb;color:#fff;border-radius:10px;padding:8px 12px;margin-left:auto}
.gpt5-dialog-tts .btn-stt-dl-srt:disabled{opacity:.55;cursor:not-allowed}
.gpt5-dialog-tts .stt-tool-row{align-items:center}
@media (max-width:760px){.gpt5-dialog-tts{grid-template-columns:1fr}.gpt5-dialog-tts .stt-panel{grid-column:1}.gpt5-dialog-tts .btn-stt-dl-srt{margin-left:0}}


/* v1.5.29: subtitle format popup */
.gfgoai-subtitle-format-modal{position:fixed;inset:0;background:rgba(1,6,20,.42);display:flex;align-items:center;justify-content:center;z-index:999999}
.gfgoai-subtitle-format-card{width:min(380px,90vw);background:#fff;border:1px solid #d9dee9;border-radius:16px;padding:16px 18px 18px;box-shadow:0 14px 42px rgba(0,0,0,.24)}
.gfgoai-subtitle-format-actions{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 10px}
.gfgoai-subtitle-plain,.gfgoai-subtitle-bilingual{flex:1;min-width:140px;border:0;border-radius:12px;background:#dbeafe;color:#111827;font-size:15px;font-weight:900;padding:10px 12px;cursor:pointer;border:1px solid #bfdbfe}
.gfgoai-subtitle-bilingual{background:#2563eb;color:#fff;border-color:#2563eb}
.gfgoai-subtitle-note{font-size:12px;line-height:1.45;color:#667085;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:8px 9px;margin:8px 0}
.gfgoai-subtitle-note.small{font-size:11px;margin-top:8px}
.gfgoai-subtitle-style-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.gfgoai-subtitle-style-grid label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:800;color:#344054}
.gfgoai-subtitle-style-grid input{height:36px;border:1px solid #cbd5e1;border-radius:10px;padding:0 9px;font-size:15px;font-weight:700;color:#101828}

/* v1.5.31: unified text box, compact account, conditional buy button, audio-to-text modal */
.gpt5-dialog-tts .sellbar{align-items:center;width:100%}
.gpt5-dialog-tts .sellbar .sellacct{background:#fff!important;color:#111827!important;border:0!important;border-radius:0!important;padding:4px 6px!important;font-weight:800;box-shadow:none!important;max-width:260px;cursor:pointer}
.gpt5-dialog-tts .sellbar .sellacct:hover{background:#fff!important;text-decoration:underline}
.gpt5-dialog-tts .sellbar .sellbuy{background:#f59e0b;color:#111827;border-radius:999px;font-weight:900;padding:8px 14px;margin-left:8px;white-space:nowrap}
.gpt5-dialog-tts .pts-badge{margin-left:auto}
.gpt5-dialog-tts .mode-indicator{margin:4px 0 6px;min-height:20px}
.gpt5-dialog-tts .mode-label{display:inline-flex;align-items:center;border-radius:999px;background:#eef4ff;border:1px solid #cfe0ff;color:#1f3a5f;font-size:13px;font-weight:900;padding:3px 9px}
.gpt5-dialog-tts[data-work-mode="stt"] .mode-label{background:#ecfeff;border-color:#a5f3fc;color:#155e75}
.gpt5-dialog-tts .btn-stt-open{background:#2563eb!important;color:#fff!important;border-radius:10px;padding:8px 12px;font-weight:800}
.sp-voice-line .sp-intro-btn{font-size:13px;padding:7px 12px}

.gfgoai-audio-to-text-modal{position:fixed;inset:0;background:rgba(1,6,20,.48);display:flex;align-items:center;justify-content:center;z-index:999999}
.gfgoai-audio-to-text-card{width:min(420px,92vw);background:#fff;border:1px solid #d9dee9;border-radius:18px;padding:18px 20px 20px;box-shadow:0 18px 56px rgba(0,0,0,.28)}
.gfgoai-audio-title{font-size:22px;font-weight:900;color:#111827;margin-bottom:12px}
.gfgoai-audio-drop{border:2px dashed #93c5fd;border-radius:16px;background:#eff6ff;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;cursor:pointer;transition:.15s ease}
.gfgoai-audio-drop:hover,.gfgoai-audio-drop.dragover{background:#dbeafe;border-color:#2563eb}
.gfgoai-audio-plus{width:44px;height:44px;border-radius:999px;background:#2563eb;color:#fff;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:900;line-height:1}
.gfgoai-audio-drop-text{font-size:18px;font-weight:900;color:#111827}
.gfgoai-audio-types{font-size:13px;color:#667085;font-weight:700}
.gfgoai-audio-to-text-card .stt-file-name{margin-top:10px;font-size:14px;color:#344054;word-break:break-all}
.gfgoai-audio-to-text-card .stt-cost{margin-top:8px;border-radius:10px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:14px;font-weight:900;padding:7px 9px}
.gfgoai-audio-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.gfgoai-audio-actions .btn-stt-upload{background:#2563eb;color:#fff;border-radius:12px;font-size:16px;font-weight:900;padding:10px 14px;border:0;cursor:pointer}
.gfgoai-audio-actions .btn-stt-cancel{background:#e5e7eb;color:#111827;border-radius:12px;font-size:16px;font-weight:900;padding:10px 14px;border:0;cursor:pointer}
.gfgoai-audio-actions .btn-stt-upload:disabled{opacity:.55;cursor:not-allowed}

/* The subtitle-format popup now only keeps max characters and bilingual action; older style inputs are no longer shown. */
.gfgoai-subtitle-style-grid{display:none!important}


/* v1.5.32: audio preview + separated action rows */
.gpt5-dialog-tts .audio-preview{margin:10px 0 8px;border:1px solid #dbe4f0;border-radius:12px;background:#f8fafc;padding:10px}
.gpt5-dialog-tts .audio-preview-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:7px;font-size:13px;font-weight:800;color:#344054}
.gpt5-dialog-tts .audio-preview-kind{color:#1d4ed8}
.gpt5-dialog-tts .audio-preview-name{color:#111827;word-break:break-all}
.gpt5-dialog-tts .audio-preview audio{width:100%;display:block}
.gpt5-dialog-tts .action-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}
.gpt5-dialog-tts .btn-primary-action{background:#2563eb!important;color:#fff!important;border:1px solid #2563eb!important;border-radius:10px!important;padding:9px 14px!important;font-weight:900!important}
.gpt5-dialog-tts .btn-secondary-action{background:#fff!important;color:#111827!important;border:1.5px solid #2563eb!important;border-radius:10px!important;padding:8px 13px!important;font-weight:900!important}
.gpt5-dialog-tts .btn-secondary-action:disabled{opacity:.45;cursor:not-allowed;background:#fff!important;color:#64748b!important;border-color:#93c5fd!important}
.gpt5-dialog-tts .btn-primary-action:disabled{opacity:.55;cursor:not-allowed}
.gpt5-dialog-tts .oralize-hint,.gpt5-dialog-tts .ai-disclosure,.gfgoai-subtitle-note{display:none!important}

/* v1.5.33: audio-based text correction diff */
.text-correction-preview{margin:10px 0 12px;border:1px solid #fecaca;background:#fff7f7;border-radius:12px;padding:10px 12px;color:#111827;font-size:14px;line-height:1.65;max-height:220px;overflow:auto}
.text-correction-preview .diff-title{font-weight:900;margin-bottom:4px;color:#991b1b}
.text-correction-preview .diff-legend{font-size:12px;color:#6b7280;margin-bottom:6px}
.text-correction-preview .diff-body{white-space:normal;word-break:break-word}
.text-correction-preview .diff-missing{color:#dc2626;font-weight:900;background:#fee2e2;border-radius:3px;padding:0 1px}
.text-correction-preview .diff-extra{color:#b91c1c;background:#fff1f2;border-radius:3px;padding:0 1px}
.text-correction-preview .diff-extra s{text-decoration-thickness:2px}
