:root{--bg:#0d1016;--panel:#151922;--panel2:#1b2130;--line:#293142;--tx:#e8edf5;--mut:#9aa6b9;--faint:#657085;--cyan:#42cbff;--blue:#00a8e1;--green:#54d6a2;--red:#ff5b68;--signal:#f2b84b;--mono:ui-monospace,SFMono-Regular,Consolas,monospace}
*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:var(--bg);color:var(--tx);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.45}.wrap{width:min(1180px,calc(100% - 34px));margin:auto}
header{border-bottom:1px solid var(--line);padding:28px 0 20px;background:linear-gradient(120deg,#0d1016 60%,#111928)}.brand{display:flex;align-items:baseline;gap:14px}.brand h1{margin:0;font-size:31px;letter-spacing:-.04em}.brand h1 b{color:var(--signal)}.brand span,.status,footer{font:11px var(--mono);letter-spacing:.09em;color:var(--faint)}
.srcnav{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0}.srcnav a{font:12px var(--mono);letter-spacing:.04em;color:var(--mut);text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:6px 13px}.srcnav a:hover{color:var(--tx);border-color:var(--cyan)}.srcnav a.active{background:var(--signal);border-color:var(--signal);color:#211803;font-weight:700}
main{padding:22px 0 52px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:13px}.intro{display:grid;grid-template-columns:1.3fr 1fr;gap:30px;padding:22px 24px}.intro h2{margin:3px 0 8px;font-size:23px}.intro p{margin:0;color:var(--mut)}.eyebrow{font:10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--signal)!important}.intro ol{margin:0;padding-left:22px;color:var(--mut);font-size:13px}.intro li+li{margin-top:5px}
.dropzone{margin:16px 0;border:1px dashed #3a485e;border-radius:13px;min-height:116px;padding:22px;display:flex;align-items:center;justify-content:center;gap:18px;cursor:pointer;background:#10151d;transition:.15s}.dropzone:hover,.dropzone.drag{border-color:var(--cyan);background:#111c26}.drop-icon{font:bold 13px var(--mono);letter-spacing:.12em;color:var(--cyan);border:1px solid #28536a;border-radius:7px;padding:13px 9px}.dropzone strong,.dropzone span{display:block}.dropzone span{font-size:12px;color:var(--mut);margin-top:4px}
.batchbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:4px 0 14px;color:var(--mut);font:12px var(--mono)}.batchbar span{margin-right:auto}.btn{border:0;background:var(--signal);color:#211803;border-radius:8px;padding:10px 14px;font-weight:700;cursor:pointer}.btn:hover{filter:brightness(1.08)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--mut)}.btn.blue{background:var(--blue);color:#021820}.btn.green{background:var(--green);color:#062015}.btn.small{padding:7px 10px;font-size:12px}
.jobs{display:grid;gap:16px}.job{border:1px solid var(--line);border-radius:13px;background:var(--panel);overflow:hidden}.job>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:15px 17px;background:var(--panel2)}.job>summary::-webkit-details-marker{display:none}.job>summary:before{content:"›";font-size:24px;color:var(--cyan);transition:.15s}.job[open]>summary:before{transform:rotate(90deg)}.job-title{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-file{font:11px var(--mono);color:var(--faint);margin-left:auto}.pill{font:10px var(--mono);border:1px solid var(--line);border-radius:999px;padding:3px 8px;color:var(--mut)}.pill.ok{color:var(--green);border-color:#2c6650}.pill.warn{color:var(--signal);border-color:#6a5528}.job-body{padding:17px;display:grid;gap:16px}
.matchbox{display:grid;grid-template-columns:122px 1fr;gap:17px}.poster{width:122px;aspect-ratio:2/3;border-radius:8px;background:#202735;overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--faint);font:11px var(--mono)}.poster img{width:100%;height:100%;object-fit:cover}.match-main{min-width:0}.match-search{position:relative}.suggestions{position:absolute;z-index:20;width:100%;max-height:250px;overflow:auto;background:var(--panel2);border:1px solid var(--line);border-radius:8px;box-shadow:0 15px 35px rgba(0,0,0,.45);display:none}.suggestions.show{display:block}.suggestion{padding:9px 11px;cursor:pointer;border-top:1px solid var(--line)}.suggestion:first-child{border-top:0}.suggestion:hover{background:#222b3b}.suggestion b,.suggestion span{display:block}.suggestion span{font:10px var(--mono);color:var(--faint)}.image-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.match-note{font:11px var(--mono);color:var(--faint);margin:8px 0 0}
.c411-badge{display:inline-block;margin-left:7px;padding:2px 5px;border-radius:4px;background:#e7b416;color:#18130a;font:700 9px var(--mono);font-style:normal;vertical-align:1px}
.auto-note{margin:9px 0 0;padding:8px 10px;border-left:3px solid var(--green);border-radius:5px;background:#111b19;color:var(--green);font:11px var(--mono)}.auto-note.error{border-left-color:var(--red);background:#211417;color:#ff9ba3}.auto-note.empty{color:var(--faint);border-left-color:var(--line);background:#11161e}
.section{border-top:1px solid var(--line);padding-top:15px}.section h3{margin:0 0 11px;font:12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cyan)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field.wide{grid-column:1/-1}.field label{font:10px var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--faint)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:#11161e;color:var(--tx);padding:10px 11px;font:13px inherit}textarea{resize:vertical;min-height:90px}input:focus,select:focus,textarea:focus{outline:2px solid var(--cyan);outline-offset:1px}.postimg.invalid{border-color:var(--red)}.postimg.valid{border-color:var(--green)}
.postimg-section{border:1px solid #2a4a46;border-radius:10px;padding:14px;background:#101a1a}.postimg-section h3{color:var(--green)}.postimg-top{margin-top:13px}.postimg-manual{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.postimg-actions{display:flex;gap:7px;flex-wrap:wrap}.postimg-preview{grid-column:1/-1;display:block;max-width:150px;max-height:220px;border:1px solid var(--line);border-radius:8px;object-fit:cover;background:#11161e}
.track-list{display:grid;gap:7px}.track{display:grid;grid-template-columns:32px 1.4fr .75fr .8fr .8fr 34px;gap:7px;align-items:center}.track.subtrack{grid-template-columns:32px 1.5fr 1fr 1fr 34px}.track input,.track select{padding:8px}.track .use{width:18px;height:18px;accent-color:var(--signal)}.remove{border:0;background:transparent;color:var(--faint);font-size:19px;cursor:pointer}.remove:hover{color:var(--red)}.track-head{font:9px var(--mono);text-transform:uppercase;color:var(--faint);padding:0 4px}.track-actions{margin-top:9px}
.validation{border-left:3px solid var(--signal);background:#171a20;padding:10px 12px;border-radius:6px;font-size:12px;color:var(--mut)}.validation.ok{border-left-color:var(--green)}.validation ul{margin:5px 0 0;padding-left:18px}.output-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.bbcode{min-height:360px;font:12px/1.45 var(--mono);white-space:pre}.toast{position:fixed;right:18px;bottom:18px;background:var(--panel2);border:1px solid var(--line);padding:11px 15px;border-radius:8px;color:var(--green);z-index:50;box-shadow:0 12px 30px rgba(0,0,0,.5)}
footer{border-top:1px solid var(--line);padding:22px 0 36px}
@media(max-width:800px){.intro{grid-template-columns:1fr}.matchbox{grid-template-columns:88px 1fr}.poster{width:88px}.grid,.grid.two{grid-template-columns:1fr 1fr}.track,.track.subtrack{grid-template-columns:28px 1fr 1fr}.track>*:nth-child(n+4):not(.remove){grid-column:auto}.job-file{display:none}}
@media(max-width:520px){.grid,.grid.two{grid-template-columns:1fr}.matchbox{grid-template-columns:1fr}.poster{width:110px}.track,.track.subtrack{grid-template-columns:28px 1fr}.track input,.track select{grid-column:2}.remove{grid-column:1;grid-row:2}.postimg-manual{grid-template-columns:1fr}.postimg-actions{align-items:stretch}.postimg-actions .btn{flex:1;text-align:center}}
