:root{--bg:#14142b;--panel:#1d1d3a;--panel-2:#26264a;--border:#35355c;--text:#e7e7f6;--muted:#9595c0;--accent:#8b7cff;--accent-2:#41d1ff;--on-accent:#14142b;--check:#7878c81a;--glow:#8b7cff73;--font-display:"Bricolage Grotesque", system-ui, sans-serif;--font-body:"Manrope", system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--panel-2);border:2px solid var(--bg);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--border)}::-webkit-scrollbar-corner{background:0 0}*{box-sizing:border-box}body{background:radial-gradient(900px 520px at 88% -12%, var(--glow), transparent 70%), var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;transition:background .3s,color .3s}.app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;padding:14px 22px;display:flex}.brand{align-items:baseline;gap:12px;display:flex}.wordmark{font-family:var(--font-display);letter-spacing:-.5px;font-size:24px;font-weight:800}.wordmark .accent{background:linear-gradient(120deg, var(--accent-2), var(--accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.brand .dot{background:linear-gradient(120deg, var(--accent-2), var(--accent));width:11px;height:11px;box-shadow:0 0 14px var(--glow);border-radius:50%;align-self:center}.tagline{color:var(--muted);font-size:13px;font-weight:500}@media (width<=560px){.tagline{display:none}}.workspace{flex:1;min-height:0;display:flex}.sidebar{border-right:1px solid var(--border);background:var(--panel);flex:none;width:380px;overflow-y:auto}.main{flex:1;min-width:0;display:flex}.preview{flex-direction:column;flex:1;min-width:0;padding:22px;display:flex;overflow-y:auto}.export{border-left:1px solid var(--border);flex:none;width:340px;padding:22px;overflow-y:auto}@media (width<=1100px){.sidebar{width:340px}.export{width:300px}}@media (width<=860px){.app{height:auto;overflow:visible}.workspace{display:block}.sidebar{border-right:none;border-bottom:1px solid var(--border);width:auto;overflow:visible}.main{display:block}.preview{overflow:visible}.export{border-left:none;border-top:1px solid var(--border);width:auto;overflow:visible}}.tabs{z-index:1;background:var(--panel);border-bottom:1px solid var(--border);gap:2px;padding:0 14px;display:flex;position:sticky;top:0}.tab{color:var(--muted);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:14px 12px;font-size:14px;font-weight:600;transition:color .15s,border-color .15s}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.tabpanel{padding:20px;animation:.4s both rise}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.preview h2,.export h2{font-family:var(--font-display);letter-spacing:.3px;color:var(--muted);margin:0 0 16px;font-size:14px;font-weight:700}.field{margin-bottom:20px;display:block}.field:last-child{margin-bottom:0}.field>span{color:var(--muted);margin-bottom:8px;font-size:13px;font-weight:600;display:block}input[type=text]{background:var(--panel-2);border:1px solid var(--border);width:100%;color:var(--text);font-family:var(--font-body);border-radius:10px;outline:none;padding:12px 14px;font-size:15px;transition:border-color .15s}input[type=text]:focus{border-color:var(--accent)}input[type=range]{width:100%;accent-color:var(--accent);cursor:pointer}input:disabled{opacity:.45;cursor:not-allowed}.toggle{cursor:pointer;align-items:center;gap:10px;margin-bottom:20px;font-size:14px;font-weight:500;display:flex}.toggle input{width:17px;height:17px;accent-color:var(--accent);cursor:pointer}.sentences{flex-direction:column;gap:14px;margin-bottom:10px;display:flex}.sentence-item{flex-direction:column;gap:6px;display:flex}.sentence-row{align-items:center;gap:8px;display:flex}.sentence-row input[type=text]{flex:1}.seg.align-seg{width:100%;display:flex}.align-seg button{flex:1;justify-content:center;align-items:center;padding:7px 0;display:flex}.align-seg button svg{display:block}.align-seg button:hover:not(.on){color:var(--text)}.seg.motion-seg{width:100%;display:flex}.motion-seg button{flex:1;justify-content:center;align-items:center;padding:6px 0;display:flex}.motion-seg button svg{display:block}.motion-seg button:hover:not(.on){color:var(--text)}.sentence-item{transition:opacity .15s}.sentence-item.dragging{opacity:.4}.s-reorder{flex:none;align-items:center;gap:4px;display:flex}.s-reorder .grip{color:var(--muted);cursor:grab;-webkit-user-select:none;user-select:none;padding:0 1px;font-size:14px;line-height:1}.s-reorder .grip:active{cursor:grabbing}.s-reorder .grip:hover{color:var(--accent)}.s-arrows{flex-direction:column;gap:2px;display:flex}.s-arrows button{background:var(--panel-2);width:20px;height:14px;color:var(--muted);border:1px solid var(--border);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:8px;line-height:1;display:flex}.s-arrows button:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.s-arrows button:disabled{opacity:.35;cursor:default}.font-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.font-chip{background:var(--panel-2);color:var(--text);border:1px solid var(--border);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border-radius:9px;padding:10px 8px;font-size:14px;transition:border-color .15s,color .15s,background .15s;overflow:hidden}.font-chip:hover:not(.on){border-color:var(--accent)}.font-chip.on{border-color:var(--accent);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.font-load{gap:8px;margin-top:10px;display:flex}.font-load input[type=text]{flex:1}.font-load .ghost{flex:none;padding:0 16px}.font-search{position:relative}.suggest{z-index:6;background:var(--panel);border:1px solid var(--border);border-radius:10px;max-height:240px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 28px #00000047}.suggest-item{cursor:pointer;color:var(--text);white-space:nowrap;text-overflow:ellipsis;border-radius:7px;padding:9px 11px;font-size:14px;overflow:hidden}.suggest-item b{color:var(--accent);font-weight:700}.suggest-item.active{background:var(--check)}.suggest-item.active b{color:var(--accent)}.font-note{color:var(--muted);margin:10px 0 0;font-size:12px;font-weight:600}.font-note b{color:var(--text);font-weight:700}.font-note.error{color:#ff6b7d}.linkish{cursor:pointer;font:inherit;color:var(--accent);background:0 0;border:none;padding:0;text-decoration:underline}.linkish:hover{filter:brightness(1.1)}.subgroup{border:1px solid var(--border);background:var(--panel-2);border-radius:12px;margin:4px 0 20px;padding:16px}.subgroup .field:last-child,.subgroup .toggle:last-child{margin-bottom:0}.field .seg{width:100%;display:flex}.field .seg button{flex:1}.empty-tab{color:var(--muted);text-align:center;padding:48px 12px;font-size:14px}.gradanim{border-top:1px dashed var(--border);margin-top:14px;padding-top:14px}.gradanim .field:last-child{margin-bottom:0}.paint{border:1px solid var(--border);background:var(--panel-2);border-radius:14px;margin-bottom:20px;padding:14px}.paint.is-disabled{opacity:.55}.paint-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.paint-head>span{color:var(--muted);font-size:13px;font-weight:600}.seg{background:var(--panel);border:1px solid var(--border);border-radius:9px;padding:2px;display:inline-flex}.seg button{color:var(--muted);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:6px 12px;font-size:12px;font-weight:600;transition:color .15s,background .15s}.seg button.on{background:var(--accent);color:var(--on-accent)}.gradbar{border:1px solid var(--border);border-radius:8px;height:16px;margin-bottom:14px}.dir{margin-bottom:14px}.dir>span{font-size:12px}.stops{flex-direction:column;gap:10px;display:flex}.stoprow{background:var(--panel);border:1px solid var(--border);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;transition:opacity .15s,border-color .15s,box-shadow .15s;display:flex}.stoprow.dragging{opacity:.45;border-color:var(--accent);border-style:dashed}.reorder{flex-direction:column;align-items:center;gap:2px;display:flex}.grip{color:var(--muted);cursor:grab;-webkit-user-select:none;user-select:none;padding:1px 0 3px;font-size:13px;line-height:1}.grip:active{cursor:grabbing}.grip:hover{color:var(--accent)}.reorder button{background:var(--panel-2);width:22px;height:16px;color:var(--muted);border:1px solid var(--border);cursor:pointer;border-radius:5px;padding:0;font-size:9px;line-height:1}.reorder button:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.stoprow,.sentence-item{-webkit-user-select:none;user-select:none}.stoprow input[type=text],.sentence-item input[type=text]{-webkit-user-select:text;user-select:text}.stoprow input[type=color]{background:var(--panel-2);border:1px solid var(--border);cursor:pointer;border-radius:9px;flex:none;width:38px;height:38px;padding:3px}.sliders{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.sliders label{align-items:center;gap:8px;min-width:0;display:flex}.sliders label input[type=range]{flex:auto;width:auto;min-width:60px}.sliders label i{color:var(--muted);flex:none;width:64px;font-size:11px;font-style:normal;font-weight:600}.sliders label em{color:var(--muted);text-align:right;flex:none;width:36px;font-size:11px;font-style:normal;font-weight:600}.remove{background:var(--panel-2);width:28px;height:28px;color:var(--muted);border:1px solid var(--border);cursor:pointer;border-radius:8px;flex:none;padding:0;font-size:11px}.remove:hover:not(:disabled){color:#ff5b6e;border-color:#ff5b6e}.add{width:100%;color:var(--accent);border:1px dashed var(--border);font-family:var(--font-body);cursor:pointer;background:0 0;border-radius:10px;margin-top:12px;padding:10px;font-size:13px;font-weight:600;transition:border-color .15s}.add:hover:not(:disabled){border-color:var(--accent)}.add:disabled{opacity:.4;cursor:not-allowed}.stage{background:linear-gradient(45deg, var(--check) 25%, transparent 25%) -10px 0 / 20px 20px, linear-gradient(-45deg, var(--check) 25%, transparent 25%) -10px 0 / 20px 20px, var(--panel-2);border:1px solid var(--border);border-radius:14px;flex:1;justify-content:center;align-items:center;min-height:220px;padding:24px;display:flex}.stage img{max-width:100%}.actions{gap:12px;margin-bottom:22px;display:flex}.actions button{background:var(--accent);color:var(--on-accent);font-family:var(--font-body);cursor:pointer;border:none;border-radius:10px;flex:1;padding:13px;font-size:14px;font-weight:700;transition:transform .1s,filter .15s}.actions button:hover{filter:brightness(1.08)}.actions button:active{transform:scale(.98)}.import-btn{background:var(--panel-2);color:var(--text);border:1px solid var(--border);font-family:var(--font-body);cursor:pointer;border-radius:10px;flex:1;justify-content:center;align-items:center;padding:13px;font-size:14px;font-weight:700;transition:transform .1s,filter .15s;display:flex}.import-btn:hover{filter:brightness(1.15)}.import-btn:active{transform:scale(.98)}.import-note{margin:-12px 0 18px;font-size:12px;font-weight:600}.import-note.ok{color:var(--accent)}.import-note.warn{color:#fbbf24}.import-note.error{color:#ff6b7d}.snippet{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;display:flex}.snippet code{font-family:var(--font-body);color:var(--accent);white-space:nowrap;font-size:13px;font-weight:600;overflow-x:auto}.ghost{border:1px solid var(--border);color:var(--muted);font-family:var(--font-body);cursor:pointer;background:0 0;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600}.ghost:hover{color:var(--accent);border-color:var(--accent)}.guide{border-top:1px solid var(--border);margin-top:22px;padding-top:20px}.guide h3{font-family:var(--font-display);color:var(--muted);margin:0 0 12px;font-size:13px;font-weight:700}.guide ol{flex-direction:column;gap:9px;margin:0;padding-left:18px;display:flex}.guide li{color:var(--text);font-size:13px;line-height:1.5}.guide li b{color:var(--accent);font-weight:700}.guide li code{color:var(--text);background:var(--panel-2);font-family:var(--font-body);border-radius:5px;padding:1px 6px}.eff-hint{color:var(--muted);background:var(--check);border:1px solid var(--border);border-radius:8px;margin:0 0 14px;padding:9px 12px;font-size:12px;font-weight:600;line-height:1.5}.eff-list{flex-direction:column;gap:8px;display:flex}.eff-card{border:1px solid var(--border);background:var(--panel-2);border-radius:12px;transition:border-color .15s,box-shadow .15s;overflow:hidden}.eff-card.eff-on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 2px 16px #8b7cff1a}.eff-header{align-items:center;gap:8px;padding:11px 12px 9px;display:flex}.eff-toggle-row{cursor:pointer;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.eff-toggle-row input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;flex:none}.eff-label{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;transition:color .15s;overflow:hidden}.eff-on .eff-label{color:var(--accent)}.eff-chevron{background:var(--panel);border:1px solid var(--border);width:26px;height:26px;color:var(--muted);cursor:pointer;border-radius:7px;flex:none;justify-content:center;align-items:center;padding-bottom:1px;font-size:16px;line-height:1;transition:color .15s,border-color .15s,transform .18s;display:flex}.eff-chevron:hover{color:var(--accent);border-color:var(--accent)}.eff-chevron.open{color:var(--accent);border-color:var(--accent);transform:rotate(90deg)}.eff-desc{color:var(--muted);margin:0 12px 11px;padding:0;font-size:12px;line-height:1.45}.eff-controls{border-top:1px solid var(--border);flex-direction:column;gap:9px;padding:12px;display:flex}.eff-row{align-items:center;gap:8px;display:flex}.eff-row-label{color:var(--muted);white-space:nowrap;flex:none;width:68px;font-size:12px;font-weight:600}.eff-row input[type=range]{accent-color:var(--accent);cursor:pointer;flex:1}.eff-val{color:var(--muted);text-align:right;flex:none;width:38px;font-size:11px;font-style:normal;font-weight:600}input[type=color].eff-swatch{background:var(--panel);border:1px solid var(--border);cursor:pointer;border-radius:7px;flex:none;width:36px;height:26px;padding:2px}.section{border:1px solid var(--border);background:var(--panel-2);border-radius:12px;margin-bottom:12px;transition:border-color .15s;overflow:hidden}.section:last-child{margin-bottom:0}.section-open{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.section-head{cursor:pointer;width:100%;font-family:var(--font-body);text-align:left;color:var(--text);background:0 0;border:none;align-items:center;gap:9px;padding:13px 14px;transition:background .15s;display:flex}.section-head:hover{background:var(--check)}.section-icon{flex:none;font-size:15px;line-height:1}.section-title{letter-spacing:-.1px;flex:none;font-size:14px;font-weight:700}.section-summary{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:55%;margin-left:auto;font-size:12px;font-weight:600;overflow:hidden}.section-badge{background:var(--accent);min-width:18px;height:18px;color:var(--on-accent);border-radius:9px;flex:none;justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:800;line-height:1;display:inline-flex}.section-chevron{color:var(--muted);flex:none;margin-left:auto;font-size:20px;line-height:1;transition:transform .2s,color .15s}.section-badge+.section-chevron,.section-summary+.section-chevron{margin-left:10px}.section-chevron.open{color:var(--accent);transform:rotate(90deg)}.section-head:hover .section-chevron{color:var(--accent)}.section-body{padding:4px 14px 16px;animation:.25s both sectionrise}@keyframes sectionrise{0%{opacity:0;transform:translateY(-4px)}}.section-body .eff-list{flex-direction:column;gap:10px;display:flex}.tab-badge{background:var(--accent);width:15px;height:15px;color:var(--on-accent);vertical-align:middle;border-radius:50%;justify-content:center;align-items:center;margin-left:5px;font-size:9px;font-weight:800;line-height:1;display:inline-flex}
