:root{color-scheme:dark;--background:#0c0c0f;--panel:#161625;--panel-muted:#1f1f33;--primary:#7d56f4;--primary-strong:#9b7bff;--text:#f1f1f3;--text-muted:#b7b7c9;--border:#2a2a3d;--success:#4ade80;--error:#f87171}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--background);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);min-height:100%}.top-bar{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:1.5rem}.top-title h1{margin:0 0 .5rem}.top-title p{margin:0;color:var(--text-muted)}.top-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:flex-end}.top-actions-group{display:flex;align-items:center;gap:.75rem}.chip-button{border:1px solid var(--border);background:rgba(125,86,244,.18);color:var(--primary);border-radius:999px;padding:.45rem 1.1rem;font-weight:600;cursor:pointer;transition:border .2s ease,background .2s ease}.chip-button.active,.chip-button:hover{border-color:var(--primary)}.chip-button.active{background:rgba(125,86,244,.35);color:var(--text)}.profile-menu{position:relative}.profile-chip{display:flex;align-items:center;gap:.75rem;background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:.35rem .85rem;cursor:pointer;color:var(--text);transition:border .2s ease,background .2s ease}.profile-chip:hover{border-color:var(--primary)}.profile-chip:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.profile-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}.avatar-fallback{background:var(--primary);color:var(--text);display:flex;align-items:center;justify-content:center;font-weight:600;color:#fff}.profile-meta{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1}.profile-name{font-size:.95rem;font-weight:600}.profile-email{font-size:.75rem;color:var(--text-muted)}.profile-caret{font-size:.85rem;color:var(--text-muted)}.profile-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:var(--panel);border:1px solid var(--border);border-radius:12px;min-width:140px;box-shadow:0 20px 40px rgba(0,0,0,.35);padding:.4rem;display:flex;flex-direction:column;gap:.3rem;z-index:20}.profile-dropdown button{background:transparent;border:none;color:var(--text);padding:.45rem .6rem;border-radius:8px;text-align:left;cursor:pointer;font-size:.9rem}.profile-dropdown button:hover{background:rgba(125,86,244,.25)}a{color:inherit;text-decoration:none}button{font-family:inherit}.app-container{max-width:1100px;margin:0 auto;padding:2rem;display:flex;flex-direction:column;gap:2rem}.panel{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:1.75rem;box-shadow:0 30px 60px rgba(0,0,0,.25)}.panel h2{margin-top:0;margin-bottom:1rem;font-size:1.2rem;display:flex;align-items:center;gap:.4rem}.panel p.description{margin-top:-.75rem;margin-bottom:1.5rem;color:var(--text-muted);font-size:.95rem}.panel-section{display:grid;grid-gap:1rem;gap:1rem}.field-label{font-size:.95rem;font-weight:600;color:var(--text-muted);margin-bottom:.25rem}.select-input,.text-area,.text-input{width:100%;background:var(--panel-muted);border:1px solid var(--border);border-radius:12px;padding:.75rem 1rem;color:var(--text);font-size:.95rem;transition:border .2s ease,box-shadow .2s ease}.text-area{min-height:200px;resize:vertical;font-family:JetBrains Mono,Fira Code,monospace;font-size:.9rem;line-height:1.4}.select-input:focus,.text-area:focus,.text-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px rgba(125,86,244,.25)}.select-input{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:var(--panel-muted);padding-right:2.5rem}.select-input::-ms-expand{display:none}.actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;justify-content:flex-start}.panel .actions+.description{margin-top:1rem}.select-wrapper{position:relative}.select-wrapper:after{content:"";position:absolute;right:18px;top:calc(50% - 3px);border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid hsla(0,0%,100%,.6);pointer-events:none}.file-drop,.file-upload{position:relative}.file-upload{display:inline-flex;align-items:center;gap:.6rem;border:1px solid var(--border);border-radius:999px;padding:.55rem 1.2rem;background:rgba(125,86,244,.18);color:var(--text);font-size:.9rem;font-weight:600;cursor:pointer;transition:border .2s ease,background .2s ease}.file-upload:hover{border-color:var(--primary);background:rgba(125,86,244,.3)}.file-upload input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.file-upload span{pointer-events:none}.cancelled-hint{margin-top:.75rem;padding:.85rem 1rem;border-radius:12px;background:rgba(150,150,170,.12);border:1px dashed rgba(150,150,170,.35);color:var(--text-muted);font-size:.9rem}.button{background:var(--primary);color:var(--text);padding:.75rem 1.5rem;border:none;border-radius:999px;font-weight:600;cursor:pointer;transition:background .2s ease,transform .1s ease}.button:hover:not(:disabled){background:var(--primary-strong)}.button:disabled{opacity:.6;cursor:not-allowed}.button-secondary,.icon-button{background:transparent;border:1px solid var(--border)}.icon-button{border-radius:12px;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;color:var(--text);cursor:pointer;transition:border .2s ease,transform .1s ease,background .2s ease}.icon-button:hover:not(:disabled){border-color:var(--primary);background:rgba(125,86,244,.18)}.icon-button:disabled{opacity:.6;cursor:not-allowed}.icon-button svg{width:18px;height:18px;fill:currentColor}.icon-button.spinning svg{animation:icon-spin .8s linear infinite}@keyframes icon-spin{to{transform:rotate(1turn)}}.language-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:.75rem;gap:.75rem}.language-tag{display:flex;align-items:center;gap:.5rem;padding:.65rem .85rem;border-radius:12px;border:1px solid var(--border);background:var(--panel-muted);cursor:pointer;transition:border .2s ease,background .2s ease}.language-tag.active{border-color:var(--primary);background:rgba(125,86,244,.18)}.language-tag input{accent-color:var(--primary)}.file-drop{border:1px dashed var(--border);border-radius:16px;padding:1.5rem;background:rgba(32,32,51,.35);text-align:center;transition:border .2s ease}.file-drop:hover{border-color:var(--primary)}.file-name{font-size:.9rem;color:var(--text-muted);margin-top:.5rem}.status{padding:.85rem 1rem;border-radius:12px;font-size:.95rem;background:rgba(125,86,244,.12);border:1px solid rgba(125,86,244,.35)}.status-banner{margin-bottom:1rem}.status.error{background:hsla(0,91%,71%,.12);border-color:hsla(0,91%,71%,.3);color:var(--error)}.results{display:grid;grid-gap:1rem;gap:1rem}.tool-card{border:1px solid var(--border);border-radius:16px;padding:1.3rem 1.4rem;background:var(--panel-muted);text-align:left;display:grid;grid-gap:.65rem;gap:.65rem;cursor:pointer;transition:border .2s ease,transform .2s ease,background .2s ease}.tool-card:focus-visible,.tool-card:hover{border-color:var(--primary);background:rgba(125,86,244,.18);transform:translateY(-2px);outline:none}.tool-card:active{transform:translateY(0)}.tool-card-header{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.subtitle-header,.subtitle-toggle{align-items:center;gap:.75rem}.subtitle-toggle{display:flex;justify-content:space-between;background:transparent;border:none;padding:0;flex:1 1;color:inherit;cursor:pointer;text-align:left}.subtitle-toggle:hover{color:#fff}.subtitle-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.subtitle-toggle-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);border-radius:12px;background:hsla(0,0%,100%,.04);transition:border .2s ease,background .2s ease}.subtitle-toggle:hover .subtitle-toggle-icon{border-color:var(--primary);background:rgba(125,86,244,.16)}.subtitle-toggle-icon svg{width:18px;height:18px}.subtitle-chevron{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.25;transition:opacity .2s ease}.subtitle-toggle-icon.collapsed .subtitle-chevron-down,.subtitle-toggle-icon:not(.collapsed) .subtitle-chevron-up{opacity:.9}.panel-header-actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;justify-content:flex-end}.layout-two-column{display:grid;grid-template-columns:340px minmax(0,1fr);grid-gap:1.5rem;gap:1.5rem;align-items:stretch;min-height:0}.card-surface{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:1.2rem 1.4rem;box-shadow:0 20px 45px rgba(0,0,0,.35);display:flex;flex-direction:column;gap:1rem}.main-column,.sidebar-column{max-height:100%;overflow:hidden}.section-title{font-size:1rem;font-weight:600;margin:0}.subtitle-pane{display:flex;flex-direction:column;gap:.75rem;flex:1 1 auto;min-height:0}.subtitle-scroll{flex:1 1 auto;min-height:0;overflow:auto;max-height:calc(5 * 72px);padding-right:4px}.subtitle-list{display:grid;grid-gap:.5rem;gap:.5rem}.subtitle-item{display:flex;justify-content:space-between;align-items:center;padding:.55rem .75rem;border-radius:12px;border:1px solid var(--border);background:hsla(0,0%,100%,.02);cursor:pointer;transition:border .2s ease,background .2s ease}.subtitle-item.active{border-color:var(--primary);background:rgba(125,86,244,.18)}.subtitle-item .subtitle-lang{font-weight:600}.subtitle-item .subtitle-status{font-size:.75rem;color:var(--text-muted)}.subtitle-item .subtitle-status.loaded{color:var(--success)}.subtitle-tools{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.subtitle-editor{flex:1 1 auto;min-height:300px;resize:none}.subtitle-editor-wrapper{flex:1 1 auto;display:flex;min-height:0}.subtitle-editor-wrapper .subtitle-editor{flex:1 1 auto;min-height:max(300px,calc(1.5em * 10))}.generator-panel{margin-top:1rem;border-top:1px solid hsla(0,0%,100%,.08);padding-top:.75rem;display:grid;grid-gap:.6rem;gap:.6rem}.video-preview{background:rgba(0,0,0,.2);border:1px solid var(--border);border-radius:14px;padding:.6rem;display:flex;align-items:center;justify-content:center;min-height:200px;margin-bottom:1.2rem}.video-player{width:100%;border-radius:10px;background:#000;max-height:360px}.video-placeholder{color:var(--text-muted);font-size:.9rem;text-align:center;padding:1.2rem .6rem}.translation-panel{border:1px dashed hsla(0,0%,100%,.12);border-radius:12px;padding:1rem;display:grid;grid-gap:.75rem;gap:.75rem}.translation-language-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:.75rem;gap:.75rem}.language-option{display:flex;align-items:center;gap:.5rem;padding:.65rem .85rem;border-radius:12px;border:1px solid var(--border);background:hsla(0,0%,100%,.02);cursor:pointer;transition:border .2s ease,background .2s ease}.language-option input{accent-color:var(--primary)}.language-option.active{border-color:var(--primary);background:rgba(125,86,244,.18)}.language-option-label{font-weight:500;font-size:.85rem;line-height:1.3}.translation-list{display:grid;grid-gap:.6rem;gap:.6rem}.translation-row{border:1px solid var(--border);border-radius:12px;padding:.75rem .9rem;background:hsla(0,0%,100%,.03);display:grid;grid-gap:.5rem;gap:.5rem;cursor:pointer;transition:border .2s ease,background .2s ease}.translation-row.active,.translation-row:hover{border-color:var(--primary)}.translation-row.active{background:rgba(125,86,244,.18)}.translation-row-main{display:flex;align-items:center;gap:.75rem;justify-content:space-between;flex-wrap:wrap}.translation-row-title{display:flex;flex-direction:column;gap:.2rem}.translation-lang{font-weight:600}.translation-lang-code{font-size:.75rem;color:var(--text-muted)}.translation-status{font-size:.8rem;color:var(--text-muted)}.translation-status.success{color:var(--success)}.translation-status.error{color:var(--error)}.translation-error{color:var(--error);font-size:.85rem}.translation-row-actions{display:flex;align-items:center;gap:.6rem}.badge{display:inline-flex;align-items:center;gap:.4rem;background:rgba(125,86,244,.18);border-radius:999px;padding:.4rem .8rem;font-size:.8rem}.badge.error{background:hsla(0,91%,71%,.1);color:var(--error)}.json-preview-wrapper{width:100%;overflow-x:auto}.json-preview{min-width:100%;max-width:100%;max-height:260px;overflow:auto;font-size:.9rem;font-family:JetBrains Mono,Fira Code,monospace;white-space:pre;padding:1rem;border-radius:12px;border:1px solid hsla(0,0%,100%,.05);box-sizing:border-box}.collapsed-hint,.json-preview{margin:0;background:rgba(12,12,20,.45)}.collapsed-hint{padding:.85rem 1rem;border-radius:12px;border:1px dashed hsla(0,0%,100%,.08);color:var(--text-muted);font-size:.88rem}.login-section{display:flex;align-items:center;justify-content:space-between;gap:1rem}.user-info{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.user-info span{color:var(--text-muted)}.progress-wrapper{display:grid;grid-gap:1.25rem;gap:1.25rem}.progress-meter{width:100%;height:8px;background:rgba(60,60,90,.6);border-radius:999px;overflow:hidden}.progress-meter span{display:block;height:100%;background:var(--primary);transition:width .3s ease}.progress-list{display:grid;grid-gap:.75rem;gap:.75rem}.progress-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.1rem;border-radius:14px;transition:border .2s ease}.progress-item,.result-card{border:1px solid var(--border);background:var(--panel-muted)}.result-card{border-radius:16px;padding:1.25rem 1.4rem;display:grid;grid-gap:.85rem;gap:.85rem}.result-header{justify-content:space-between;gap:1rem}.result-header,.result-meta{display:flex;align-items:center;flex-wrap:wrap}.result-meta{gap:.75rem}.result-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:nowrap}.result-actions .button{white-space:nowrap}.progress-item.translating{border-color:var(--primary)}.progress-item.success{border-color:rgba(74,222,128,.4)}.progress-item.error{border-color:hsla(0,91%,71%,.4)}.status-chip{display:inline-flex;align-items:center;padding:.35rem .85rem;border-radius:999px;font-size:.75rem;font-weight:600;color:var(--text);background:hsla(0,0%,100%,.08)}.status-chip.success{background:rgba(74,222,128,.2);color:#4ade80}.status-chip.error{background:hsla(0,91%,71%,.2);color:var(--error)}.status-chip.translating{background:rgba(125,86,244,.2);color:var(--primary-strong)}.status-chip.pending{background:hsla(0,0%,100%,.08);color:var(--text-muted)}.status-chip.cancelled{background:rgba(150,150,170,.18);color:var(--text-muted)}.error-panel{margin-top:.75rem;padding:.9rem 1rem;border-radius:12px;background:hsla(0,91%,71%,.12);border:1px solid hsla(0,91%,71%,.25);color:var(--error);font-size:.9rem}.progress-status-label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-muted)}.status-dot{width:.65rem;height:.65rem;border-radius:999px;background:var(--text-muted)}.status-dot.translating{background:var(--primary);animation:pulse 1.2s ease-in-out infinite}.status-dot.success{background:var(--success)}.status-dot.error{background:var(--error)}.progress-error{margin-top:.45rem;font-size:.85rem;color:var(--error)}.split{display:grid;grid-gap:1.5rem;gap:1.5rem}@keyframes pulse{0%{opacity:.35}50%{opacity:1}to{opacity:.35}}@media (min-width:1024px){.split{grid-template-columns:1.2fr 1fr}}.actions-inline{align-items:center;gap:.75rem;margin-bottom:.5rem}.actions-inline+.language-grid{margin-top:.25rem}.toast-container{position:fixed;right:24px;bottom:24px;display:grid;grid-gap:10px;gap:10px;z-index:1000}.toast{min-width:240px;max-width:420px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:10px 12px;box-shadow:0 20px 40px rgba(0,0,0,.35);font-size:.92rem;line-height:1.35;animation:toast-in .16s ease-out}.toast.success{background:rgba(74,222,128,.12);border-color:rgba(74,222,128,.35);color:#b7f7c0}.toast.error{background:hsla(0,91%,71%,.12);border-color:hsla(0,91%,71%,.35);color:var(--error)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}