:root{--bg: #ffffff;--bg-subtle: #fafafa;--bg-hover: #f5f5f5;--text: #0a0a0a;--text-secondary: #737373;--text-tertiary: #a3a3a3;--border: #e8e8e8;--border-strong: #d4d4d4;--accent: #5b9fd4;--accent-hover: #4a8fc4;--accent-subtle: rgba(91, 159, 212, .08);--favorite: #ca8a04;--favorite-strong: #a16207;--favorite-subtle: rgba(251, 191, 36, .12);--favorite-border: rgba(234, 179, 8, .35);--font: "Instrument Sans", system-ui, -apple-system, sans-serif;--radius: 10px;--radius-sm: 6px;--shadow-sm: none;--shadow-md: none;--header-h: 44px;--side-panel-w: 216px;--content-max: 720px;--input-dock-h: auto;--line-row-h: 20px;--surface-script: var(--bg);--workspace-glass-bg: rgba(255, 255, 255, .48);--workspace-glass-blur: blur(12px) saturate(140%);--ease: cubic-bezier(.22, 1, .36, 1);--motion-fast: .15s;--motion-normal: .25s;--motion-layout: .28s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font);font-size:14px;line-height:1.45;color:var(--text);background:var(--bg);height:100%;overflow:hidden}#root{height:100%}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:none}ul{list-style:none}.app{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.app-main,.app-main-view{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.app-main-view[hidden]{display:none!important}.app-body{flex:1;min-height:0;display:flex;overflow:hidden}.side-panel{flex-shrink:0;width:var(--side-panel-w);display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--bg);overflow:hidden}.projects-panel-content{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto;scrollbar-gutter:stable}.projects-panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 12px 8px}.projects-panel-title{font-size:13px;font-weight:600;letter-spacing:-.01em}.projects-panel-sign-in{padding:0 12px 16px}.projects-panel-sign-in-body{font-size:13px;color:var(--text-secondary);line-height:1.6}.projects-panel-sign-in .btn{width:100%;margin-top:16px}.projects-panel-sign-in-note{margin-top:12px;font-size:12px;color:var(--text-tertiary);line-height:1.5}.projects-panel-list{display:flex;flex-direction:column;gap:2px;padding:0 6px 12px}.projects-panel-empty{padding:8px 16px 20px;font-size:13px;color:var(--text-tertiary)}.main-view-nav{flex-shrink:0;display:flex;align-items:center;gap:16px;padding:8px 16px 4px;background:var(--bg)}.main-view-tab{position:relative;isolation:isolate;padding:2px 6px;font:inherit;font-size:13px;font-weight:500;color:var(--text-tertiary);border:none;background:none;cursor:pointer;white-space:nowrap;transition:color .15s var(--ease)}.main-view-tab:hover:not(.active){color:var(--text-secondary)}.main-view-tab.active{color:var(--text);font-weight:600}.main-view-tab.active:before,.main-view-tab:focus-visible:before{content:"";position:absolute;z-index:-1;left:-4px;right:-4px;top:52%;bottom:-2px;background:#fef08ab8;border-radius:2px;transform:rotate(-1.2deg)}.main-view-tab:focus-visible{outline:none;color:var(--text)}.voice-library-page{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.voice-library-scroll{flex:1;min-height:0;overflow-x:visible;overflow-y:auto;scrollbar-gutter:stable}.voice-library-inner{max-width:960px;margin:0 auto;padding:20px 24px 24px}.voice-library-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}.voice-library-title{font-size:22px;font-weight:600;letter-spacing:-.02em}.voice-library-subtitle{margin-top:6px;font-size:14px;color:var(--text-secondary);line-height:1.5}.voice-library-subtitle-only{margin-top:0;flex:1;min-width:0;font-size:12px;font-weight:400;letter-spacing:.03em;color:var(--text-tertiary);line-height:1.4}.voice-library-header-wheel{margin-bottom:24px;align-items:center}.voice-library-header-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}.voice-library-style-toggle,.language-picker{display:inline-flex;align-items:center;padding:3px;border-radius:999px;background:var(--bg-subtle);border:1px solid var(--border)}.language-select{position:relative;min-width:0}.language-select-trigger{display:inline-flex;align-items:center;justify-content:center;min-width:112px;max-width:180px;padding:6px 12px;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--text);font-size:12px;font-weight:500;cursor:pointer;transition:border-color .15s var(--ease),background .15s var(--ease)}.language-select-trigger:hover{border-color:var(--border-strong);background:var(--bg-subtle)}.language-select.is-open .language-select-trigger{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-subtle)}.language-select-trigger-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.language-select-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:24;min-width:100%;max-height:220px;padding:4px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);box-shadow:0 10px 28px #0000001f}.language-select-scroll{max-height:208px;overflow-y:auto;overscroll-behavior:contain}.language-select-option{display:block;width:100%;padding:8px 10px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;text-align:center;cursor:pointer;transition:background .12s var(--ease),color .12s var(--ease)}.language-select-option:hover{background:var(--bg-hover);color:var(--text)}.language-select-option.active{background:color-mix(in srgb,var(--accent) 12%,var(--bg));color:var(--accent)}.voice-library-style-option,.language-picker-option{font-size:12px;font-weight:500;color:var(--text-secondary);padding:5px 12px;border-radius:999px;background:none;border:none;cursor:pointer;transition:color .15s var(--ease),background .15s var(--ease)}.voice-library-style-option:hover,.language-picker-option:hover{color:var(--text)}.voice-library-style-option.active,.language-picker-option.active{color:var(--text);background:var(--bg);box-shadow:0 1px 3px #00000014}.voice-library-favorites{flex-shrink:0;font-size:13px;font-weight:500;color:var(--text-secondary);padding:4px 2px;background:none;border:none;cursor:pointer;transition:color .15s var(--ease)}.voice-library-favorites:hover,.voice-library-favorites.active{color:var(--text)}.voice-library-empty{font-size:14px;color:var(--text-tertiary)}.voice-library-inner-wheel{max-width:800px;display:flex;flex-direction:column;padding:24px 32px 32px}.voice-wheel-section{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:24px;padding:8px 0;min-height:0;width:100%;overflow:visible}.voice-wheel-stage{position:relative;width:100%;height:min(44vh,380px);min-height:268px;flex-shrink:0;padding:28px 56px;overflow:visible;perspective:1100px;perspective-origin:50% 50%;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}.voice-wheel-controls{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:20}.voice-wheel-nav{pointer-events:auto;position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;opacity:.82;transition:color .15s var(--ease),opacity .15s var(--ease),transform .15s var(--ease)}.voice-wheel-nav:first-child{left:8px}.voice-wheel-nav:last-child{right:8px}.voice-wheel-nav:hover:not(:disabled){color:var(--text);opacity:1;transform:translateY(-50%) scale(1.06)}.voice-wheel-nav:disabled{opacity:.35;cursor:default}.voice-wheel-stage.is-dragging{cursor:grabbing}.voice-wheel-stage.is-dragging .voice-wheel-item{transition:none}.voice-wheel-ring{position:absolute;top:0;right:0;bottom:0;left:0;transform-style:preserve-3d}.voice-wheel-item{position:absolute;left:50%;top:50%;width:min(34vw,172px);padding:0;border:none;background:none;cursor:pointer;transform-style:preserve-3d;transition:transform .55s var(--ease),opacity .45s var(--ease),width .55s var(--ease);will-change:transform,opacity}.voice-wheel-item.is-active{cursor:grab;width:min(38vw,196px);z-index:120}.voice-wheel-item-frame{position:relative;aspect-ratio:1 / 1;overflow:visible;background:transparent;border:none;box-shadow:none}.voice-wheel-item.is-active .voice-wheel-item-frame{border:none;box-shadow:none}.voice-wheel-item-portrait{display:block;width:100%;height:100%;object-fit:contain;object-position:top center;pointer-events:none;background:transparent}.voice-wheel-detail{width:100%;max-width:420px;text-align:center;animation:voiceWheelDetailIn .45s var(--ease)}.voice-wheel-detail-meta{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:8px}.voice-wheel-detail-index{font-size:12px;font-weight:500;letter-spacing:.08em;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.voice-wheel-detail-index-sep{margin:0 2px;opacity:.5}.voice-wheel-detail-name{font-size:26px;font-weight:600;letter-spacing:-.03em;line-height:1.15}.voice-wheel-detail-desc{margin-top:6px;font-size:15px;color:var(--text-secondary);line-height:1.5}.voice-wheel-detail-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:18px}.voice-wheel-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 16px;border-radius:999px;border:1px solid var(--border);background:var(--bg);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:color .15s var(--ease),border-color .15s var(--ease),background .15s var(--ease),transform .12s var(--ease)}.voice-wheel-action:hover{color:var(--text);border-color:var(--border-strong);transform:translateY(-1px)}.voice-wheel-action-primary{color:var(--text);background:var(--bg-subtle)}.voice-wheel-action-primary.is-previewing{color:var(--bg);background:var(--text);border-color:var(--text)}.voice-wheel-action.is-favorite{color:var(--favorite-strong);border-color:var(--favorite-border);background:var(--favorite-subtle)}.voice-wheel-dots{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:4px}.voice-wheel-dot{width:6px;height:6px;padding:0;border:none;border-radius:50%;background:var(--border-strong);cursor:pointer;transition:transform .2s var(--ease),background .2s var(--ease)}.voice-wheel-dot:hover{transform:scale(1.15);background:var(--text-tertiary)}.voice-wheel-dot.is-active{transform:scale(1.35);background:var(--text)}.voice-wheel-detail.is-dragging{animation:none}@keyframes voiceWheelDetailIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.voice-wheel-item,.voice-wheel-detail,.line-item,.line-content-anim,.line-compose,.speaker-block,.speaker-block-character-float,.line-text-input,.history-jump-wrap,.speaker-block-voice-picker-panel,.line-voice-picker-panel,.workspace-status,.workspace-status-chevron,.workspace-save-bar,.voice-picker-favorite-item{animation:none!important;transition:none!important}}.header{position:sticky;top:0;z-index:100;height:var(--header-h);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 16px;background:var(--bg);border-bottom:1px solid var(--border)}.header-brand{grid-column:1;justify-self:start;display:flex;align-items:center;gap:8px;color:var(--text);transition:opacity .15s var(--ease)}.header-brand:hover{opacity:.7}.header-wordmark{font-size:15px;font-weight:600;letter-spacing:-.02em}.header-center{grid-column:2;justify-self:center;display:flex;align-items:center;justify-content:center}.header-nav{grid-column:3;display:flex;align-items:center;justify-content:flex-end;gap:12px}.app-switcher{position:relative}.app-switcher-trigger{display:inline-flex;align-items:center;gap:4px;padding:3px 5px;margin:-3px -5px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:var(--text-secondary);transition:background .15s var(--ease),color .15s var(--ease)}.app-switcher-trigger:hover{background:var(--bg-subtle);color:var(--text)}.app-switcher-trigger-name{letter-spacing:-.01em}.app-switcher-menu{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);min-width:220px;padding:4px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);z-index:110}.app-switcher-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:8px 10px;font-size:13px;color:var(--text-secondary);border:none;background:none;border-radius:4px;cursor:pointer;font:inherit;text-align:left;text-decoration:none;transition:background .12s var(--ease),color .12s var(--ease)}.app-switcher-item:hover{background:var(--bg-hover);color:var(--text)}.app-switcher-item.active{color:var(--text);background:var(--accent-subtle)}.app-switcher-item-main{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.app-switcher-item-name{font-weight:500;color:inherit}.app-switcher-item-tag{font-size:11px;color:var(--text-tertiary)}.app-switcher-item-badge{flex-shrink:0;font-size:10px;font-weight:500;color:var(--text-tertiary);padding:3px 6px;border:1px solid var(--border);border-radius:var(--radius-sm);white-space:nowrap}.app-switcher-divider{height:1px;margin:4px 0;background:var(--border)}.app-hub{flex:1;overflow-y:auto;padding:48px 24px 64px}.app-hub-inner{max-width:720px;margin:0 auto}.app-hub-header{margin-bottom:32px}.app-hub-title{font-size:24px;font-weight:600;letter-spacing:-.02em}.app-hub-subtitle{margin-top:8px;font-size:14px;color:var(--text-secondary);line-height:1.6}.app-hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;list-style:none}.app-hub-card{display:flex;flex-direction:column;height:100%;padding:18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);transition:border-color .15s var(--ease),background .15s var(--ease)}.app-hub-card:hover{border-color:var(--border-strong);background:var(--bg-subtle)}.app-hub-card.is-soon{opacity:.72}.app-hub-card-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.app-hub-card-name{font-size:16px;font-weight:600;letter-spacing:-.01em}.app-hub-card-tag{font-size:11px;font-weight:500;color:var(--text-tertiary)}.app-hub-card-desc{margin-top:10px;font-size:13px;color:var(--text-secondary);line-height:1.5;flex:1}.app-hub-card-badge{margin-top:14px;align-self:flex-start;font-size:11px;font-weight:500;color:var(--text-tertiary);padding:3px 8px;border:1px solid var(--border);border-radius:var(--radius-sm)}.app-workspace-soon{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:32px 24px;overflow-y:auto}.app-workspace-soon-inner{display:flex;flex-direction:column;align-items:center;max-width:360px;text-align:center}.app-workspace-soon-status{font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary)}.app-workspace-soon-title{margin-top:12px;font-size:28px;font-weight:600;letter-spacing:-.03em;color:var(--text)}.app-workspace-soon-tagline{margin-top:6px;font-size:14px;font-weight:500;color:var(--text-secondary)}.app-workspace-soon-body{margin-top:16px;font-size:14px;color:var(--text-tertiary);line-height:1.65}.app-workspace-back{margin-top:28px;min-width:140px}.header-link-btn{font-size:13px;color:var(--text-secondary);transition:color .15s var(--ease)}.header-link-btn:hover{color:var(--text)}.header-user{display:flex;align-items:center;gap:12px}.header-user-name{font-size:13px;color:var(--text-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;border-radius:var(--radius-sm);transition:all .15s var(--ease);white-space:nowrap}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--text);color:var(--bg)}.btn-primary:not(:disabled):hover{background:#262626}.btn-secondary{background:var(--bg);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-strong)}.btn-ghost{color:var(--text-secondary)}.btn-ghost:hover{color:var(--text)}.btn-generate{min-width:108px;padding:7px 18px;font-size:13px;border-radius:var(--radius-sm)}.btn-generate-inline{min-width:auto;min-height:30px;padding:0 12px;font-size:12px}.range-slider,.track-mix-slider,.floating-script-player-seek,.mini-player-seek,.audio-seek{--range-track-h: 3px;--range-thumb-size: 12px;width:100%;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer}.track-mix-slider{--range-thumb-size: 11px;height:18px}.floating-script-player-seek{--range-track-h: 4px;--range-thumb-size: 12px;height:22px;position:relative;z-index:1}.mini-player-seek{--range-thumb-size: 10px;height:16px}.audio-seek{--range-track-h: 4px;height:18px}.range-slider::-webkit-slider-runnable-track,.track-mix-slider::-webkit-slider-runnable-track,.mini-player-seek::-webkit-slider-runnable-track,.audio-seek::-webkit-slider-runnable-track{height:var(--range-track-h);border-radius:999px;background:color-mix(in srgb,var(--border) 88%,transparent)}.floating-script-player-seek::-webkit-slider-runnable-track{height:var(--range-track-h);border-radius:999px;background:transparent}.range-slider::-webkit-slider-thumb,.track-mix-slider::-webkit-slider-thumb,.floating-script-player-seek::-webkit-slider-thumb,.mini-player-seek::-webkit-slider-thumb,.audio-seek::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:var(--range-thumb-size);height:var(--range-thumb-size);margin-top:calc((var(--range-track-h) - var(--range-thumb-size)) / 2);border-radius:50%;background:var(--bg);border:1.5px solid color-mix(in srgb,var(--border-strong) 75%,var(--accent) 25%);box-shadow:0 1px 2px #0000000f;transition:transform .12s var(--ease),border-color .12s var(--ease),box-shadow .12s var(--ease)}.range-slider:hover::-webkit-slider-thumb,.track-mix-slider:hover::-webkit-slider-thumb,.floating-script-player-seek:hover::-webkit-slider-thumb,.mini-player-seek:hover::-webkit-slider-thumb,.audio-seek:hover::-webkit-slider-thumb{border-color:color-mix(in srgb,var(--accent) 50%,var(--border-strong));box-shadow:0 1px 4px #0000001a}.range-slider:active::-webkit-slider-thumb,.track-mix-slider:active::-webkit-slider-thumb,.floating-script-player-seek:active::-webkit-slider-thumb,.mini-player-seek:active::-webkit-slider-thumb,.audio-seek:active::-webkit-slider-thumb{transform:scale(1.08)}.range-slider:focus-visible,.track-mix-slider:focus-visible,.floating-script-player-seek:focus-visible,.mini-player-seek:focus-visible,.audio-seek:focus-visible{outline:none}.range-slider:focus-visible::-webkit-slider-thumb,.track-mix-slider:focus-visible::-webkit-slider-thumb,.floating-script-player-seek:focus-visible::-webkit-slider-thumb,.mini-player-seek:focus-visible::-webkit-slider-thumb,.audio-seek:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--accent-subtle),0 1px 3px #0000001a;border-color:var(--accent)}.range-slider::-moz-range-track,.track-mix-slider::-moz-range-track,.mini-player-seek::-moz-range-track,.audio-seek::-moz-range-track{height:var(--range-track-h);border-radius:999px;background:color-mix(in srgb,var(--border) 88%,transparent);border:none}.floating-script-player-seek::-moz-range-track{height:var(--range-track-h);border-radius:999px;background:transparent;border:none}.floating-script-player-seek::-moz-range-progress{background:transparent}.range-slider::-moz-range-thumb,.track-mix-slider::-moz-range-thumb,.floating-script-player-seek::-moz-range-thumb,.mini-player-seek::-moz-range-thumb,.audio-seek::-moz-range-thumb{width:var(--range-thumb-size);height:var(--range-thumb-size);border-radius:50%;background:var(--bg);border:1.5px solid color-mix(in srgb,var(--border-strong) 75%,var(--accent) 25%);box-shadow:0 1px 2px #0000000f}.floating-script-player-seek::-webkit-slider-thumb,.floating-script-player-seek::-moz-range-thumb{background:var(--bg);border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent),0 1px 3px #0000001f}.floating-script-player-seek:hover::-webkit-slider-thumb,.floating-script-player-seek:hover::-moz-range-thumb{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent),0 2px 5px #00000024}.range-slider:disabled,.track-mix-slider:disabled,.floating-script-player-seek:disabled,.mini-player-seek:disabled,.audio-seek:disabled{opacity:.45;cursor:not-allowed}.workspace{--script-player-height: 132px;--character-size: 52px;--character-avatar-size: 44px;--character-size-active: 72px;--character-avatar-size-active: 64px;flex:1;display:flex;flex-direction:column;min-height:0}.workspace-main{flex:1;min-height:0;position:relative;display:flex;flex-direction:column}.workspace-body{flex:1;min-height:0;overflow-y:auto;scrollbar-gutter:stable;background:var(--surface-script)}.workspace-main:has(.workspace-overlay-dock) .workspace-history{padding-bottom:148px}.workspace-main:has(.floating-script-player-mix) .workspace-history{padding-bottom:228px}.workspace-main:has(.workspace-save-bar.is-unsaved) .workspace-history{padding-bottom:176px}.workspace-main:has(.workspace-save-bar.is-unsaved):has(.floating-script-player-mix) .workspace-history{padding-bottom:256px}.workspace-main:has(.workspace-overlay-dock) .workspace-body{scroll-padding-bottom:48px}.workspace-overlay-dock{position:absolute;left:0;right:0;bottom:0;z-index:4;display:flex;flex-direction:column;pointer-events:none;background:var(--workspace-glass-bg);backdrop-filter:var(--workspace-glass-blur);-webkit-backdrop-filter:var(--workspace-glass-blur)}.workspace-overlay-dock>*{pointer-events:auto}.workspace-content{max-width:var(--content-max);margin:0 auto;width:100%}.workspace-save-bar{position:relative;left:auto;right:auto;bottom:auto;z-index:auto;width:100%;padding:6px 16px 8px;background:transparent;pointer-events:auto;animation:saveBarIn .32s var(--ease) both}.workspace-save-bar.is-unsaved,.workspace-save-bar.is-saved{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.workspace-overlay-dock:has(.workspace-save-bar) .workspace-save-bar.is-unsaved,.workspace-overlay-dock:has(.workspace-save-bar) .workspace-save-bar.is-saved{padding-bottom:4px}.workspace-overlay-dock:has(.workspace-save-bar) .floating-script-player-wrap{padding-top:4px}.workspace-save-bar .workspace-content{display:flex;align-items:center;justify-content:center;min-height:26px;pointer-events:auto}.workspace-status{margin:0;display:inline-flex;align-items:center;gap:6px;font-size:12px;line-height:1.4;min-width:0}.workspace-status.is-unsaved{color:#b45309;font-weight:500}.workspace-status.is-saved{color:#15803d;font-weight:500}.workspace-status-text{min-width:0}.workspace-status-nudge{display:inline-flex;align-items:center;gap:1px;margin:0 1px;color:#d97706;font-size:14px;font-weight:600;line-height:1}.workspace-status-chevron{display:block;opacity:.28;animation:saveNudgeChevron 1.4s var(--ease) infinite}.workspace-status-chevron:nth-child(2){animation-delay:.18s}.workspace-status-chevron:nth-child(3){animation-delay:.36s}.workspace-status-save{flex-shrink:0;padding:3px 10px;border:1px solid rgba(217,119,6,.35);border-radius:999px;background:#fbbf2424;font:inherit;font-size:12px;font-weight:600;color:#92400e;cursor:pointer;transition:background .15s var(--ease),border-color .15s var(--ease),transform .15s var(--ease)}.workspace-status-save:hover{background:#fbbf243d;border-color:#d977068c}.workspace-status-save:active{transform:scale(.97)}.workspace-action-btn{font-size:13px;font-weight:500;color:var(--text-secondary);padding:4px 2px;background:none;border:none;white-space:nowrap;cursor:pointer;transition:color .15s var(--ease)}.workspace-action-btn:hover:not(:disabled){color:var(--text)}.workspace-action-btn:disabled{opacity:.4;cursor:not-allowed}.workspace-history{padding:14px 16px 32px;overflow:visible}.line-compose-area{display:flex;flex-direction:column;gap:10px;position:relative;z-index:2;flex-shrink:0;scroll-margin-bottom:32px}.history-list{display:flex;flex-direction:column;gap:16px;max-width:var(--content-max);margin:0 auto;width:100%;padding-bottom:12px;overflow:visible}.history-jump-wrap{position:sticky;bottom:16px;z-index:4;display:flex;justify-content:center;pointer-events:none;animation:fadeIn var(--motion-normal) var(--ease);margin-top:16px}.workspace .floating-script-player-wrap{flex-shrink:0;z-index:auto;width:100%;padding:10px 16px 12px;background:transparent;animation:fadeIn var(--motion-normal) var(--ease)}.floating-script-player{max-width:var(--content-max);margin:0 auto;display:flex;flex-direction:column;gap:8px}.floating-script-player:focus{outline:none}.floating-script-player:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--accent-subtle);border-radius:var(--radius-sm)}.floating-script-player-context{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.floating-script-player-context-text{display:flex;align-items:baseline;gap:8px;min-width:0;margin:0;font-size:12px;line-height:1.3}.floating-script-player-context-line{flex-shrink:0;font-weight:650;color:var(--text)}.floating-script-player-context-voice{min-width:0;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floating-script-player-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;min-width:0}.floating-script-player-timeline{display:grid;grid-template-rows:auto auto;gap:4px;min-width:0}.floating-script-player-mix{padding:6px 8px 4px;margin-top:2px;border:none;border-radius:0;background:transparent}.floating-script-player-mix .track-mix-controls{gap:10px}.floating-script-player-mix .track-mix-control{gap:4px}.floating-script-player-mix .track-mix-control-label{padding:0 1px;font-size:9px;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary)}.floating-script-player-mix .track-mix-control-value{font-size:11px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.floating-script-player-mix .track-mix-slider::-webkit-slider-runnable-track{background:color-mix(in srgb,var(--border-strong) 72%,var(--border))}.floating-script-player-mix .track-mix-slider::-moz-range-track{background:color-mix(in srgb,var(--border-strong) 72%,var(--border))}.floating-script-player-mix .track-mix-slider::-webkit-slider-thumb{border-color:color-mix(in srgb,var(--accent) 70%,var(--border-strong))}.floating-script-player-mix .track-mix-slider:hover::-webkit-slider-thumb{border-color:var(--accent)}.floating-script-player-mix .track-mix-slider::-moz-range-thumb{border-color:color-mix(in srgb,var(--accent) 70%,var(--border-strong))}.floating-script-player-mix .track-mix-slider:hover::-moz-range-thumb{border-color:var(--accent)}.floating-script-player-time{flex-shrink:0;display:flex;align-items:baseline;justify-content:flex-end;gap:3px;min-width:72px;font-variant-numeric:tabular-nums;white-space:nowrap}.floating-script-player-time-sep{font-size:11px;color:var(--text-tertiary)}.floating-script-player-download{position:relative;flex-shrink:0}.floating-script-player-download-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-tertiary);cursor:pointer;transition:color .15s var(--ease),background .15s var(--ease)}.floating-script-player-download-btn:hover:not(:disabled){color:var(--text-secondary);background:var(--bg-hover)}.floating-script-player-download-btn:disabled{opacity:.35;cursor:not-allowed}.floating-script-player-download-menu{position:absolute;right:0;bottom:calc(100% + 6px);min-width:196px;padding:4px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 10px 28px #0000001f;z-index:20}.floating-script-player-download-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:8px 10px;border:none;border-radius:4px;background:transparent;text-align:left;cursor:pointer;transition:background .12s var(--ease),color .12s var(--ease)}.floating-script-player-download-item:hover:not(:disabled){background:var(--bg-hover)}.floating-script-player-download-item:disabled{opacity:.45;cursor:not-allowed}.floating-script-player-download-item-label{font-size:13px;font-weight:600;color:var(--text)}.floating-script-player-download-item-meta{font-size:11px;color:var(--text-tertiary)}.floating-script-player-time-current{font-size:12px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.floating-script-player-time-total{font-size:11px;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.floating-script-player-seek-bar{position:relative;display:flex;align-items:center;width:100%;height:20px}.floating-script-player-seek-track{position:absolute;top:0;right:0;bottom:0;left:0;margin-block:auto;height:var(--range-track-h, 4px);border-radius:999px;background:color-mix(in srgb,var(--border) 88%,transparent);overflow:hidden;pointer-events:none}.floating-script-player-seek-fill{height:100%;width:var(--seek-progress, 0%);border-radius:inherit;background:var(--accent)}.floating-script-player-seek-bar:has(.floating-script-player-seek:disabled) .floating-script-player-seek-fill{background:color-mix(in srgb,var(--text-tertiary) 55%,transparent)}.floating-script-player-markers{position:relative;min-height:16px;pointer-events:none}.floating-script-player-segment{position:absolute;top:50%;display:flex;align-items:center;min-width:0;padding:0;border:1px solid color-mix(in srgb,var(--border-strong) 78%,var(--border));border-radius:0;background:color-mix(in srgb,var(--border-strong) 42%,transparent);transform:translateY(-50%);pointer-events:auto;cursor:pointer;overflow:hidden;transition:background .15s var(--ease),border-color .15s var(--ease),border-width .15s var(--ease)}.floating-script-player-segment:disabled{cursor:default}.floating-script-player-segment:not(:disabled):not(.is-selected):hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--border))}.floating-script-player-segment:not(:disabled):hover{background:color-mix(in srgb,var(--accent) 24%,white)}.floating-script-player-segment.is-playing:not(.is-selected):not(:disabled):hover{background:color-mix(in srgb,var(--accent) 38%,white)}.floating-script-player-segment.is-selected:not(:disabled):hover{background:color-mix(in srgb,var(--accent) 58%,white)}.floating-script-player-segment:not(:disabled):not(.is-selected):not(.is-playing):hover .floating-script-player-segment-label{color:color-mix(in srgb,var(--accent) 75%,var(--text))}.floating-script-player-segment:not(:disabled):hover .floating-script-player-segment-gap{background-color:color-mix(in srgb,var(--accent) 8%,var(--bg-subtle));background-image:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--accent) 34%,transparent) 0 1px,transparent 1px 4px)}.floating-script-player-segment.is-selected{background:color-mix(in srgb,var(--accent) 52%,white);border-width:2px;border-color:color-mix(in srgb,var(--accent) 82%,var(--border));z-index:2}.floating-script-player-segment.has-gap{background:transparent;align-items:stretch;gap:0}.floating-script-player-segment.has-gap:not(.is-selected):not(.is-playing){background:transparent}.floating-script-player-segment.has-gap:not(.is-selected):not(.is-playing):not(:disabled):hover{background:transparent}.floating-script-player-segment.has-gap.is-selected,.floating-script-player-segment.has-gap.is-playing:not(.is-selected){background:transparent}.floating-script-player-segment.is-playing:not(.is-selected){background:color-mix(in srgb,var(--accent) 32%,white);border-color:color-mix(in srgb,var(--accent) 38%,var(--border));z-index:1}.floating-script-player-segment.is-selected.is-playing{background:color-mix(in srgb,var(--accent) 62%,white);border-width:2px;border-color:var(--accent)}.floating-script-player-segment-audio{flex:0 0 var(--segment-audio-share, 100%);display:flex;align-items:center;justify-content:center;height:var(--segment-audio-height, 20px);min-width:0;transition:height .15s var(--ease),background .15s var(--ease),border-color .15s var(--ease)}.floating-script-player-segment.has-gap .floating-script-player-segment-audio{background:color-mix(in srgb,var(--border-strong) 42%,transparent);border-right:1px solid color-mix(in srgb,var(--border-strong) 72%,transparent)}.floating-script-player-segment.has-gap:not(.is-selected):not(.is-playing):not(:disabled):hover .floating-script-player-segment-audio{background:color-mix(in srgb,var(--accent) 24%,white)}.floating-script-player-segment.has-gap.is-selected .floating-script-player-segment-audio{background:color-mix(in srgb,var(--accent) 52%,white)}.floating-script-player-segment.has-gap.is-playing:not(.is-selected) .floating-script-player-segment-audio{background:color-mix(in srgb,var(--accent) 32%,white)}.floating-script-player-segment.has-gap.is-selected.is-playing .floating-script-player-segment-audio{background:color-mix(in srgb,var(--accent) 62%,white)}.floating-script-player-segment:not(.has-gap) .floating-script-player-segment-audio{border-right:none}.floating-script-player-segment-gap{position:relative;flex:1 1 auto;align-self:stretch;height:var(--segment-audio-height, 20px);min-width:4px;background-color:var(--bg-subtle);background-image:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--border-strong) 55%,transparent) 0 1px,transparent 1px 4px);box-shadow:inset 0 1px color-mix(in srgb,var(--border) 70%,transparent)}.floating-script-player-segment-gap[data-label]:after{content:attr(data-label);position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;letter-spacing:.01em;color:var(--text-tertiary);font-variant-numeric:tabular-nums;pointer-events:none}.floating-script-player-segment.is-selected .floating-script-player-segment-gap,.floating-script-player-segment.is-playing .floating-script-player-segment-gap{background-color:color-mix(in srgb,var(--accent) 8%,var(--bg-subtle));background-image:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--accent) 38%,transparent) 0 1px,transparent 1px 4px);box-shadow:inset 0 1px color-mix(in srgb,var(--accent) 22%,var(--border))}.floating-script-player-segment.is-selected .floating-script-player-segment-gap[data-label]:after,.floating-script-player-segment.is-playing .floating-script-player-segment-gap[data-label]:after{color:color-mix(in srgb,var(--accent) 72%,var(--text))}.floating-script-player-segment-label{font-size:9px;font-weight:700;color:var(--text-tertiary);font-variant-numeric:tabular-nums;line-height:1}.floating-script-player-segment.is-selected .floating-script-player-segment-label,.floating-script-player-segment.is-playing .floating-script-player-segment-label{color:color-mix(in srgb,var(--text) 78%,white)}.track-mix-track-list{display:flex;flex-wrap:wrap;gap:6px}.track-mix-track-pill{min-width:28px;height:24px;padding:0 8px;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--text-secondary);font-size:11px;font-weight:700;cursor:pointer}.track-mix-track-pill.is-active{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 12%,var(--bg));color:var(--accent)}.track-mix-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.track-mix-control{display:flex;flex-direction:column;gap:6px;min-width:0}.track-mix-control-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.track-mix-control-label{font-size:11px;font-weight:500;color:var(--text-tertiary)}.track-mix-control-value{font-size:11px;font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums}@media(max-width:720px){.track-mix-controls{grid-template-columns:1fr}}.floating-script-player-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:999px;background:var(--text);color:var(--bg);cursor:pointer;transition:transform .15s var(--ease),background .15s var(--ease),opacity .15s var(--ease)}.floating-script-player-btn.is-playing{background:var(--accent)}.floating-script-player-btn:hover:not(:disabled){transform:scale(1.03)}.floating-script-player-btn:disabled{opacity:.45;cursor:not-allowed}.floating-script-player.is-empty{opacity:.5}@media(max-width:720px){.floating-script-player-main{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"play timeline" "time download";gap:8px 10px}.floating-script-player-btn{grid-area:play}.floating-script-player-timeline{grid-area:timeline}.floating-script-player-time{grid-area:time;min-width:0;justify-content:flex-start}.floating-script-player-download{grid-area:download;justify-self:end}}.line-duration-btn{flex-shrink:0;min-width:52px;height:var(--line-row-h);padding:0 10px;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--text-secondary);font-size:12px;font-variant-numeric:tabular-nums;cursor:pointer;transition:color .15s var(--ease),border-color .15s var(--ease),background .15s var(--ease)}.line-duration-btn:hover{color:var(--text);border-color:var(--border-strong);background:var(--bg-subtle)}.line-item.is-playing .line-duration-btn{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--bg))}.history-jump-to-compose{pointer-events:auto;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;border:1px solid var(--border);background:var(--bg);color:var(--text-secondary);box-shadow:0 2px 10px #00000014;cursor:pointer;transition:color .15s var(--ease),border-color .15s var(--ease),background .15s var(--ease)}.history-jump-to-compose:hover{color:var(--text);border-color:var(--border-strong);background:var(--bg-subtle)}.history-jump-to-compose:focus-visible{outline:none;border-color:var(--accent);color:var(--accent)}.history-lines{display:flex;flex-direction:column;gap:20px;overflow:visible}.speaker-block{display:grid;grid-template-columns:var(--character-size) minmax(0,1fr);column-gap:12px;align-items:start;min-width:0;position:relative;padding-bottom:2px;overflow:visible;transition:grid-template-columns var(--motion-layout) var(--ease)}.speaker-block.is-active{grid-template-columns:var(--character-size-active) minmax(0,1fr)}.speaker-block.is-active .speaker-block-character-slot,.speaker-block.is-active .speaker-block-character-float,.speaker-block.is-active .speaker-block-character,.speaker-block.is-active .line-character-stack{width:var(--character-size-active)}.speaker-block.is-active .line-voice-avatar{width:var(--character-avatar-size-active)}.speaker-block.is-active .line-voice-name{max-width:var(--character-size-active)}.speaker-block-lines{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:2px;min-width:0;background:transparent;border:none;border-left:2px solid color-mix(in srgb,var(--border-strong) 58%,transparent);border-radius:0;padding:2px 0 2px 12px;overflow:visible}.speaker-block-lines .line-item.is-playing:not(.is-active){background:color-mix(in srgb,var(--accent) 8%,var(--bg))}.speaker-block-character-slot{grid-column:1;grid-row:1;width:var(--character-size);padding-left:10px;height:0;overflow:visible;z-index:0;pointer-events:none;transition:width var(--motion-layout) var(--ease)}.speaker-block.is-active .speaker-block-character-slot{z-index:1}.speaker-block.is-picker-open .speaker-block-character-slot{z-index:0}.speaker-block-character-float{width:var(--character-size);pointer-events:auto;will-change:transform;transition:width var(--motion-layout) var(--ease)}.speaker-block-voice-picker-panel{grid-column:1 / -1;width:100%;min-width:0;padding:8px 10px 2px;overflow:visible;position:relative;z-index:2;animation:fadeUp .15s var(--ease)}.speaker-block-voice-picker-panel .voice-strip-picker{min-width:0}.speaker-block-character{display:flex;flex-direction:column;align-items:center;gap:4px;padding:0;flex-shrink:0;width:var(--character-size);transition:width var(--motion-layout) var(--ease)}.speaker-block-lines .line-item-inner{grid-template-columns:auto minmax(0,1fr) auto;padding:4px 10px;align-items:start}.speaker-block-lines .line-item.is-active .line-item-inner{align-items:start}.speaker-block-lines .line-heading{grid-column:auto;grid-row:auto;align-self:start;min-width:24px}.speaker-block-lines .line-item.is-active .line-heading{align-self:start}.line-item-body{display:flex;flex-direction:column;gap:8px;overflow:visible}.line-item-character{width:var(--character-size);flex-shrink:0;display:flex;justify-content:center;transition:width var(--motion-layout) var(--ease)}.line-item{position:relative;border:none;border-radius:0;background:transparent;scroll-margin-top:52px;scroll-margin-bottom:32px;transition:color var(--motion-fast) var(--ease),background var(--motion-fast) var(--ease);cursor:pointer}.line-item.is-entering{animation:lineEnter var(--motion-normal) var(--ease) both}.line-item.is-exiting{animation:lineExit var(--motion-normal) var(--ease) forwards;pointer-events:none;overflow:hidden}.line-item:hover:not(.is-active) .line-text{color:var(--text)}.line-item.is-active{background:transparent;cursor:default}.line-item.is-playing:not(.is-active){background:color-mix(in srgb,var(--accent) 8%,var(--bg))}.line-item.is-playing:not(.is-active) .line-text{color:var(--text)}.line-item.is-playing:not(.is-active) .line-label{color:var(--accent)}.line-item-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:8px;padding:6px 10px;transition:align-items var(--motion-layout) var(--ease),gap var(--motion-layout) var(--ease),padding var(--motion-layout) var(--ease)}.line-content-anim{min-width:0;width:100%;animation:lineContentIn var(--motion-normal) var(--ease) both}.line-item-controls{display:flex;align-items:center;min-height:var(--line-row-h);gap:0;flex-shrink:0;transition:align-self var(--motion-layout) var(--ease)}.line-item.is-active .line-item-inner{align-items:start}.line-item.is-active .line-item-controls{align-self:start}.line-item-icon-group{display:flex;align-items:center;gap:0;flex-shrink:0}.line-download-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:var(--line-row-h);height:var(--line-row-h);border:none;padding:0;border-radius:var(--radius-sm);background:none;color:var(--text-tertiary);cursor:pointer;transition:color .15s var(--ease),background .15s var(--ease)}.line-download-btn:hover{background:var(--bg-hover);color:var(--text)}.line-download-btn:focus-visible{outline:none;background:var(--bg-hover);color:var(--text)}.line-delete-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:var(--line-row-h);height:var(--line-row-h);border:none;padding:0;border-radius:var(--radius-sm);background:none;color:var(--text-tertiary);cursor:pointer;transition:color .15s var(--ease),background .15s var(--ease)}.line-delete-btn:hover{background:var(--bg-hover);color:#dc2626}.line-delete-btn:focus-visible{outline:none;background:var(--bg-hover);color:#dc2626}.line-heading{flex-shrink:0;display:flex;align-items:flex-start;align-self:start;min-height:var(--line-row-h);transition:align-self var(--motion-layout) var(--ease),padding var(--motion-layout) var(--ease)}.speaker-block-lines .line-item:not(.is-active) .line-heading{padding-top:0}.line-heading-with-voice{flex-direction:row;align-items:flex-start;gap:8px;width:auto;min-width:0}.line-character-stack{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0;width:var(--character-size);transition:width var(--motion-layout) var(--ease)}.line-heading-with-voice .line-label{align-self:flex-start}.line-voice-avatar{display:block;width:var(--character-avatar-size);aspect-ratio:1 / 1;border-radius:9px;overflow:hidden;background:transparent;flex-shrink:0;transition:box-shadow .35s var(--ease),width var(--motion-layout) var(--ease)}.line-voice-avatar img{display:block;width:100%;height:100%;object-fit:contain;object-position:top center}.speaker-block-character-trigger.is-picker-open .line-voice-avatar,.line-character-trigger.is-picker-open .line-voice-avatar,.line-voice-avatar.is-picker-open{box-shadow:0 0 0 1px var(--accent)}.line-heading-meta{display:none}.line-voice-name{font-size:10px;font-weight:600;letter-spacing:.01em;color:var(--text-secondary);max-width:var(--character-size);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2;flex-shrink:0;text-align:center}.line-voice-name.is-active{color:var(--accent)}.line-label{flex-shrink:0;font-size:11px;font-weight:500;color:var(--text-tertiary);letter-spacing:.02em;font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;height:var(--line-row-h);line-height:1;transition:color var(--motion-normal) var(--ease)}.line-item.is-active .line-label{color:var(--accent)}.line-text.is-expanded,.line-text.is-current{white-space:normal;color:var(--text);overflow:visible}.line-text.is-placeholder{color:var(--text-tertiary);font-style:normal}.line-speaker{flex-shrink:0;font-size:12px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.line-item .mini-player{flex-shrink:0}.line-player-spacer{width:148px;height:var(--line-row-h);flex-shrink:0}.line-download-spacer{width:var(--line-row-h);flex-shrink:0}.line-text-editor-wrap{min-width:0;width:100%;display:flex;flex-direction:column;gap:8px}.line-item.is-active .line-text-editor-wrap{align-self:stretch;justify-self:stretch}.line-item.is-active .line-text-editor-row{width:100%}.line-text-editor-wrap>*{pointer-events:auto}.line-text-editor-row{min-width:0;width:100%}.line-text-editor-row.is-disabled{opacity:.65;pointer-events:none}.line-text-editor-anchor{min-width:0;width:100%}.line-text-editor-field{min-width:0;width:100%;display:flex;flex-direction:column;gap:8px}.line-text-editor{flex:1 1 auto;min-width:0;width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.line-text-editor:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-subtle)}.speaker-block-lines .line-item.is-active .line-text-editor,.line-compose.is-active .line-text-editor{border:none;border-bottom:1px solid var(--border-strong);border-radius:0;background:transparent;box-shadow:none}.speaker-block-lines .line-item.is-active .line-text-editor:focus-within,.line-compose.is-active .line-text-editor:focus-within{border-bottom-color:var(--accent);box-shadow:none}.speaker-block-lines .line-item.is-active .line-text-editor .line-text-input,.line-compose.is-active .line-text-editor .line-text-input{min-height:0;padding:0 4px 0 0;line-height:1.5}.line-text-editor .line-text-input{grid-column:unset;grid-row:unset;width:100%;align-self:unset;min-height:36px;padding:8px 10px;line-height:1.45;field-sizing:content}.line-text-editor-meta{display:none}.line-generate-toolbar{display:inline-flex;align-items:flex-end;gap:10px;width:fit-content;max-width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:0;background:color-mix(in srgb,var(--bg-subtle) 88%,var(--accent-subtle))}.line-generate-toolbar-options{display:flex;align-items:flex-end;gap:10px;flex-wrap:nowrap}.line-generate-toolbar-group{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.line-generate-toolbar-group-language{min-width:0}.line-generate-toolbar-label{padding:0 2px;font-size:9px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);white-space:nowrap}.line-generate-toolbar-group-language,.line-generate-toolbar-group-autoplay{align-items:center}.line-generate-toolbar-group-language .line-generate-toolbar-label,.line-generate-toolbar-group-autoplay .line-generate-toolbar-label{text-align:center}.line-generate-toolbar-group-language .language-select-trigger{min-width:0;width:auto;min-height:26px;padding:3px 8px;font-size:10px}.line-generate-toolbar-group-language .language-select-menu{left:50%;transform:translate(-50%)}.line-generate-autoplay{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0;border:none;background:transparent;cursor:pointer}.line-generate-autoplay:disabled{opacity:.5;cursor:not-allowed}.line-generate-autoplay-track{position:relative;display:block;width:28px;height:16px;border-radius:999px;background:color-mix(in srgb,var(--border-strong) 82%,var(--bg-subtle));transition:background .2s var(--ease)}.line-generate-autoplay:hover:not(:disabled) .line-generate-autoplay-track{background:color-mix(in srgb,var(--border-strong) 95%,var(--text-tertiary))}.line-generate-autoplay.is-on .line-generate-autoplay-track{background:var(--accent)}.line-generate-autoplay.is-on:hover:not(:disabled) .line-generate-autoplay-track{background:var(--accent-hover, var(--accent))}.line-generate-autoplay-thumb{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:999px;background:var(--bg);box-shadow:0 1px 3px #0000002e;transition:transform .2s var(--ease)}.line-generate-autoplay.is-on .line-generate-autoplay-thumb{transform:translate(12px)}.line-generate-toolbar-divider{width:1px;align-self:stretch;flex-shrink:0;margin:1px 0;background:color-mix(in srgb,var(--border) 90%,transparent)}.line-generate-toolbar-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.line-generate-actions-primary{flex-shrink:0;display:flex;align-items:center;min-height:14px;transition:opacity var(--motion-fast) var(--ease)}.line-text-char-count{display:inline-flex;align-items:baseline;gap:1px;flex-shrink:0;font-size:11px;line-height:1;color:var(--text-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap}.line-text-char-count-value{font-weight:600;color:var(--text-secondary)}.line-text-char-count-sep,.line-text-char-count-max{font-weight:500}.line-text-char-count.is-near-limit .line-text-char-count-value{color:color-mix(in srgb,var(--accent) 70%,var(--text))}.line-text-char-count.is-at-limit .line-text-char-count-value,.line-text-char-count.is-at-limit .line-text-char-count-sep,.line-text-char-count.is-at-limit .line-text-char-count-max{color:var(--accent)}.line-generate-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:30px;padding:0 15px;font:inherit;font-size:11px;font-weight:650;letter-spacing:.01em;color:var(--bg);border:none;border-radius:999px;background:var(--accent);cursor:pointer;line-height:1;white-space:nowrap;transition:opacity .15s var(--ease),background .15s var(--ease)}.line-generate-btn:hover:not(:disabled){background:var(--accent-hover)}.line-voice-picker-panel,.line-voice-strip-row{width:100%;min-width:0;padding:8px 12px 4px;overflow:visible;position:relative;z-index:2;animation:fadeUp .15s var(--ease)}.line-voice-picker-panel .voice-strip-picker,.line-voice-strip-row .voice-strip-picker{min-width:0}.line-compose .line-voice-picker-panel{padding-left:12px}.line-voice-picker-panel .voice-strip-track,.line-voice-strip-row .voice-strip-track{padding:2px 16px;scroll-snap-type:x proximity;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.line-voice-strip-row .voice-strip-track::-webkit-scrollbar{display:block;height:4px}.line-voice-strip-row .voice-strip-track::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}.line-voice-strip-row .voice-strip-track::-webkit-scrollbar-track{background:transparent}.line-item.is-active .line-heading,.line-compose.is-active .line-heading{padding-top:0}.line-item:not(.is-active) .line-heading,.line-compose:not(.is-active) .line-heading{padding-top:0}.speaker-block-character-trigger,.line-character-trigger{cursor:pointer;padding:0;border:none;background:none;font:inherit;text-align:center;color:inherit;transition:opacity .15s var(--ease)}.speaker-block-character-trigger:hover,.line-character-trigger:hover{opacity:.82}.voice-strip-picker{position:relative;min-width:0}.voice-strip-track{display:flex;align-items:flex-end;gap:4px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:4px 8px 2px;cursor:grab;outline:none}.voice-strip-track::-webkit-scrollbar{display:none}.voice-strip-track.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto;-webkit-user-select:none;user-select:none}.voice-strip-track:focus-visible{outline:none}.voice-strip-item{flex:0 0 auto;scroll-snap-align:center;display:flex;flex-direction:column;align-items:center;gap:5px;padding:2px 4px 0;border:none;background:none;cursor:pointer;opacity:.42;transform:scale(.9);transform-origin:bottom center;transition:opacity .4s var(--ease),transform .4s var(--ease)}.voice-strip-item:hover:not(.is-active){opacity:.72;transform:scale(.94)}.voice-strip-item.is-active{opacity:1;transform:scale(1);cursor:default}.voice-strip-item-frame{display:block;width:36px;aspect-ratio:1 / 1;border-radius:9px;overflow:hidden;background:transparent;transition:width .4s var(--ease),box-shadow .4s var(--ease)}.voice-strip-item.is-active .voice-strip-item-frame{width:46px;box-shadow:0 0 0 1.5px var(--accent)}.voice-strip-item-frame img{display:block;width:100%;height:100%;object-fit:contain;object-position:top center;pointer-events:none}.voice-strip-item-name{font-size:10px;font-weight:500;letter-spacing:.01em;color:var(--text-tertiary);max-width:54px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .3s var(--ease)}.voice-strip-item.is-active .voice-strip-item-name{color:var(--accent);font-weight:600}.line-generate-btn:disabled{opacity:.45;cursor:not-allowed}.line-generate-status{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;min-height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--border);background:var(--bg);font-size:11px;font-weight:600;color:var(--text-secondary);line-height:1;white-space:nowrap}.line-generate-status .spinner-dark{width:12px;height:12px;border-width:1.5px}.language-mismatch-hint{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;border:1px solid #fde68a;border-radius:10px;background:#fffbeb}.language-mismatch-hint-icon{flex-shrink:0;margin-top:1px;color:#ca8a04}.language-mismatch-hint-text{margin:0;font-size:12px;line-height:1.45;color:var(--text-secondary)}.language-mismatch-hint-text strong{color:var(--text);font-weight:650}.line-text-editor-error{margin:4px 0 0;font-size:12px;text-align:right}.line-text-input{display:block;width:100%;min-width:0;min-height:var(--line-row-h);padding:7px 10px;margin:0;border:none;background:transparent;font:inherit;font-size:14px;line-height:var(--line-row-h);color:var(--text);resize:none;overflow:hidden;outline:none;transition:height var(--motion-normal) var(--ease)}.line-text-input:disabled{color:var(--text-secondary);cursor:not-allowed}.line-text-input::placeholder{color:var(--text-tertiary)}.line-text{flex:1;min-width:0;font-size:13px;line-height:1.45;min-height:var(--line-row-h);color:var(--text-secondary);white-space:pre-wrap;overflow:visible;word-break:break-word;align-self:start;transition:color var(--motion-normal) var(--ease)}.speaker-block-lines .line-item:not(.is-active) .line-text{align-self:start}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c}.line-compose{border:none;background:transparent;border-radius:0;cursor:pointer;transition:background var(--motion-fast) var(--ease),opacity var(--motion-normal) var(--ease)}.line-compose.is-active{background:transparent;cursor:default;isolation:isolate}.line-compose.is-generating:not(.is-active){background:transparent}.line-compose .line-text.is-placeholder{color:var(--text-tertiary)}.line-compose.is-active .line-item-inner{grid-template-columns:var(--character-size-active) auto minmax(0,1fr);align-items:start;padding:2px 10px;gap:12px}.line-compose.is-active .line-heading{align-self:start;align-items:center}.line-compose.is-active .line-item-character{align-self:start;width:var(--character-size-active);animation:lineContentIn var(--motion-normal) var(--ease) both}.line-compose.is-active .line-character-stack{width:var(--character-size-active)}.line-compose.is-active .line-voice-avatar{width:var(--character-avatar-size-active)}.line-compose.is-active .line-voice-name{max-width:var(--character-size-active)}.line-compose.is-active .line-text-editor-wrap{align-self:start;width:100%}.line-compose.is-active .line-text-editor-row{width:100%}.line-compose .line-item-inner{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:8px;padding:2px 10px;transition:grid-template-columns var(--motion-layout) var(--ease),align-items var(--motion-layout) var(--ease),gap var(--motion-layout) var(--ease),padding var(--motion-layout) var(--ease)}.line-compose .line-heading{min-width:24px}.line-compose:not(.is-active) .line-heading{grid-column:1;grid-row:1}.line-compose:not(.is-active) .line-text,.line-compose:not(.is-active) .line-text-editor-wrap{grid-column:2;grid-row:1;min-width:0}.line-compose.is-active .line-label{color:var(--accent)}.line-current-aside{display:flex;align-items:center}.mini-player{flex-shrink:0;display:flex;align-items:center;gap:8px}.mini-player.is-compact{width:148px;height:var(--line-row-h);gap:6px}.mini-player.is-expanded{width:100%}.mini-player.is-compact .mini-player-btn{width:var(--line-row-h);height:var(--line-row-h)}.mini-player.is-compact .mini-player-seek{flex:1;min-width:40px}.mini-player.is-compact .mini-player-time{font-size:10px;min-width:52px}.mini-player.is-playing .mini-player-btn{background:var(--accent)}.mini-player-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--text);color:var(--bg);transition:transform .12s var(--ease)}.mini-player-btn:hover{transform:scale(1.06)}.mini-player-seek{flex:1}.mini-player-time{flex-shrink:0;font-size:11px;color:var(--text-tertiary);font-variant-numeric:tabular-nums;min-width:32px;text-align:right}.mini-player.is-expanded .mini-player-time{min-width:72px}.spinner-dark{display:inline-block;width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--text-secondary);border-radius:50%;animation:spin .6s linear infinite}.workspace-input-dock{flex-shrink:0;background:var(--bg);padding:16px 24px 24px}.input-dock-form{max-width:var(--content-max);margin:0 auto;display:flex;flex-direction:column;gap:12px}.input-dock-fields{display:flex;flex-direction:column;gap:12px}.input-dock-text{width:100%;padding:14px 16px;font-size:15px;line-height:1.5;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-subtle);resize:none;height:88px;min-height:88px;max-height:88px;overflow-y:auto;transition:border-color .15s var(--ease),background .15s var(--ease)}.input-dock-text::placeholder{color:var(--text-tertiary)}.input-dock-text:focus{outline:none;border-color:var(--border-strong);background:var(--bg)}.input-dock-bar{display:flex;align-items:center;justify-content:space-between;gap:12px}.input-dock-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}.input-dock-left{display:flex;align-items:center;gap:12px;min-height:36px}.form-error{font-size:13px;color:#dc2626}.inline-link{color:var(--accent);text-decoration:underline;text-underline-offset:2px;transition:color .15s var(--ease)}.inline-link:hover{color:var(--accent-hover)}.audio-player{display:flex;align-items:center;gap:16px;padding:16px 20px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-subtle)}.audio-play-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--text);color:var(--bg);transition:transform .15s var(--ease),opacity .15s var(--ease)}.audio-play-btn:hover{transform:scale(1.05)}.audio-play-btn:active{transform:scale(.97)}.audio-track{flex:1;min-width:0}.audio-times{display:flex;justify-content:space-between;margin-top:6px;font-size:11px;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.audio-download{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);color:var(--text-secondary);transition:all .15s var(--ease)}.audio-download:hover{background:var(--bg-hover);color:var(--text)}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#0000003d;animation:fadeIn .2s var(--ease)}.modal{width:100%;max-width:400px;margin:24px;padding:28px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);animation:fadeUp .25s var(--ease)}.modal-voice-picker{max-width:min(720px,calc(100vw - 48px));padding:20px 24px 22px;overflow-x:hidden}.voice-picker-modal-header{margin-bottom:8px}.voice-picker-modal-subtitle{margin:8px 0 0;font-size:13px;color:var(--text-secondary);line-height:1.5}.voice-picker-favorites{margin-bottom:14px;min-width:0}.voice-picker-favorites-header{margin-bottom:10px}.voice-picker-favorites-title{margin:0;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--favorite-strong)}.voice-picker-favorites-title .favorite-star-icon{flex-shrink:0;color:currentColor}.favorite-star-icon{flex-shrink:0}.voice-picker-favorites-track{display:flex;align-items:flex-start;gap:clamp(6px,1.2vw,10px);min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:6px 0 8px;scrollbar-width:thin}.voice-picker-favorites-track.is-reordering{scroll-snap-type:none}.voice-picker-favorite-item{position:relative;flex:1 1 0;min-width:52px;max-width:72px;scroll-snap-align:center;touch-action:none;transition:transform .16s var(--ease)}.voice-picker-favorite-item.is-dragging{z-index:4;transition:none;filter:drop-shadow(0 8px 18px rgba(0,0,0,.14))}.voice-picker-favorites-track.is-reordering .voice-picker-favorite-item:not(.is-dragging){transition:transform .16s var(--ease)}.voice-picker-favorite-select{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;padding:0;border:none;background:none;cursor:pointer}.voice-picker-favorite-item.is-draggable{cursor:grab}.voice-picker-favorite-item.is-draggable.is-dragging,.voice-picker-favorite-item.is-draggable.is-dragging .voice-picker-favorite-select{cursor:grabbing}.voice-picker-favorite-remove{position:absolute;top:-4px;right:2px;z-index:2;display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:999px;background:var(--bg-elevated);color:var(--text-secondary);box-shadow:0 0 0 1px var(--border);cursor:pointer;opacity:0;transform:scale(.92);transition:opacity .15s var(--ease),transform .15s var(--ease),color .15s var(--ease),background .15s var(--ease)}.voice-picker-favorite-item:hover .voice-picker-favorite-remove,.voice-picker-favorite-item:focus-within .voice-picker-favorite-remove{opacity:1;transform:scale(1)}.voice-picker-favorite-remove:hover:not(:disabled){color:var(--danger, #c0392b);background:color-mix(in srgb,var(--danger, #c0392b) 12%,var(--bg-elevated))}.voice-picker-favorite-remove:disabled{opacity:.35;cursor:not-allowed}.voice-picker-favorite-item:hover .voice-picker-favorite-remove:disabled,.voice-picker-favorite-item:focus-within .voice-picker-favorite-remove:disabled{opacity:.35}.voice-picker-favorite-frame{display:block;width:100%;max-width:56px;margin-inline:auto;aspect-ratio:1 / 1;border-radius:12px;overflow:hidden;border:2px solid transparent;background:color-mix(in srgb,var(--bg-subtle) 80%,var(--border));transition:border-color .15s var(--ease),box-shadow .15s var(--ease),transform .15s var(--ease)}.voice-picker-favorite-frame img{display:block;width:100%;height:100%;object-fit:contain;object-position:top center}.voice-picker-favorite-select:hover .voice-picker-favorite-frame{border-color:var(--border-strong);transform:translateY(-1px)}.voice-picker-favorite-item.is-focused .voice-picker-favorite-frame{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-subtle)}.voice-picker-favorite-name{max-width:100%;font-size:10px;font-weight:600;color:var(--text-secondary);line-height:1.2;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-picker-favorite-item.is-focused .voice-picker-favorite-name{color:var(--accent)}.voice-picker-browse-divider{display:flex;align-items:center;gap:10px;margin:0 0 8px}.voice-picker-browse-divider:before,.voice-picker-browse-divider:after{content:"";flex:1;height:1px;background:var(--border)}.voice-picker-browse-divider-label{flex-shrink:0;font-size:11px;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary)}.voice-picker-detail{width:100%;max-width:360px;margin:0 auto;text-align:center}.voice-picker-detail-header{display:flex;flex-direction:column;align-items:center;gap:4px}.voice-picker-detail-name{margin:0;min-width:0;font-size:22px;font-weight:600;letter-spacing:-.03em;line-height:1.15;color:var(--text)}.voice-picker-detail-index{flex-shrink:0;font-size:11px;font-weight:500;letter-spacing:.06em;font-variant-numeric:tabular-nums;color:var(--text-tertiary)}.voice-picker-detail-index-sep{margin:0 2px;opacity:.45}.voice-picker-detail-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 16px;margin-top:8px}.voice-picker-detail-favorite{display:inline-flex;align-items:center;gap:5px;min-width:0;padding:0;border:none;background:none;font:inherit;font-size:11px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:color .15s var(--ease)}.voice-picker-detail-favorite .favorite-star-icon{color:var(--text-tertiary);transition:color .15s var(--ease)}.voice-picker-detail-favorite:hover{color:var(--favorite-strong)}.voice-picker-detail-favorite:hover .favorite-star-icon{color:var(--favorite)}.voice-picker-detail-favorite.is-active{color:var(--favorite-strong)}.voice-picker-detail-favorite.is-active .favorite-star-icon{color:var(--favorite)}.voice-picker-detail-autoplay{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.voice-picker-detail-autoplay-label{font-size:11px;font-weight:500;color:var(--text-tertiary);white-space:nowrap}.voice-picker-detail-preview{display:flex;justify-content:center;margin-top:8px}.voice-picker-detail-preview .mini-player.is-compact{width:auto;min-width:132px;height:24px;gap:6px}.voice-picker-detail-preview .mini-player-btn{width:22px;height:22px;background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.voice-picker-detail-preview .mini-player-btn:hover{transform:none;color:var(--text);border-color:var(--border-strong)}.voice-picker-detail-preview .mini-player.is-playing .mini-player-btn{background:var(--text);border-color:var(--text);color:var(--bg)}.voice-picker-detail-preview .mini-player-seek{--range-track-h: 2px;--range-thumb-size: 8px;flex:1;min-width:56px;max-width:120px;height:12px}.voice-picker-detail-preview .mini-player-time{min-width:0;font-size:10px;color:var(--text-tertiary)}.voice-picker-detail-preview-status{display:block;font-size:11px;color:var(--text-tertiary);line-height:1.4}.voice-picker-detail-preview-status.is-error{color:var(--text-secondary)}.voice-picker-favorite-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin-top:8px;min-height:30px;padding:0 12px;font:inherit;font-size:12px;font-weight:600;color:var(--text-secondary);border:1px solid var(--border);border-radius:999px;background:var(--bg);cursor:pointer;transition:color .15s var(--ease),border-color .15s var(--ease),background .15s var(--ease)}.voice-picker-favorite-toggle:hover{color:var(--text);border-color:var(--border-strong)}.voice-picker-favorite-toggle.is-active{color:var(--favorite-strong);border-color:var(--favorite-border);background:var(--favorite-subtle)}.voice-picker-browse-hint{margin:8px 0 0;font-size:12px;color:var(--text-tertiary);line-height:1.4}.voice-picker-modal-empty{margin:24px 0;font-size:14px;color:var(--text-tertiary);text-align:center}.voice-catalog-status{max-width:420px;margin:48px auto;padding:0 24px;line-height:1.6}.voice-catalog-status-hint{margin:12px 0 0;font-size:13px;color:var(--text-secondary)}.voice-catalog-status-hint code{font-size:12px}.voice-picker-modal-wheel{gap:0;padding:8px 0 0;overflow:visible}.voice-picker-modal-wheel .voice-wheel-stage{height:min(28vh,248px);min-height:184px;padding:0 44px 36px;perspective:none;overflow:visible}.voice-picker-modal-wheel .voice-wheel-item{top:64%;width:min(38vw,200px);display:flex;flex-direction:column;align-items:center;gap:6px}.voice-picker-modal-wheel.voice-wheel-spotlight .voice-wheel-spotlight-glow{position:absolute;left:50%;top:64%;z-index:0;width:min(72%,320px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 16%,transparent) 0%,color-mix(in srgb,var(--accent) 6%,transparent) 42%,transparent 72%);pointer-events:none}.voice-picker-modal-wheel .voice-wheel-ring{z-index:1}.voice-picker-modal-wheel .voice-wheel-item.is-active{width:min(40vw,200px);cursor:grab}.voice-picker-modal-wheel .voice-wheel-item-frame{width:100%;border-radius:50%;overflow:hidden;background:transparent;box-shadow:none}.voice-picker-modal-wheel .voice-wheel-item-portrait{object-position:top center}.voice-picker-modal-wheel .voice-wheel-item-label{max-width:88px;font-size:10px;font-weight:600;color:var(--text-tertiary);text-align:center;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.voice-picker-modal-wheel .voice-wheel-item:not(.is-active) .voice-wheel-item-label{display:none}.voice-wheel-spotlight .voice-wheel-detail{position:relative;z-index:3;max-width:none;margin-top:0;padding-top:16px}.voice-wheel-spotlight .voice-picker-browse-hint{display:none}.voice-picker-modal-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:10px;margin-top:16px}.voice-picker-dismiss-btn,.voice-picker-select-btn{min-height:42px;width:100%;font-size:14px}.voice-picker-select-btn{font-weight:650}.modal-title{font-size:18px;font-weight:600;letter-spacing:-.02em}.modal-body{margin-top:8px;font-size:14px;color:var(--text-secondary);line-height:1.6}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.modal-actions-split{justify-content:space-between;align-items:center}.modal-actions-group{display:flex;gap:8px}.modal-field{display:block;margin-top:20px}.modal-field-label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.modal-field-input{width:100%;padding:10px 12px;font-size:14px;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color .15s var(--ease)}.modal-field-input:focus{outline:none;border-color:var(--text-tertiary)}.modal-field-input::placeholder{color:var(--text-tertiary)}.project-item-wrap{position:relative}.project-row{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:1px;width:100%;height:46px;padding:0 12px 0 14px;border:none;border-radius:var(--radius-sm);background:none;text-align:left;cursor:pointer;transition:background .15s var(--ease)}.project-row:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;border-radius:1px;background:transparent;transition:background .15s var(--ease)}.project-row:hover{background:var(--bg-hover)}.project-row.is-active{background:var(--bg-subtle);cursor:default}.project-row.is-active:before{background:var(--text)}.project-row-name{font-size:13px;font-weight:500;color:var(--text-secondary);transition:color .15s var(--ease)}.project-row.is-active .project-row-name{font-weight:600;color:var(--text)}.project-row-meta{font-size:12px;color:var(--text-tertiary)}.project-row-meta.is-warning{color:#b45309}.project-row-add{height:56px;border:1px dashed var(--border-strong);cursor:pointer}.project-row-add:before{display:none}.project-row-add:hover{background:var(--bg-hover);border-color:var(--text-tertiary)}.project-row-add .project-row-name{display:flex;align-items:center;gap:6px}.project-row-add-icon{flex-shrink:0;font-size:16px;font-weight:400;line-height:1;color:var(--text-tertiary)}.project-item-wrap:has(.project-item-menu) .project-row{padding-right:40px}.project-item-wrap:hover .project-item-menu-trigger,.project-item-wrap.is-active .project-item-menu-trigger,.project-item-menu.is-open .project-item-menu-trigger{opacity:1;pointer-events:auto}.project-item-menu{position:absolute;top:6px;right:4px;z-index:2}.project-item-menu-trigger{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);color:var(--text-tertiary);opacity:0;pointer-events:none;transition:opacity .15s var(--ease),background .15s var(--ease),color .15s var(--ease)}.project-item-menu-trigger:hover{background:var(--bg-hover);color:var(--text-secondary)}.project-item-menu-dropdown{position:absolute;top:calc(100% + 2px);right:0;min-width:140px;padding:4px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);z-index:20}.project-item-menu-item{display:block;width:100%;padding:8px 10px;font-size:13px;font-weight:500;color:var(--text-secondary);text-align:left;border-radius:4px;transition:background .12s var(--ease),color .12s var(--ease)}.project-item-menu-item:hover{background:var(--bg-hover);color:var(--text)}.project-item-menu-item-danger{color:var(--text-secondary)}.project-item-menu-item-danger:hover{background:#fef2f2;color:#dc2626}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes saveBarIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes saveNudgeChevron{0%,to{opacity:.22;transform:translate(-2px)}45%{opacity:1;transform:translate(3px)}}@keyframes lineEnter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes lineContentIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes lineExit{0%{opacity:1;transform:translateY(0);max-height:240px}to{opacity:0;transform:translateY(-4px);max-height:0}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-height:920px){.voice-library-inner-wheel{padding:20px 24px 28px}.voice-library-header-wheel{margin-bottom:22px}.voice-wheel-section{gap:20px}.voice-wheel-stage{height:min(40vh,330px);min-height:240px;padding:22px 40px}.voice-wheel-detail-name{font-size:24px}.voice-wheel-detail-actions{margin-top:16px}}@media(max-width:640px){.side-panel{width:188px}.main-view-nav{gap:12px;padding:8px 12px 6px}.main-view-tab{font-size:12px}.voice-library-inner{padding-left:16px;padding-right:16px}.voice-library-header{flex-direction:column;align-items:flex-start}.voice-library-header-actions{width:100%;flex-wrap:wrap}.voice-wheel-section{min-height:auto;gap:20px;padding-bottom:20px}.voice-wheel-stage{height:min(40vh,300px);min-height:220px;padding:20px 28px}.voice-wheel-item{width:min(38vw,152px)}.voice-wheel-item.is-active{width:min(44vw,176px)}.voice-wheel-nav{width:36px;height:36px;left:auto;right:auto}.voice-wheel-nav:first-child{left:-2px}.voice-wheel-nav:last-child{right:-2px}.voice-wheel-detail-name{font-size:24px}.voice-wheel-detail-actions{flex-direction:column;align-items:stretch}.voice-wheel-action{width:100%}.workspace-save-bar{padding-left:12px;padding-right:12px}.workspace-history{padding:12px 12px 24px}.workspace .floating-script-player-wrap{padding:8px 12px 10px}.line-generate-toolbar{flex-direction:column;align-items:stretch;gap:10px}.line-generate-toolbar-options{flex:none;flex-wrap:wrap}.line-generate-toolbar-divider{display:none}.line-generate-toolbar-actions{width:100%;justify-content:space-between;margin-left:0}.workspace-input-dock{padding:12px 16px 16px}.input-dock-bar{flex-wrap:wrap}.input-dock-actions{width:100%;justify-content:space-between}.btn-generate{width:100%}}.prd-holding{position:relative;min-height:100%;display:flex;align-items:center;justify-content:center;padding:48px 24px;overflow-y:auto;background:var(--bg)}.prd-holding-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 70% 50% at 50% -10%,rgba(91,159,212,.12),transparent 60%),radial-gradient(ellipse 50% 40% at 80% 100%,rgba(91,159,212,.06),transparent 55%);pointer-events:none}.prd-holding-inner{position:relative;display:flex;flex-direction:column;align-items:center;max-width:420px;text-align:center}.prd-holding-mark{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:18px;background:var(--bg-subtle);border:1px solid var(--border)}.prd-holding-eyebrow{margin-top:28px;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}.prd-holding-title{margin-top:12px;font-size:clamp(2.5rem,8vw,3.25rem);font-weight:600;letter-spacing:-.04em;color:var(--text)}.prd-holding-lead{margin-top:10px;font-size:18px;font-weight:500;color:var(--text-secondary)}.prd-holding-body{margin-top:16px;font-size:15px;line-height:1.65;color:var(--text-tertiary)}
