@import"https://fonts.googleapis.com/icon?family=Material+Icons";:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}@media (prefers-color-scheme: dark){:root{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2)}}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--bg-base: #6c5fd0;--bg-gradient: linear-gradient(135deg, #6c5fd0 0%, #8e80de 48%, #b49ae2 100%);--glow-magenta: rgba(224, 112, 184, .3);--glow-orange: rgba(244, 168, 100, .28);--glass-strong: rgba(255, 255, 255, .66);--surface: rgba(255, 255, 255, .58);--surface-subtle: rgba(255, 255, 255, .3);--glass-inset: rgba(255, 255, 255, .42);--surface-hover: rgba(255, 255, 255, .44);--glass-border: rgba(255, 255, 255, .5);--glass-highlight: rgba(255, 255, 255, .6);--blur-panel: 14px;--blur-strong: 18px;--text: #221d4e;--text-secondary: #3f3978;--text-muted: #514b88;--border-subtle: rgba(34, 29, 78, .14);--border-control: rgba(34, 29, 78, .62);--primary: #2e2768;--on-primary: #ffffff;--primary-hover: #251f58;--accent: #5b4fc8;--on-accent: #ffffff;--accent-hover: #493eae;--destructive: #a81e36;--on-destructive: #ffffff;--destructive-hover: #8f1830;--error-text: #9c1a31;--error-surface: rgba(168, 30, 54, .1);--success: #14662f;--warning: #7a4d00;color-scheme:light;--disabled-bg: rgba(255, 255, 255, .26);--disabled-text: #453f7a;--focus-ring: #2e2768;--field-bg: rgba(255, 255, 255, .66);--field-bg-focus: rgba(255, 255, 255, .8);--shadow-card: 0 8px 24px rgba(40, 32, 96, .18), 0 2px 6px rgba(40, 32, 96, .1);--shadow-card-hover: 0 12px 32px rgba(40, 32, 96, .24), 0 3px 8px rgba(40, 32, 96, .12);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--speed: .18s;--bg-color: var(--bg-base);--text-color: var(--text);--container-bg: var(--surface);--border-color: var(--border-subtle)}.dark-mode{--bg-base: #191543;--bg-gradient: linear-gradient(135deg, #2b2362 0%, #1d1848 52%, #120f33 100%);--glow-magenta: rgba(196, 84, 168, .2);--glow-orange: rgba(226, 138, 86, .13);--glass-strong: rgba(255, 255, 255, .13);--surface: rgba(255, 255, 255, .09);--surface-subtle: rgba(255, 255, 255, .12);--glass-inset: rgba(255, 255, 255, .055);--surface-hover: rgba(255, 255, 255, .17);--glass-border: rgba(255, 255, 255, .22);--glass-highlight: rgba(255, 255, 255, .3);--text: #f2f0fc;--text-secondary: #c9c4ea;--text-muted: #bcb7ee;--border-subtle: rgba(255, 255, 255, .14);--border-control: rgba(255, 255, 255, .44);--primary: #e9e6f8;--on-primary: #241e52;--primary-hover: #f7f5ff;--accent: #c9bdf6;--on-accent: #241e52;--accent-hover: #ddd4fa;--destructive: #c23352;--on-destructive: #ffffff;--destructive-hover: #c73a58;--error-text: #f7abbd;--error-surface: rgba(120, 20, 44, .28);--success: #7dd8a0;--warning: #f2be6a;color-scheme:dark;--disabled-bg: rgba(255, 255, 255, .08);--disabled-text: #b5b0e2;--focus-ring: #c9bdf6;--field-bg: rgba(10, 8, 30, .42);--field-bg-focus: rgba(10, 8, 30, .3);--shadow-card: 0 10px 28px rgba(0, 0, 0, .38), 0 2px 8px rgba(0, 0, 0, .25);--shadow-card-hover: 0 14px 36px rgba(0, 0, 0, .45), 0 3px 10px rgba(0, 0, 0, .3)}#app{width:100%;font-weight:400}a{text-decoration:none;color:var(--accent);transition:color var(--speed)}@media (hover: hover){a:hover{color:var(--accent-hover);text-decoration:underline}}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}}.workbench{max-width:1600px;margin:0 auto;padding:20px;background-color:transparent;grid-column:1 / -1}.workbench-body{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:20px;margin-top:20px}.workbench-left,.workbench-main{display:flex;flex-direction:column;gap:20px;min-width:0}.project-toolbar,.role-management,.api-connection,.about-panel,.batch-import,.bulk-role-setting,.dialogue-editor,.synthesis-panel{background:var(--surface);-webkit-backdrop-filter:blur(var(--blur-panel)) saturate(140%);backdrop-filter:blur(var(--blur-panel)) saturate(140%);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:inset 0 1px 0 var(--glass-highlight),var(--shadow-card)}.role-management:hover,.api-connection:hover,.batch-import:hover,.bulk-role-setting:hover,.dialogue-editor:hover,.synthesis-panel:hover{border-color:var(--glass-highlight);box-shadow:inset 0 1px 0 var(--glass-highlight),var(--shadow-card-hover)}.project-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:12px 16px;background:var(--glass-strong)}.toolbar-brand{display:flex;align-items:center;gap:8px}.brand-mark{font-size:22px}.brand-title{margin:0;font-size:18px;font-weight:600;color:var(--text)}.toolbar-project{flex:1 1 200px}.project-name-field{display:flex;align-items:center;gap:8px}.field-label{font-size:13px;color:var(--text-secondary)}.project-name-input{flex:1;padding:6px 10px;border:1px solid var(--border-control);border-radius:var(--radius-sm);background-color:var(--field-bg);color:var(--text);min-width:160px}.toolbar-actions{display:flex;gap:10px;align-items:center}.toolbar-divider{width:1px;height:24px;background-color:var(--border-subtle)}.toolbar-status{display:flex;flex-wrap:wrap;gap:10px;width:100%}.io-status{font-size:13px;color:var(--success)}.io-error{font-size:13px;color:var(--error-text)}.hidden-file-input{display:none}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;min-width:88px;padding:0 16px;border:1px solid var(--border-control);border-radius:var(--radius-sm);background-color:var(--surface-subtle);color:var(--text);font-family:inherit;font-size:14px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;transition:background-color var(--speed),border-color var(--speed),color var(--speed),box-shadow var(--speed)}button:hover:not(:disabled){background-color:var(--surface-hover)}button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}button:disabled{background-color:var(--disabled-bg);color:var(--disabled-text);border-color:var(--border-subtle);cursor:not-allowed}button .material-icons{font-size:18px}.add-btn,.export-btn,.import-btn,.import-file-btn,.bundle-export-btn,.bundle-import-btn,.save-btn,.check-btn,.merge-btn,.retry-btn,.play-btn,.apply-bulk-btn{background-color:var(--primary);color:var(--on-primary);border-color:transparent;box-shadow:var(--shadow-card)}.action-btn,.icon-btn,.primary-btn,.secondary-btn{background-color:var(--surface-subtle);color:var(--text);border:1px solid var(--border-control)}.primary-btn{background-color:var(--accent);color:var(--on-accent);border-color:transparent;box-shadow:var(--shadow-card)}.icon-btn{min-width:0;width:36px;padding:0}.add-btn:hover:not(:disabled),.export-btn:hover:not(:disabled),.import-btn:hover:not(:disabled),.import-file-btn:hover:not(:disabled),.bundle-export-btn:hover:not(:disabled),.bundle-import-btn:hover:not(:disabled),.save-btn:hover:not(:disabled),.check-btn:hover:not(:disabled),.merge-btn:hover:not(:disabled),.retry-btn:hover:not(:disabled),.play-btn:hover:not(:disabled),.apply-bulk-btn:hover:not(:disabled){background-color:var(--primary-hover)}.generate-btn{background-color:var(--accent);color:var(--on-accent);border-color:transparent;min-width:120px;box-shadow:var(--shadow-card)}.generate-btn:hover:not(:disabled){background-color:var(--accent-hover)}.remove-btn{background-color:var(--destructive);color:var(--on-destructive);border-color:transparent}.remove-btn:hover:not(:disabled){background-color:var(--destructive-hover)}.import-btn{width:100%;margin-top:10px}.preview-btn{height:36px;min-width:88px;padding:0 12px;gap:6px}.preview-btn .material-icons{font-size:18px}input[type=range]{width:100px;accent-color:var(--accent)}select{padding:8px;border:1px solid var(--border-control);border-radius:var(--radius-sm);background-color:var(--field-bg);color:var(--text);min-width:150px}textarea{width:100%;padding:10px;border:1px solid var(--border-control);border-radius:var(--radius-sm);background-color:var(--field-bg);color:var(--text);resize:vertical}select:focus-visible,textarea:focus-visible,input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;background-color:var(--field-bg-focus)}::placeholder{color:var(--text-muted);opacity:1}label{display:flex;align-items:center;gap:5px}.role-management,.api-connection,.about-panel{padding:15px;min-width:0}.about-text{margin:8px 0;font-size:13px;line-height:1.6;color:var(--text-secondary)}.about-qr{display:block;margin:10px auto 2px;width:60%;max-width:200px;height:auto;border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.api-status-line{margin:8px 0;font-size:14px;color:var(--text-secondary)}.api-status-line strong{color:var(--text);font-weight:600}.api-details{margin:6px 0;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background-color:var(--glass-inset);padding:6px 10px}.api-details summary{cursor:pointer;font-size:14px;color:var(--text);-webkit-user-select:none;user-select:none}.api-details .field-row{margin-top:8px}.role-management .roles{max-height:70vh;overflow-y:auto;min-width:0}.role-management label.field{display:flex;flex-direction:column;align-items:stretch;gap:4px;margin-bottom:10px}.role-management label.field>select,.role-management label.field>input{width:100%;min-width:0}.role-item{margin-bottom:15px;padding:10px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background-color:var(--glass-inset);transition:border-color var(--speed)}.role-item:hover{border-color:var(--border-control)}.role-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.role-name{font-weight:600;color:var(--text)}.role-settings select,.line-settings select{width:100%;margin-bottom:10px}.voice-select{display:flex;gap:10px}.voice-settings{display:flex;gap:20px}.voice-warning{margin:4px 0 8px;font-size:13px;color:var(--warning)}.catalog-error{color:var(--error-text)}.current-selection,.preview-meta{font-size:13px;color:var(--text-secondary)}.preview-error{font-size:13px;color:var(--error-text)}.script-panel{display:flex;flex-direction:column;gap:20px}.batch-import{padding:15px}.batch-import summary{cursor:pointer;font-weight:600;font-size:1.17em;color:var(--text);-webkit-user-select:none;user-select:none}.batch-import-body{margin-top:12px}.batch-import textarea{height:auto;min-height:120px;margin-bottom:10px}.import-options{display:flex;gap:15px;margin-bottom:10px;color:var(--text-secondary);font-size:14px}.bulk-role-setting{margin-top:20px;padding:15px}.bulk-role-setting h3{margin-top:0;color:var(--text)}.bulk-controls{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}.bulk-controls select,.bulk-controls .apply-bulk-btn,.bulk-controls .clear-selection-btn{width:100%;margin-bottom:5px}.selection-info{font-size:14px;color:var(--text-secondary);font-style:italic}.bulk-empty-hint{margin:4px 0;font-size:14px;color:var(--text-secondary)}.dialogue-editor{padding:20px;margin-bottom:20px}.toolbar{display:flex;flex-wrap:wrap;gap:15px;align-items:center;margin-bottom:20px}.line-count{font-size:14px;color:var(--text-secondary)}.empty-lines{margin:0 0 16px;padding:14px 16px;border:1px dashed var(--border-control);border-radius:var(--radius-sm);color:var(--text-secondary);background-color:var(--glass-inset)}.dialogue-lines{display:flex;flex-direction:column;gap:20px}.dialogue-line{border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:15px;background-color:var(--glass-inset);transition:border-color var(--speed),box-shadow var(--speed)}.dialogue-line:hover{border-color:var(--border-control)}.dialogue-line.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--focus-ring)}.line-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.line-number{font-weight:600;color:var(--text-secondary)}.line-content,.voice-controls{display:flex;flex-direction:column;gap:10px}textarea{min-height:60px;height:auto;overflow-y:hidden}.synthesis-panel{padding:20px;margin-bottom:20px}.silence-control{display:flex;align-items:center;gap:10px;color:var(--text-secondary)}.result-audio{margin-top:20px;padding:15px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background-color:var(--glass-inset)}.result-audio h3{margin-top:0;margin-bottom:10px;color:var(--text)}.result-audio audio{width:100%}.audio-controls{display:flex;flex-direction:column;gap:10px}.job-box{margin-top:16px;padding:12px 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background-color:var(--glass-inset)}.job-status{color:var(--text)}.line-id{color:var(--text-secondary)}.error-box{margin-top:16px;padding:10px 14px;border:1px solid var(--destructive);border-radius:var(--radius-sm);background-color:var(--error-surface);color:var(--error-text)}.blocked-reason{margin:10px 0 0;padding:8px 12px;border:1px dashed var(--border-control);border-radius:var(--radius-sm);background-color:var(--glass-inset);color:var(--text-secondary);font-size:14px}.problem-list{margin:10px 0 0;padding-left:20px;color:var(--warning);font-size:14px}.problem-list li{margin:2px 0}.error-hint,.check-result{font-size:13px}.check-result.ok{color:var(--success)}.check-result.bad{color:var(--error-text)}.btn-row{display:flex;align-items:center;gap:10px}.line-status{font-weight:500}.line-status.succeeded{color:var(--success)}.line-status.failed{color:var(--error-text)}.line-error{color:var(--error-text);font-size:13px}.merge-notice{margin-top:16px;color:var(--warning)}@media (max-width: 1080px){.workbench-body{grid-template-columns:minmax(0,1fr)}}.api-connection[data-v-d1f69aaa]{display:flex;flex-direction:column;gap:8px}.status-row[data-v-d1f69aaa]{display:flex;align-items:center;gap:8px}.status-label[data-v-d1f69aaa]{min-width:84px;font-size:.9em;opacity:.85}.status-value[data-v-d1f69aaa]{flex:1;font-size:.9em}.status-value.ok[data-v-d1f69aaa]{color:var(--color-success, #2e7d32)}.status-value.bad[data-v-d1f69aaa]{color:var(--color-error, #c62828)}.status-value.warn[data-v-d1f69aaa]{color:var(--color-warn, #f57c00)}.action-btn[data-v-d1f69aaa]{font-size:.85em;padding:4px 10px}.token-section[data-v-d1f69aaa]{border:1px solid transparent;border-radius:6px;padding:8px}.token-section.emphasize[data-v-d1f69aaa]{border-color:var(--color-warn, #f57c00);background:#f57c0014}.em[data-v-d1f69aaa]{font-weight:700}.onboarding-overlay[data-v-78638896]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0a0c188c;display:flex;align-items:center;justify-content:center;padding:24px}.onboarding-card[data-v-78638896]{background:var(--panel-bg, #ffffff);color:var(--text, #222);border-radius:12px;box-shadow:0 12px 40px #0000004d;max-width:520px;width:100%;padding:20px 24px}.onboarding-head[data-v-78638896]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.onboarding-head h2[data-v-78638896]{margin:0;font-size:1.15em}.icon-btn[data-v-78638896]{background:transparent;border:none;cursor:pointer;color:inherit;opacity:.7}.onboarding-steps[data-v-78638896]{margin:0 0 16px;padding-left:20px;display:flex;flex-direction:column;gap:12px}.onboarding-steps li[data-v-78638896]{font-size:.95em;line-height:1.55}.onboarding-steps p[data-v-78638896]{margin:4px 0 0;opacity:.85}.onboarding-foot[data-v-78638896]{display:flex;justify-content:flex-end;gap:10px}.primary-btn[data-v-78638896],.secondary-btn[data-v-78638896]{border-radius:8px;padding:8px 16px;font-size:.95em;cursor:pointer}.primary-btn[data-v-78638896]{background:var(--primary, #1976d2);color:#fff;border:none}.secondary-btn[data-v-78638896]{background:transparent;color:inherit;border:1px solid rgba(128,128,128,.4)}body{margin:0;padding:0;background-color:var(--bg-base);background-image:radial-gradient(560px 420px at 84% 10%,var(--glow-magenta),transparent 70%),radial-gradient(640px 480px at 8% 92%,var(--glow-orange),transparent 70%),var(--bg-gradient);background-attachment:fixed;color:var(--text);transition:color var(--speed)}.app-container{min-height:100vh;display:flex;flex-direction:column}.header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:var(--glass-strong);-webkit-backdrop-filter:blur(var(--blur-strong)) saturate(140%);backdrop-filter:blur(var(--blur-strong)) saturate(140%);border-bottom:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-highlight),var(--shadow-card)}.site-title{margin:0;font-size:22px;font-weight:600;letter-spacing:.02em;color:var(--text)}.theme-toggle{width:36px;height:36px;min-width:36px;padding:0;background:transparent;border:1px solid transparent;border-radius:50%;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--speed)}.theme-toggle:hover{background-color:var(--surface-hover)}.footer{margin-top:auto;text-align:center;padding:20px;color:var(--text-secondary)}
