:root{--bg: #0f1117;--fg: #e6e9ef;--muted: #8b95a7;--accent: #7c9eff;--border: #2a2f3a;--surface: #1a1e27;--warn: #ffb86b;--error: #ff7a7a}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans TC,sans-serif;background:var(--bg);color:var(--fg);line-height:1.5}main{max-width:1280px;margin:0 auto;padding:1.5rem 1.25rem 1rem}@media (min-width: 960px){html,body{height:100%}body{overflow:hidden}main{height:100vh;display:flex;flex-direction:column;min-height:0;padding-bottom:.75rem}main>header{flex:none}main>.pills-bar{flex:none}main>.layout{flex:1 1 auto;min-height:0;margin-top:.8rem}main>.page-footer{flex:none;margin-top:.75rem}}header{position:relative}h1{margin:0 0 .15rem;font-size:1.35rem}.subtitle{margin:0 0 .85rem;color:var(--muted);font-size:.85rem}.lang-switch{position:absolute;top:0;right:0;display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.lang-switch button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;color:var(--muted);border:none;border-radius:0;padding:.3rem .7rem;font:inherit;font-size:.78rem;font-weight:500;cursor:pointer;transition:background .12s ease,color .12s ease}.lang-switch button+button{border-left:1px solid var(--border)}.lang-switch button:hover{color:var(--fg)}.lang-switch button.active{background:var(--accent);color:#0f1117}h2{font-size:.78rem;color:var(--muted);font-weight:500;margin:0 0 .5rem;letter-spacing:.05em;text-transform:uppercase}.muted{color:var(--muted)}.pills-bar{display:flex;align-items:baseline;flex-wrap:wrap;gap:.75rem;padding:.65rem 0 .8rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.pills-row{display:inline-flex;flex-wrap:wrap;gap:.35rem}.pill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:.32rem .85rem;font:inherit;font-size:.82rem;font-weight:500;letter-spacing:.02em;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.pill:hover:not(.active){color:var(--fg);border-color:var(--muted)}.pill.active{background:var(--accent);color:#0f1117;border-color:var(--accent)}.layout{display:grid;grid-template-columns:1fr;gap:1.25rem;margin-top:1rem}@media (min-width: 960px){.layout{grid-template-columns:320px 1fr;gap:1.5rem;align-items:stretch;min-height:0}.controls-pane,.results-pane{min-height:0;overflow-y:auto;scrollbar-gutter:stable}}.controls-pane{display:flex;flex-direction:column;gap:.85rem}.results-pane{min-width:0}.drop-zone{border:2px dashed var(--border);border-radius:10px;padding:.85rem 1rem;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease}.drop-zone:hover,.drop-zone.dragover{border-color:var(--accent);background:var(--surface)}.drop-zone p{margin:.15rem 0}.drop-zone .drop-title{font-size:.95rem}.opts-controls{display:flex;flex-direction:column;gap:.5rem}.opts-controls.compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.4rem .85rem}.opts-controls.compact>.opt-quality{grid-column:1 / -1}.opts-controls .opt-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.85rem}.opts-controls.compact .opt-row{font-size:.82rem}.opts-controls .opt-row .opt-label{color:var(--muted);cursor:default}.opts-controls .opt-row.checkbox{cursor:pointer}.opts-controls .opt-row[title]{cursor:help}.opts-controls .opt-row[title]>.opt-label{text-decoration:underline dotted var(--border);text-underline-offset:3px;cursor:help}.opts-controls .opt-row.checkbox input[type=checkbox]{accent-color:var(--accent);width:1.05rem;height:1.05rem;margin:0}.opts-controls select{padding:.28rem .5rem;background:var(--surface);color:var(--fg);border:1px solid var(--border);border-radius:6px;font:inherit;font-size:.85rem}.opts-controls select:focus{outline:none;border-color:var(--accent)}.opts-controls select option{background:var(--surface);color:var(--fg)}.opts-controls.compact select{background:var(--bg);padding:.22rem .45rem;font-size:.82rem}.opts-controls .opt-quality{border:1px solid var(--border);border-radius:6px;padding:.3rem .75rem .4rem;margin:.15rem 0 0}.opts-controls.compact .opt-quality{padding:.25rem .7rem .35rem;border-radius:5px;margin:0}.opts-controls .opt-quality legend{padding:0 .4rem;color:var(--muted);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.opts-controls .opt-quality label{display:flex;align-items:center;gap:.5rem;margin:.2rem 0;font-size:.85rem;cursor:pointer}.opts-controls.compact .opt-quality label{display:inline-flex;margin:.15rem 1rem .15rem 0;font-size:.82rem}.opts-controls .opt-quality label[title]{cursor:help}.opts-controls .opt-quality label[title]>span{text-decoration:underline dotted var(--border);text-underline-offset:3px}.opts-controls .opt-quality input[type=radio]{accent-color:var(--accent);margin:0}.actions{display:flex;gap:.75rem;align-items:center;margin:0}button.primary,#start-btn{padding:.5rem 1.1rem;background:var(--accent);color:#0f1117;border:none;border-radius:6px;font:inherit;font-weight:600;cursor:pointer;transition:opacity .15s ease}button.primary:disabled,#start-btn:disabled{opacity:.4;cursor:not-allowed}.controls-pane>footer{margin:0;padding-top:.4rem;border-top:1px solid var(--border);font-size:.74rem;line-height:1.45}.controls-pane>footer p{margin:0}#results{display:flex;flex-direction:column;gap:.45rem}.queue-empty{padding:1.5rem .5rem;text-align:center;font-size:.85rem;border:1px dashed var(--border);border-radius:6px}.source-card{background:var(--surface);border-radius:6px;padding:.55rem .8rem .6rem;display:flex;flex-direction:column;gap:.35rem;font-size:.88rem;border-left:3px solid transparent}.source-card.is-processing{border-left-color:var(--accent)}.source-card.is-done{border-left-color:#6acd6a}.source-card.is-failed{border-left-color:var(--error)}.source-card .source-header{display:flex;align-items:center;gap:.55rem;min-width:0}.source-card .card-pill-badge{flex-shrink:0;font-size:.7rem;letter-spacing:.02em;color:var(--accent);border:1px solid var(--accent);border-radius:4px;padding:.05rem .4rem;background:#7c9eff14}.source-card .filename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex-shrink:1}.source-card .source-dims{color:var(--muted);font-size:.74rem;flex-shrink:0}.source-card .source-dims:empty{display:none}.source-card .dup-badge{flex-shrink:0;color:var(--warn);border:1px solid var(--warn);border-radius:4px;padding:.05rem .4rem;font-size:.7rem;letter-spacing:.04em;cursor:help}.source-card .header-right{margin-left:auto;display:inline-flex;align-items:center;gap:.2rem;flex-shrink:0}.source-card .icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;color:var(--muted);border:none;border-radius:4px;width:1.5rem;height:1.5rem;padding:0;font-size:.95rem;line-height:1;cursor:pointer;transition:background .12s ease,color .12s ease}.source-card .icon-btn:hover:not(:disabled){background:#ffffff0f;color:var(--fg)}.source-card .icon-btn:disabled{opacity:.35;cursor:not-allowed}.source-card .remove-btn{font-size:1.05rem}.source-card .card-meta{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;font-size:.78rem}.source-card .card-summary{color:var(--muted);min-width:0;flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-card .card-status{color:var(--muted);flex-shrink:0}.source-card.is-done .card-status{color:#8ed28e}.source-card.is-failed .card-status{color:var(--error)}.source-card .progress{height:3px;background:var(--border);border-radius:2px;overflow:hidden}.source-card .bar{height:100%;width:0;background:var(--accent);transition:width .2s ease}.source-card .action{display:inline-flex;align-items:baseline;gap:.05rem;font-size:.85rem}.source-card .action:empty{display:none}.source-card .action a{color:var(--accent);text-decoration:none;font-weight:500}.source-card .action a:hover{text-decoration:underline}.source-card .size{color:var(--muted)}.source-card .size-warn{margin-left:.25rem;color:var(--warn);cursor:help}.source-card .preview:empty{display:none}.source-card .preview img,.source-card .preview video{display:block;max-width:100%;max-height:320px;height:auto;border-radius:4px;background:#000}.edit-context[hidden]{display:none}.edit-context{display:flex;align-items:baseline;flex-wrap:wrap;gap:.35rem .4rem;font-size:.78rem;color:var(--muted);padding:.35rem 0;border-bottom:1px dashed var(--border)}.edit-context .edit-context-label{letter-spacing:.02em}.edit-context .edit-context-pill{font-size:.7rem;color:var(--accent);border:1px solid var(--accent);border-radius:4px;padding:.05rem .4rem;background:#7c9eff14}.edit-context .edit-context-name{color:var(--fg);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1 1 auto}.sidebar-edit-actions[hidden]{display:none}body.editing .pills-bar,body.editing main>header,body.editing .page-footer,body.editing .source-card:not(.editing-target){opacity:.3;pointer-events:none;transition:opacity .18s ease}body.editing .drop-zone,body.editing .normal-actions,body.editing .controls-pane>footer,body.editing #drop-overlay{display:none!important}body.editing .pill{cursor:default}.source-card.editing-target{outline:2px solid var(--accent);outline-offset:3px;position:relative;z-index:1}.edit-actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.edit-actions button{padding:.35rem .75rem;border-radius:5px;font:inherit;font-size:.8rem;font-weight:500;cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--fg);transition:background .12s ease,border-color .12s ease,color .12s ease}.edit-actions button:hover{border-color:var(--muted)}.edit-actions .edit-primary{background:var(--accent);border-color:var(--accent);color:#0f1117}.edit-actions .edit-primary:hover{opacity:.92;border-color:var(--accent)}.edit-actions .edit-cancel{background:transparent;color:var(--muted);border-color:transparent}.edit-actions .edit-cancel:hover{color:var(--fg);border-color:transparent}#toast-host{position:fixed;top:1rem;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;align-items:center;gap:.4rem;pointer-events:none;max-width:min(90vw,480px)}.toast{pointer-events:auto;background:var(--surface);color:var(--fg);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:6px;padding:.55rem .95rem;font-size:.85rem;text-align:center;box-shadow:0 4px 14px #00000073;cursor:pointer;opacity:0;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease}.toast.show{opacity:1;transform:translateY(0)}.toast-error{border-left-color:var(--error)}.toast-info{border-left-color:var(--accent)}.page-footer{margin-top:1.25rem;padding-top:.75rem;border-top:1px solid var(--border);font-size:.74rem;color:var(--muted);display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.4rem 1.25rem}.page-footer .privacy{margin:0;letter-spacing:.02em}.page-footer .links{display:inline-flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.page-footer .links a{color:var(--muted);text-decoration:none;transition:color .12s ease}.page-footer .links a:hover{color:var(--accent);text-decoration:underline}.page-footer .links .sep,.page-footer .links .kofi-link:hover{color:#ff5e5b}.page-footer .links .paypal-link:hover{color:#0070ba}#drop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:none;align-items:center;justify-content:center;background:#0f1117d1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none}#drop-overlay.active{display:flex;pointer-events:auto}#drop-overlay .drop-overlay-content{border:2px dashed var(--accent);border-radius:16px;padding:2.5rem 3.5rem;font-size:1.1rem;color:var(--accent);text-align:center;letter-spacing:.05em}#drop-overlay .drop-overlay-content p{margin:0}
