:root{color-scheme:dark;--bg:#101210;--panel:#1a1d19;--line:#30362d;--muted:#959f90;--lime:#d6f98a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f1f3eb;font:14px/1.6 'Segoe UI','Microsoft YaHei',sans-serif}header{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5%}.brand{display:flex;gap:14px;align-items:center;font-weight:650}.logo{background:var(--lime);color:#192411;font-size:28px;width:36px;height:36px;line-height:36px;text-align:center;border-radius:10px}a{color:var(--muted);text-decoration:none}a:hover{color:var(--lime)}main{max-width:1300px;margin:auto;padding:42px 36px 20px}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.eyebrow{font-size:11px;letter-spacing:3px;color:var(--lime)}h1{font-size:34px;letter-spacing:-1px;margin:8px 0}p{color:var(--muted);margin:8px 0}.tag{border:1px solid var(--line);padding:6px 13px;border-radius:24px;color:#b4bdaa;font-size:12px}.layout{display:grid;grid-template-columns:1.25fr 1fr;gap:24px}.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:24px;margin-bottom:18px}.sectiontitle{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}h2{font-size:16px;margin:0}h2 span{color:var(--lime);font:12px monospace;margin-right:12px}small,.muted{color:var(--muted)}small{font-size:12px}.uploads{display:grid;grid-template-columns:1fr 1fr;gap:16px}.drop{position:relative;min-height:208px;overflow:hidden;background:#131611;border:1px dashed #424b38;border-radius:12px;cursor:pointer;display:flex;justify-content:center;align-items:center;padding-bottom:32px}.drop:hover,.drop.drag{border-color:var(--lime);background:#202719}.drop input{position:absolute;width:1px;height:1px;opacity:0}.drop:focus-within{outline:2px solid var(--lime)}.placeholder{text-align:center;display:flex;flex-direction:column;gap:4px}.placeholder b{color:var(--lime);font-size:32px;font-weight:400}.filename{position:absolute;bottom:0;left:0;width:100%;padding:7px 10px;background:#141711d9;font-size:11px;color:var(--muted);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drop img,.drop video{max-width:100%;width:100%;height:190px;object-fit:contain}.dimensions{display:flex;gap:14px;align-items:end}.dimensions label{flex:1;color:#adb6a5;font-size:12px}.number{display:flex;align-items:center;border:1px solid var(--line);background:#11150f;border-radius:9px;margin-top:8px;padding-right:12px}.number input{width:100%;border:0;background:transparent;font-size:19px;color:#eef4e6}.number span{color:var(--muted)}input,textarea,button{font:inherit}input,textarea{outline:none;color:#eef4e6;background:#11150f;border:1px solid var(--line);border-radius:8px;padding:12px}input:focus,textarea:focus{border-color:var(--lime)}button{cursor:pointer;border:1px solid var(--line);background:#252b20;color:#dce5d1;border-radius:8px;padding:9px 12px}button:hover{border-color:#9ab975}button:disabled{opacity:.5;cursor:wait}.textbutton{border:0;background:none;color:var(--muted);font-size:12px;padding:0}#swap{margin-bottom:6px;border:none;background:transparent;font-size:20px}.presets{display:flex;gap:8px;margin:12px 0 22px}.presets button{font-size:11px;padding:4px 10px;background:transparent;color:var(--muted)}.promptlabel{display:block;margin:18px 0 9px;color:#cad1c3}textarea{width:100%;resize:vertical;min-height:105px}.modes{display:flex;gap:12px}.modes label{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:10px;padding:12px 16px;flex:1;cursor:pointer}.modes label:has(input:checked){border-color:var(--lime);background:#2a3320}.modes input{position:absolute;opacity:0;width:1px}.modes label:focus-within{outline:2px solid var(--lime)}.modes small{display:block}.modes em{font-style:normal;font-size:10px;background:#d6f98a;color:#243219;padding:2px 5px;border-radius:4px;margin-left:5px}.dot{width:14px;height:14px;border:1px solid #69785c;border-radius:50%}.modes input:checked~.dot{background:var(--lime);border:4px solid #51653b}.connection label{font-size:13px}.connection label span{display:block;color:var(--muted);font-size:11px;margin-bottom:12px}#key{width:100%}.connection p{font-size:11px;margin:12px 0}.primary{background:var(--lime);color:#233019;border:0;width:100%;display:flex;justify-content:space-between;padding:14px 20px;font-weight:700;font-size:16px}.output{position:sticky;top:20px;min-height:580px}.badge{font-size:11px;padding:3px 9px;border-radius:20px;background:#2a3224;color:var(--lime)}#empty{min-height:325px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:radial-gradient(ellipse,#242e1c 0%,transparent 65%)}.frame{width:84px;height:108px;border:1px solid #5a6948;border-radius:12px;display:grid;place-items:center;color:var(--lime);font-size:32px;transform:rotate(-7deg);margin-bottom:20px;box-shadow:10px 9px 0 #222b1b}h3{font-size:15px;margin:8px 0}#empty p{font-size:12px}#status{padding:14px;background:#12160f;border-radius:8px;color:#a8b39b;font-size:12px;overflow-wrap:anywhere}#status.error{color:#ffb3a3}#taskInfo{margin-top:14px}code{display:block;user-select:all;color:var(--lime)}.recover{display:flex;gap:8px;margin-top:20px}.recover input{min-width:0;width:100%;font-size:12px}.recover button{white-space:nowrap;font-size:12px}.footnote{font-size:11px;margin-top:15px}#results video,#results img{width:100%;max-height:420px;object-fit:contain;border-radius:10px;background:#101210}#results a{display:block;padding:10px 0;color:var(--lime)}#results pre{white-space:pre-wrap;overflow-wrap:anywhere}.tip{display:flex;gap:12px;padding:0 16px}.tip>span{color:var(--lime);padding-top:8px}.tip p{font-size:12px}.tip small{font-size:11px}footer{display:flex;justify-content:space-between;color:#5e6856;font-size:10px;margin-top:24px}footer span{letter-spacing:2px}[hidden]{display:none!important}@media(max-width:850px){.layout{grid-template-columns:1fr}.intro{display:block}.tag{display:inline-block;margin-top:16px}main{padding:28px 16px}header{padding:0 20px}header a{font-size:11px}.card{padding:18px}h1{font-size:28px}.output{min-height:480px}.sectiontitle small{font-size:10px}}@media(max-width:420px){.uploads{gap:8px}.drop{min-height:170px}.placeholder small{font-size:9px}.modes label{padding:10px}.brand{gap:8px;font-size:12px}}
.module-tabs{display:flex;gap:10px;margin-bottom:24px}.module-tabs button{padding:12px 22px;background:transparent}.module-tabs button.selected{background:var(--lime);color:#233019;border-color:var(--lime);font-weight:700}.module-tabs span{font-size:11px;margin-left:8px;opacity:.7}.batch-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:24px}.batch-help{font-size:12px;line-height:1.8;margin:14px 0}.batch-picker{border:1px dashed #566543;border-radius:12px;padding:20px 12px;display:flex;flex-direction:column;gap:12px;color:var(--lime);cursor:pointer}.batch-picker input{max-width:100%;width:100%;font-size:11px;padding:7px}.batch-picker small{font-size:11px}.match-list{max-height:240px;overflow:auto}.match-row{display:flex;flex-direction:column;padding:10px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.match-row strong{font-size:12px}.error-text{color:#ffb3a3!important}.batch-settings{margin-top:20px}.batch-settings input{display:block;width:100%;margin-top:8px}#batchKey{width:100%}#batchForm .modes{margin-top:15px}#batchMessage{font-size:12px}.queue-panel{align-self:start}.queue-stats{padding:16px;border-radius:10px;background:#11150f;color:var(--lime);font-size:13px}.queue-actions{display:flex;gap:8px;margin-top:15px}.queue-actions button{font-size:12px}.queue-empty{padding:60px 20px;text-align:center;color:var(--muted);font-size:12px}.batch-group{margin-top:26px}.queue-job{padding:16px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.job-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:5px}.job-head strong{font-size:13px;min-width:0}.job-head .badge{flex-shrink:0}.queue-job small{display:block}.queue-job code{font-size:11px;color:#8c9d7c}.queue-job a{display:block;color:var(--lime);font-size:12px;margin-top:10px}.queue-job input{width:100%;margin:8px 0;font-size:12px}.queue-job button{font-size:12px}.badge.failed,.badge.uncertain,.badge.download_failed{color:#ffb3a3;background:#3b2822}.badge.success{background:#304023}.badge.waiting{color:#afb5a8;background:#30352c}@media(max-width:900px){.batch-layout{grid-template-columns:1fr}.module-tabs button{padding:10px 15px}}
