
	/* Steps indicator */
	.steps.svelte-1wqwmqr {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 12px;
		margin-bottom: 24px;
		flex-wrap: wrap;
	}

	.step-item.svelte-1wqwmqr {
		display: flex;
		align-items: center;
		gap: 8px;
		background: none;
		border: none;
		color: var(--text-ter);
		font-size: 14px;
		cursor: default;
		font-family: var(--font-cjk-ui);
		padding: 0;
	}

	.step-item.svelte-1wqwmqr:not(:disabled) {
		cursor: pointer;
	}

	.step-item.active.svelte-1wqwmqr {
		color: var(--gold);
	}

	.step-item.done.svelte-1wqwmqr {
		color: var(--text-sec);
	}

	.step-num.svelte-1wqwmqr {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 24px;
		height: 24px;
		border-radius: 50%;
		border: 1px solid var(--border-vis);
		font-size: 12px;
	}

	.step-item.active.svelte-1wqwmqr .step-num:where(.svelte-1wqwmqr) {
		border-color: var(--gold);
		background: rgba(201, 169, 110, 0.1);
	}

	.step-item.done.svelte-1wqwmqr .step-num:where(.svelte-1wqwmqr) {
		border-color: var(--success);
		color: var(--success);
	}

	.step-arrow.svelte-1wqwmqr {
		color: var(--text-ter);
		font-size: 14px;
	}

	/* Step content */
	.step-content.svelte-1wqwmqr {
		padding: 28px;
		max-width: 720px;
		margin: 0 auto;
	}

	.step-content.svelte-1wqwmqr h2:where(.svelte-1wqwmqr) {
		font-family: var(--font-cjk-ui);
		font-size: 18px;
		margin-bottom: 8px;
	}

	.step-hint.svelte-1wqwmqr {
		font-size: 13px;
		color: var(--text-sec);
		margin-bottom: 20px;
	}

	.step-actions.svelte-1wqwmqr {
		display: flex;
		justify-content: flex-end;
		gap: 8px;
		margin-top: 20px;
	}

	.step-footer.svelte-1wqwmqr {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-top: 12px;
	}

	.char-count.svelte-1wqwmqr {
		font-size: 12px;
		color: var(--text-ter);
	}

	.char-count.over-limit.svelte-1wqwmqr {
		color: var(--danger-bright);
	}

	/* Step 1: File upload */
	.file-upload-row.svelte-1wqwmqr {
		display: flex;
		align-items: center;
		gap: 10px;
		margin-bottom: 12px;
	}

	.btn-file-upload.svelte-1wqwmqr {
		display: inline-flex;
		align-items: center;
		gap: 6px;
		padding: 6px 14px;
		font-size: 13px;
		background: var(--bg-deep);
		border: 1px solid var(--border-vis);
		border-radius: 6px;
		color: var(--text-sec);
		cursor: pointer;
		transition: border-color 0.2s, color 0.2s;
		font-family: var(--font-cjk-ui);
	}

	.btn-file-upload.svelte-1wqwmqr:hover {
		border-color: var(--gold-dim);
		color: var(--gold);
	}

	.btn-file-upload.uploading.svelte-1wqwmqr {
		pointer-events: none;
		opacity: 0.6;
	}

	.file-upload-hint.svelte-1wqwmqr {
		font-size: 12px;
		color: var(--text-ter);
	}

	/* Step 1: Transcript input */
	.transcript-input.svelte-1wqwmqr {
		width: 100%;
		min-height: 320px;
		padding: 16px;
		background: var(--bg-deep);
		border: 1px solid var(--border-vis);
		border-radius: 8px;
		color: var(--text-pri);
		font-family: var(--font-cjk-ui);
		font-size: 14px;
		line-height: 1.7;
		resize: vertical;
	}

	.transcript-input.svelte-1wqwmqr::placeholder {
		color: var(--text-ter);
	}

	.transcript-input.svelte-1wqwmqr:focus {
		outline: none;
		border-color: var(--gold-dim);
	}

	/* Step 2: Format notice */
	.format-notice.svelte-1wqwmqr {
		font-size: 13px;
		color: var(--gold);
		background: rgba(201, 169, 110, 0.08);
		border: 1px solid rgba(201, 169, 110, 0.2);
		border-radius: 6px;
		padding: 8px 14px;
		margin-bottom: 12px;
	}

	/* Step 2: Guide */
	.speaker-guide.svelte-1wqwmqr {
		background: var(--bg-deep);
		border: 1px solid var(--border);
		border-radius: 8px;
		padding: 14px 18px;
		margin-bottom: 16px;
	}

	.speaker-guide.svelte-1wqwmqr ul:where(.svelte-1wqwmqr) {
		list-style: none;
		padding: 0;
		margin: 0;
		display: flex;
		flex-direction: column;
		gap: 6px;
	}

	.speaker-guide.svelte-1wqwmqr li:where(.svelte-1wqwmqr) {
		font-size: 12px;
		color: var(--text-sec);
		line-height: 1.6;
	}

	.speaker-guide.svelte-1wqwmqr li:where(.svelte-1wqwmqr) strong:where(.svelte-1wqwmqr) {
		color: var(--text-pri);
	}

	/* Step 2: Speaker list */
	.speaker-list.svelte-1wqwmqr {
		display: flex;
		flex-direction: column;
		gap: 10px;
		margin-bottom: 20px;
	}

	.speaker-row.svelte-1wqwmqr {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 12px 14px;
		background: var(--bg-deep);
		border-radius: 8px;
		border: 1px solid var(--border);
	}

	.speaker-left.svelte-1wqwmqr {
		display: flex;
		align-items: center;
		gap: 12px;
		flex: 1;
		min-width: 0;
	}

	/* Portrait */
	.speaker-portrait.svelte-1wqwmqr {
		position: relative;
		width: 48px;
		height: 48px;
		flex-shrink: 0;
	}

	.portrait-img.svelte-1wqwmqr {
		width: 48px;
		height: 48px;
		object-fit: cover;
		border-radius: 6px;
		border: 1px solid var(--border);
	}

	.portrait-placeholder.svelte-1wqwmqr {
		width: 48px;
		height: 48px;
		border-radius: 6px;
		border: 1px dashed var(--border-vis);
		display: flex;
		align-items: center;
		justify-content: center;
		color: var(--text-ter);
	}

	.portrait-upload-btn.svelte-1wqwmqr {
		position: absolute;
		bottom: -4px;
		right: -4px;
		width: 20px;
		height: 20px;
		border-radius: 50%;
		background: var(--bg-card);
		border: 1px solid var(--border-vis);
		display: flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		color: var(--text-sec);
		font-size: 10px;
		transition: border-color 0.2s;
	}

	.portrait-upload-btn.svelte-1wqwmqr:hover {
		border-color: var(--gold-dim);
		color: var(--gold);
	}

	.portrait-upload-btn.uploading.svelte-1wqwmqr {
		pointer-events: none;
		opacity: 0.5;
	}

	.speaker-details.svelte-1wqwmqr {
		display: flex;
		flex-direction: column;
		gap: 4px;
		flex: 1;
		min-width: 0;
	}

	.speaker-meta.svelte-1wqwmqr {
		display: flex;
		align-items: center;
		gap: 8px;
	}

	.speaker-original.svelte-1wqwmqr {
		font-size: 12px;
		color: var(--text-ter);
	}

	.speaker-count.svelte-1wqwmqr {
		font-size: 11px;
		color: var(--text-ter);
	}

	.speaker-display-name.svelte-1wqwmqr {
		padding: 4px 8px;
		font-size: 13px;
		width: 100%;
	}

	.speaker-actions.svelte-1wqwmqr {
		display: flex;
		align-items: center;
		gap: 6px;
		flex-shrink: 0;
	}

	.speaker-role.svelte-1wqwmqr {
		width: 100px;
		padding: 4px 8px;
		font-size: 13px;
		flex-shrink: 0;
	}

	.btn-merge.svelte-1wqwmqr {
		padding: 4px 10px;
		font-size: 12px;
		background: none;
		border: 1px solid var(--border-vis);
		border-radius: 4px;
		color: var(--text-ter);
		cursor: pointer;
		font-family: var(--font-cjk-ui);
		white-space: nowrap;
		transition: border-color 0.2s, color 0.2s;
	}

	.btn-merge.svelte-1wqwmqr:hover {
		border-color: var(--gold-dim);
		color: var(--text-sec);
	}

	.merge-wrapper.svelte-1wqwmqr {
		position: relative;
	}

	.merge-menu.svelte-1wqwmqr {
		position: absolute;
		right: 0;
		top: 100%;
		margin-top: 4px;
		min-width: 140px;
		background: var(--bg-card);
		border: 1px solid var(--border-vis);
		border-radius: 6px;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
		z-index: 10;
		overflow: hidden;
		display: flex;
		flex-direction: column;
	}

	.merge-menu-item.svelte-1wqwmqr {
		padding: 8px 14px;
		font-size: 13px;
		background: none;
		border: none;
		color: var(--text-pri);
		cursor: pointer;
		text-align: left;
		font-family: var(--font-cjk-ui);
		transition: background 0.15s;
	}

	.merge-menu-item.svelte-1wqwmqr:hover {
		background: rgba(201, 169, 110, 0.08);
	}

	.merge-menu-item.svelte-1wqwmqr + .merge-menu-item:where(.svelte-1wqwmqr) {
		border-top: 1px solid var(--border);
	}

	.speaker-warn.svelte-1wqwmqr {
		font-size: 10px;
		color: var(--gold);
		background: rgba(201, 169, 110, 0.12);
		padding: 1px 6px;
		border-radius: 4px;
		white-space: nowrap;
	}

	/* Speaker item (wrapper for row + preview) */
	.speaker-item.svelte-1wqwmqr {
		border: 1px solid var(--border);
		border-radius: 8px;
	}

	.speaker-item.svelte-1wqwmqr > .speaker-row:where(.svelte-1wqwmqr) {
		border: none;
		border-radius: 0;
	}

	.speaker-preview-toggle.svelte-1wqwmqr {
		display: flex;
		align-items: center;
		gap: 6px;
		padding: 6px 14px;
		font-size: 12px;
		color: var(--text-ter);
		cursor: pointer;
		border-top: 1px solid var(--border);
		transition: background 0.2s;
	}

	.speaker-preview-toggle.svelte-1wqwmqr:hover {
		background: rgba(201, 169, 110, 0.04);
		color: var(--text-sec);
	}

	.speaker-preview-arrow.svelte-1wqwmqr {
		font-size: 10px;
	}

	.speaker-preview.svelte-1wqwmqr {
		padding: 8px 14px 14px;
		background: var(--bg-deep);
		border-top: 1px solid var(--border);
		max-height: 240px;
		overflow-y: auto;
	}

	.speaker-preview.svelte-1wqwmqr .preview-line:where(.svelte-1wqwmqr) {
		padding: 3px 0;
		font-size: 13px;
		line-height: 1.6;
		display: flex;
		gap: 8px;
	}

	.speaker-preview.svelte-1wqwmqr .preview-index:where(.svelte-1wqwmqr) {
		font-size: 11px;
		color: var(--text-ter);
		font-family: var(--font-mono);
		min-width: 28px;
		flex-shrink: 0;
	}

	.speaker-preview.svelte-1wqwmqr .preview-text:where(.svelte-1wqwmqr) {
		color: var(--text-pri);
	}

	/* Range slider */
	.scene-limit.svelte-1wqwmqr {
		margin-top: 16px;
		padding-top: 16px;
		border-top: 1px solid var(--border);
	}

	.range-input.svelte-1wqwmqr {
		width: 100%;
		accent-color: var(--gold);
	}

	.range-labels.svelte-1wqwmqr {
		display: flex;
		justify-content: space-between;
		font-size: 11px;
		color: var(--text-ter);
		margin-top: 2px;
	}

	/* Step 3: Default assets */
	.default-assets.svelte-1wqwmqr {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}

	.asset-row.svelte-1wqwmqr {
		display: flex;
		flex-direction: column;
		gap: 8px;
	}

	.asset-upload-btn.svelte-1wqwmqr {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 8px;
		padding: 24px;
		border: 1px dashed var(--border-vis);
		border-radius: 8px;
		cursor: pointer;
		color: var(--text-ter);
		font-size: 13px;
		transition: border-color 0.2s, color 0.2s;
	}

	.asset-upload-btn.svelte-1wqwmqr:hover {
		border-color: var(--gold-dim);
		color: var(--gold);
	}

	.asset-upload-btn.uploading.svelte-1wqwmqr {
		pointer-events: none;
		opacity: 0.6;
	}

	.upload-spinner.svelte-1wqwmqr {
		font-size: 13px;
		color: var(--text-sec);
	}
	.upload-hint-text.svelte-1wqwmqr {
		font-size: 11px;
		color: var(--text-sec);
		opacity: 0.6;
	}

	.asset-preview.svelte-1wqwmqr {
		display: flex;
		align-items: center;
		gap: 12px;
		padding: 12px;
		border: 1px solid var(--border);
		border-radius: 8px;
		background: var(--bg-deep);
	}

	.bg-preview-img.svelte-1wqwmqr {
		width: 120px;
		height: 68px;
		object-fit: cover;
		border-radius: 4px;
		border: 1px solid var(--border);
	}

	.bgm-preview.svelte-1wqwmqr {
		padding: 14px 16px;
	}

	.bgm-filename.svelte-1wqwmqr {
		font-size: 13px;
		color: var(--text-sec);
		flex: 1;
	}

	.btn-remove.svelte-1wqwmqr {
		padding: 4px 10px;
		font-size: 12px;
		background: none;
		border: 1px solid var(--border-vis);
		border-radius: 4px;
		color: var(--text-sec);
		cursor: pointer;
		transition: border-color 0.2s, color 0.2s;
		font-family: var(--font-cjk-ui);
	}

	.btn-remove.svelte-1wqwmqr:hover {
		border-color: var(--danger-bright);
		color: var(--danger-bright);
	}

	/* Step 4: Scene list */
	.import-fields.svelte-1wqwmqr {
		margin-bottom: 20px;
	}

	.title-warning.svelte-1wqwmqr {
		color: var(--danger-bright);
		font-size: 12px;
		margin-left: 8px;
	}

	.input-error.svelte-1wqwmqr {
		border-color: var(--danger-bright) !important;
	}

	.scene-list.svelte-1wqwmqr {
		display: flex;
		flex-direction: column;
		gap: 4px;
	}

	.scene-item.svelte-1wqwmqr {
		border: 1px solid var(--border);
		border-radius: 8px;
		overflow: hidden;
	}

	.scene-header.svelte-1wqwmqr {
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 10px 14px;
		cursor: pointer;
		transition: background 0.2s;
	}

	.scene-header.svelte-1wqwmqr:hover {
		background: rgba(201, 169, 110, 0.04);
	}

	.scene-number.svelte-1wqwmqr {
		font-size: 12px;
		color: var(--gold-dim);
		font-family: var(--font-mono);
		min-width: 24px;
	}

	.scene-title.svelte-1wqwmqr {
		font-size: 14px;
		flex: 1;
	}

	.scene-count.svelte-1wqwmqr {
		font-size: 12px;
		color: var(--text-ter);
	}

	.scene-toggle.svelte-1wqwmqr {
		font-size: 10px;
		color: var(--text-ter);
	}

	.scene-preview.svelte-1wqwmqr {
		padding: 8px 14px 14px;
		background: var(--bg-deep);
		border-top: 1px solid var(--border);
		max-height: 300px;
		overflow-y: auto;
	}

	.preview-line.svelte-1wqwmqr {
		padding: 3px 0;
		font-size: 13px;
		line-height: 1.6;
	}

	.preview-speaker.svelte-1wqwmqr {
		color: var(--gold-dim);
		margin-right: 6px;
		font-weight: 500;
	}

	.preview-speaker.svelte-1wqwmqr::after {
		content: '：';
	}

	.preview-speaker.is-narrator.svelte-1wqwmqr {
		color: var(--text-sec);
		font-style: italic;
	}

	.preview-text.svelte-1wqwmqr {
		color: var(--text-pri);
	}

	/* Progress bar */
	.progress-bar-wrapper.svelte-1wqwmqr {
		display: flex;
		align-items: center;
		gap: 10px;
		margin-top: 16px;
	}

	.progress-bar.svelte-1wqwmqr {
		flex: 1;
		height: 8px;
		background: var(--bg-deep);
		border-radius: 4px;
		border: 1px solid var(--border);
		overflow: hidden;
	}

	.progress-fill.svelte-1wqwmqr {
		height: 100%;
		background: var(--gold);
		border-radius: 4px;
		transition: width 0.4s ease;
	}

	.progress-text.svelte-1wqwmqr {
		font-size: 12px;
		color: var(--text-sec);
		min-width: 36px;
		text-align: right;
	}

	.progress-status.svelte-1wqwmqr {
		font-size: 12px;
		color: var(--text-sec);
		margin-top: 6px;
	}

	.error-msg.svelte-1wqwmqr {
		color: var(--danger-bright);
		font-size: 13px;
		margin-top: 12px;
	}

	/* Page header */
	.page-header.svelte-1wqwmqr {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 24px;
	}

	.page-header.svelte-1wqwmqr h1:where(.svelte-1wqwmqr) {
		display: flex;
		align-items: center;
		font-size: 22px;
	}
