:root{--bg: #f4f4f4;--surface: #ffffff;--surface-2: #f7f7f7;--text: #0a0a0a;--muted: #6b6b6b;--border: #e3e3e3;--border-strong: #c4c4c4;--primary: #0a0a0a;--primary-text: #ffffff;--danger: #b42318;--radius: 10px;--font: "Inter", "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, Roboto, sans-serif;--mono: ui-monospace, "Cascadia Mono", "SFMono-Regular", Consolas, monospace;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #0a0a0a;--surface: #121212;--surface-2: #1a1a1a;--text: #f2f2f2;--muted: #8f8f8f;--border: #262626;--border-strong: #3d3d3d;--primary: #f2f2f2;--primary-text: #0a0a0a;--danger: #f97066;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:14px/1.5 var(--font);-webkit-font-smoothing:antialiased}.app{height:100vh;height:100dvh;display:flex;flex-direction:column}.topbar{flex:none;z-index:10;background:var(--surface);border-bottom:1px solid var(--border)}.topbar-inner{max-width:1280px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:14px;min-width:0}.logo{width:34px;height:34px;flex:none;border-radius:8px;background:var(--primary);position:relative}.logo:before,.logo:after{content:"";position:absolute;border-radius:50%}.logo:before{top:8px;right:8px;bottom:8px;left:8px;border:2px solid var(--primary-text)}.logo:after{top:14px;right:14px;bottom:14px;left:14px;background:var(--primary-text)}h1{font-size:17px;line-height:1.2;margin:0;font-weight:650;letter-spacing:-.01em}.brand p{margin:2px 0 0;color:var(--muted);font-size:13px}.pill{display:inline-flex;align-items:center;gap:8px;flex:none;padding:5px 12px;border-radius:999px;border:1px solid var(--border);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.pill .dot{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--muted)}.pill.on{color:var(--text);border-color:var(--text)}.pill.on .dot{background:var(--text);border-color:var(--text);animation:pulse 2s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}.layout{flex:1;min-height:0;width:100%;max-width:1280px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 400px}.col-main,.col-side{min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:20px;padding:24px;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.col-side{border-left:1px solid var(--border);background:color-mix(in srgb,var(--surface) 40%,var(--bg))}.col-main>*,.col-side>*{flex:none}@media(max-width:980px){.app{height:auto;display:block}.topbar{position:sticky;top:0}.layout{display:flex;flex-direction:column}.col-main,.col-side{overflow:visible;padding:16px}.col-side{border-left:none;background:none;padding-top:0}.topbar-inner{padding:12px 16px}.brand p{display:none}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.card-head{display:flex;align-items:baseline;gap:10px;margin-bottom:14px;flex-wrap:wrap}h2{font-size:13px;margin:0;font-weight:650;text-transform:uppercase;letter-spacing:.06em}.card-head .count,.hint-inline{color:var(--muted);font-size:12.5px}.card-head .ghost-btn{margin-left:auto}h3{font-size:12px;margin:22px 0 10px;font-weight:650;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:5px}input[type=text],input[type=password],input[type=number],select{width:100%;padding:8px 10px;border-radius:7px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;font-size:13.5px;transition:border-color .15s}input[type=text]:hover,input[type=password]:hover,input[type=number]:hover,select:hover{border-color:var(--border-strong)}input:disabled,select:disabled{opacity:.6}input[type=range]{accent-color:var(--primary);width:100%}input[type=checkbox]{accent-color:var(--primary);width:15px;height:15px;margin:0;flex:none}input:focus-visible,select:focus-visible,button:focus-visible,.drop:focus-visible,summary:focus-visible{outline:2px solid var(--text);outline-offset:2px}.stack{display:flex;flex-direction:column;gap:12px}.field{margin-bottom:4px}button{font:inherit;font-size:13.5px;font-weight:500;cursor:pointer;border-radius:7px;padding:8px 14px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);transition:background .15s,border-color .15s,opacity .15s}button:hover:not(:disabled){border-color:var(--text)}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--primary);color:var(--primary-text);border-color:var(--primary);font-weight:600}button.primary:hover:not(:disabled){opacity:.88}button.block{width:100%;margin-top:10px}button.link{border:none;background:none;color:var(--text);padding:0 2px;font-size:12.5px;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--border-strong)}button.link:hover{text-decoration-color:var(--text)}button.ghost-btn{padding:4px 10px;font-size:12.5px;border-color:var(--border)}button.icon{width:32px;height:32px;padding:0;display:inline-grid;place-items:center;font-size:13px;border-color:var(--border)}.status{font-size:12.5px;color:var(--muted);margin:12px 0 0}.status.ok{color:var(--text)}.status.err{color:var(--danger)}.hint{font-size:12.5px;color:var(--muted);margin:6px 0 10px}.chk{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-size:13.5px;margin:0;cursor:pointer}.sel{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:12.5px;margin:0}.sel select,.sel input[type=number]{width:auto;padding:4px 8px;font-size:12.5px}.sel input[type=number]{width:84px}.lbl{color:var(--muted);font-size:12.5px;min-width:44px}.opts{display:flex;flex-direction:column;gap:10px}.opts .indent{margin-left:23px;width:calc(100% - 23px)}.bar{display:flex;gap:8px;margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}.bar .grow{flex:1}.progress{color:var(--muted);font-size:12.5px;margin:10px 0 0;font-variant-numeric:tabular-nums}.drop{border:1.5px dashed var(--border-strong);border-radius:var(--radius);padding:36px 20px;text-align:center;color:var(--muted);cursor:pointer;transition:border-color .15s,background .15s;display:flex;flex-direction:column;align-items:center;gap:6px}.drop:hover{border-color:var(--text)}.drop strong{color:var(--text);font-size:15px;font-weight:600}.drop span{max-width:52ch;font-size:13px}.drop-icon{width:28px;height:28px;color:var(--text);margin-bottom:4px}.drop.active{border-color:var(--text);border-style:solid;background:var(--surface-2)}details.help{margin-top:14px;font-size:13px;color:var(--muted)}details.help p{max-width:80ch}summary{cursor:pointer;color:var(--text);font-weight:500}pre{background:var(--surface-2);border:1px solid var(--border);border-radius:7px;padding:12px;overflow-x:auto;font:12px/1.55 var(--mono);color:var(--text)}code{font-family:var(--mono);font-size:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:0 4px;color:var(--text)}.empty{color:var(--muted);font-size:13.5px;margin:0;padding:18px 0;text-align:center}ol.list{list-style:none;margin:0;padding:0}.scene{display:grid;grid-template-columns:22px 26px minmax(0,1fr);gap:10px;padding:16px 8px 16px 0;border-top:1px solid var(--border);background:var(--surface);position:relative;transition:transform .18s ease}.scene:first-child{border-top-color:transparent}.list.sorting .scene.dragging{z-index:2;transition:none;border-radius:8px;border-top-color:transparent;box-shadow:0 12px 32px #00000038,0 0 0 1px var(--border-strong)}.num{font:600 13px/32px var(--mono);color:var(--muted);text-align:right}.handle{width:22px;height:32px;padding:0;border:none;background:none;color:var(--muted);display:grid;place-items:center;cursor:grab;touch-action:none;border-radius:5px}.handle svg{width:10px;height:15px;fill:currentColor}.handle:hover:not(:disabled){color:var(--text);background:var(--surface-2)}body.is-sorting,body.is-sorting *{cursor:grabbing!important;-webkit-user-select:none;user-select:none}button.icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}button.icon.on{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}button.icon.open{border-color:var(--text);background:var(--surface-2)}.icon-spacer{width:32px;flex:none}.src-settings .chk{display:flex;margin-top:6px}.scene-meta{margin:6px 0 0;font-size:12px;color:var(--muted)}.scene-panel{margin-top:10px}.scene-panel .trans{margin-top:0}.panel-title.sep{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.panel-title{margin:0 0 10px;font-size:11px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.scene-head{display:flex;gap:8px;align-items:center}.scene-head{flex-wrap:wrap}.scene-name{flex:1 1 180px;font-weight:600;min-width:0}.chips{flex:0 0 240px;display:flex;flex-direction:column;gap:4px;min-width:0}.chip{display:inline-flex;align-items:center;gap:7px;min-width:0;max-width:100%;padding:4px 9px 4px 5px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2);height:32px;width:100%;font-size:12.5px}.chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chips .ghost{line-height:32px;padding-left:4px}.actions{margin-left:auto}.actions{display:flex;gap:4px}.trans{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:10px;align-items:center}.src-settings{padding:10px 0;border-top:1px dashed var(--border)}.panel-title+.src-settings{border-top:none;padding-top:0}.src-settings-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;font-weight:600}.src-audio{margin-top:12px}.srcs{margin-top:12px;border-left:1px solid var(--border-strong);padding-left:14px;display:flex;flex-direction:column;gap:4px}.src-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13px}.tag{font:600 10px/1 var(--mono);letter-spacing:.06em;padding:4px 6px;border-radius:4px;border:1px solid var(--text);color:var(--text)}.srcname{overflow-wrap:anywhere}.summary{color:var(--muted);font-size:12px}.ghost{color:var(--muted);font-size:12.5px;font-style:italic}.panel{margin:8px 0;padding:14px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px}.panel-sep{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.vol{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center}.vol label{margin:0;color:var(--text);font-size:13px}.vol-num{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}.vol-num input[type=number]{width:72px;padding:4px 8px}.line{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px;align-items:center}.line .chk{font-size:13px}.log{list-style:none;margin:0;padding:0;font-size:12.5px;max-height:280px;overflow-y:auto}.log li{display:grid;grid-template-columns:auto 40px minmax(0,1fr);gap:8px;padding:5px 0;border-top:1px solid var(--border)}.log li:first-child{border-top:none}.log time{color:var(--muted);font:11.5px/1.6 var(--mono)}.log .lvl{font:600 10px/1.9 var(--mono);color:var(--muted);letter-spacing:.04em}.log .msg{overflow-wrap:anywhere}.log .ok .lvl{color:var(--text)}.log .warn .lvl{color:var(--text);text-decoration:underline}.log .err .lvl,.log .err .msg{color:var(--danger)}.help-box{margin-top:12px;padding:12px 14px;border:1px solid var(--border);border-left:3px solid var(--text);border-radius:8px;background:var(--surface-2);font-size:12.5px}.help-box .help-title{margin:0 0 6px;font-weight:600}.help-box ol{margin:0 0 8px;padding-left:18px;display:flex;flex-direction:column;gap:5px}.tutorial-card{display:flex;align-items:center;gap:16px;justify-content:space-between}.tutorial-card h2{margin-bottom:4px}.tutorial-card p{margin:0;color:var(--muted);font-size:13px}.tutorial-card button{flex:none}@media(max-width:560px){.tutorial-card{flex-direction:column;align-items:stretch}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:16px;background:color-mix(in srgb,#000 55%,transparent);animation:fade .15s ease-out}.modal{width:min(560px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;display:flex;flex-direction:column;gap:18px;padding:22px 24px;box-shadow:0 24px 60px #0000004d}.modal:focus{outline:none}.modal-head{display:flex;align-items:center;justify-content:space-between}.step-count{font:600 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.step-body{animation:slide .2s ease-out}.step-num{display:block;font:700 40px/1 var(--mono);letter-spacing:-.02em}.step-title{margin:10px 0 12px;font-size:19px;color:var(--text);text-transform:none;letter-spacing:-.01em}.step-text{font-size:14px;line-height:1.6}.step-text p{margin:0 0 10px}.step-text ol{margin:0 0 10px;padding-left:20px;display:flex;flex-direction:column;gap:6px}.step-text .muted{color:var(--muted);font-size:13px}.modal-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:16px;border-top:1px solid var(--border)}.dots{display:flex;gap:6px}.dot-btn{width:8px;height:8px;padding:0;border-radius:50%;border:1px solid var(--muted);background:transparent}.dot-btn.on{background:var(--text);border-color:var(--text);width:22px;border-radius:4px}.modal-nav{display:flex;gap:8px}@keyframes fade{0%{opacity:0}}@keyframes slide{0%{opacity:0;transform:translate(8px)}}.switch-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--border)}.card-head+.switch-row{border-top:none;padding-top:0}.switch-ico{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:8px;border:1px solid var(--border);color:var(--muted)}.switch-ico.on{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.switch-ico svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.switch-text{flex:1;min-width:0;display:flex;flex-direction:column}.switch-text strong{font-size:13.5px;font-weight:600}.switch-text span{font-size:12px;color:var(--muted)}button.switch{flex:none;width:38px;height:22px;padding:2px;border-radius:999px;position:relative;border:1px solid var(--border-strong);background:var(--surface-2)}.switch .knob{display:block;width:16px;height:16px;border-radius:50%;background:var(--muted);transition:transform .15s,background .15s}button.switch.on{background:var(--primary);border-color:var(--primary)}.switch.on .knob{transform:translate(16px);background:var(--primary-text)}details.more{margin-top:4px;padding-top:12px;border-top:1px solid var(--border);font-size:13px}details.more .panel{margin-top:10px}.opts.compact{gap:8px}.opts.compact .chk{font-size:13px}@media(max-width:560px){.card{padding:16px}.scene-name{flex-basis:0}.chips{order:3;flex-basis:100%}.chip{width:auto;align-self:flex-start;max-width:100%}.scene{gap:6px}.vol{grid-template-columns:1fr auto}.vol label{grid-column:1 / -1}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
