:root{color-scheme:dark;--bg:#0b0c0e;--panel:#111318;--panel2:#171a20;--panel3:#20242c;--line:#2b3039;--line2:#3b424d;--muted:#8b94a3;--text:#f7f8fa;--soft:#c9ced7;--accent:#f4f5f7;--accentText:#101216;--warn:#f0c46a;--ok:#7dd7a2;--cyan:#75d8ff;--danger:#ef8e8e;--shadow:0 18px 54px rgba(0,0,0,.34)}
*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",sans-serif}body{overflow:hidden;letter-spacing:.01em}
button,select,input{font:inherit}
header{height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 18px 0 20px;background:rgba(15,17,21,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(18px);position:relative;z-index:40}
.brand{display:flex;align-items:center;gap:12px;min-width:0}.brandMark{width:30px;height:30px;border-radius:9px;background:linear-gradient(145deg,#f6f7f9,#969ca7);box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}.brandText{min-width:0}.brandText strong{display:block;font-size:14px;line-height:1.15}.brandText span{display:block;margin-top:3px;font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.headMeta{display:flex;align-items:center;gap:8px}.headPill{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:#15181d;color:#c7ccd5;font-size:10px;white-space:nowrap}.dot{width:7px;height:7px;border-radius:50%;background:#666}.dot.ok{background:var(--ok);box-shadow:0 0 0 3px rgba(125,215,162,.1)}
main{height:calc(100vh - 64px);display:grid;grid-template-columns:286px minmax(360px,1fr) 344px;min-width:860px}
.files,.controls{background:var(--panel);overflow:auto;scrollbar-width:thin;scrollbar-color:#343a43 transparent}.files{position:relative;border-right:1px solid var(--line);padding:12px}.controls{border-left:1px solid var(--line);padding:14px 14px 22px}
.dropLead{border:1px dashed #4f5662;border-radius:14px;padding:17px 12px 14px;text-align:center;font-size:12px;line-height:1.5;background:linear-gradient(180deg,#191c21,#15171b);cursor:pointer;transition:.16s}.dropLead:hover{border-color:#7d8591;background:#1d2026}.dropLead strong{display:block;font-size:13px;margin-bottom:4px}.dropLead span{color:var(--muted);font-size:10px}.miniPick{width:auto!important;display:inline-flex!important;align-items:center;justify-content:center;margin:10px 0 0!important;padding:7px 11px!important;font-size:10px!important;border-radius:999px!important}
.dropOverlay{display:none;position:absolute;inset:8px;z-index:50;border:2px dashed #e8eaed;border-radius:14px;background:rgba(22,24,29,.96);align-items:center;justify-content:center;flex-direction:column;gap:5px;pointer-events:none}.dropOverlay strong{font-size:17px}.dropOverlay span{font-size:11px;color:#aaa}.files.drag .dropOverlay{display:flex}.files.drag .dropLead{border-color:#fff;background:#23272e}
#fileInput,#dirInput{display:none}.listHead{display:flex;align-items:center;justify-content:space-between;margin:14px 3px 6px}.listHead strong{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#8f98a6}.listCount{font-size:10px;color:var(--muted)}#list{padding-bottom:74px}.item{padding:10px 10px;border:1px solid transparent;border-radius:10px;margin:5px 0;cursor:pointer;font-size:11px;background:transparent;transition:.12s}.item:hover{background:#191c21}.item.active{background:#20242a;border-color:#3d444f}.item .name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:#eef0f4}.item .meta{font-size:9px;color:var(--muted);margin-top:5px;display:flex;gap:7px;align-items:center}.tag{display:inline-block;padding:2px 6px;border-radius:999px;background:#292e36;color:#cfcfcf}.tag.target{color:var(--ok);background:rgba(125,215,162,.09)}.tag.review{color:var(--warn);background:rgba(240,196,106,.09)}.tag.skip{color:#aeb5c0}.ingestBanner{display:none;margin:8px 0 4px;padding:8px 9px;border:1px solid #363c45;border-radius:9px;background:#1a1d22;font-size:10px;line-height:1.45;color:#ddd}.ingestBanner.show{display:block}
.stage{position:relative;overflow:auto;display:block;padding:54px 28px 28px;background:radial-gradient(circle at 50% 40%,#15181d 0,#0d0f12 54%,#090a0c 100%);scrollbar-width:thin;scrollbar-color:#343a43 transparent}.canvasWrap{position:relative;display:block;width:max-content;height:max-content;margin:auto;min-width:1px;min-height:1px}canvas{display:block;background:#222;box-shadow:var(--shadow);touch-action:none;transform-origin:top left}.stageToolbar{position:fixed;z-index:25;top:76px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:5px;padding:5px;border:1px solid #333944;border-radius:12px;background:rgba(20,23,28,.90);box-shadow:0 8px 30px rgba(0,0,0,.22);backdrop-filter:blur(15px)}.stageToolbar button{width:auto;margin:0;padding:6px 9px;border-radius:8px;border-color:transparent;background:transparent;color:#b9c0ca;font-size:10px}.stageToolbar button:hover{background:#272c34}.stageToolbar button.active{outline:none;background:#eef0f3;color:#121418}.zoomLabel{font-size:9px;color:#7f8896;padding:0 3px}
.controls h3{font-size:11px;margin:2px 0 9px;letter-spacing:.08em;text-transform:uppercase;color:#aab2be}.section{border-top:1px solid var(--line);padding-top:13px;margin-top:14px}.sectionCard{background:#15181d;border:1px solid #282d35;border-radius:13px;padding:12px;margin-bottom:10px}.sectionCard h3{margin:0 0 10px}label{display:block;font-size:10px;color:#cfd4dc;margin:11px 0 6px}.controlLine{display:flex;align-items:center;justify-content:space-between;gap:8px}.controlLine label{margin:0}.value{font-variant-numeric:tabular-nums;color:#fff}
select,input[type=range]{width:100%}select{background:#1d2127;border:1px solid #363d47;color:#fff;border-radius:9px;padding:9px 10px;font-size:11px;outline:none}input[type=range]{accent-color:#e6e8eb}
button{width:100%;padding:9px 10px;border:1px solid #353c46;border-radius:9px;background:#1e2228;color:#edf0f4;margin:4px 0;cursor:pointer;font-size:10px;transition:.12s}button:hover{background:#282d35;border-color:#464f5d}button.primary{background:#f0f2f4;color:#111318;border-color:#f0f2f4;font-weight:650}button.primary:hover{background:#fff}button.secondaryStrong{background:#292f37;border-color:#4a535f}button.active{outline:2px solid #cdd3db;background:#303640}button:disabled{opacity:.32;cursor:default}.row{display:grid;grid-template-columns:1fr 1fr;gap:7px}.status{font-size:10px;color:#aeb6c2;line-height:1.55;min-height:34px;margin-top:8px}.hint{font-size:10px;line-height:1.5;color:var(--muted)}.badge{display:inline-flex;align-items:center;padding:3px 6px;border-radius:999px;background:#262b33;font-size:9px;color:#aeb5c0;margin-left:4px;vertical-align:1px}.modelState,.queueState{font-size:10px;padding:8px 9px;border:1px solid #303640;background:#191c21;border-radius:9px;line-height:1.45}.queueState{margin-top:6px;color:#b4bbc5}.modelState.ok{color:var(--ok)}.modelState.warn{color:var(--warn)}.selectionInfo{font-size:10px;color:#cfd4dc;min-height:16px;margin-top:6px}.presetRow{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:7px}.presetRow button{margin:0;padding:7px 6px}.presetRow button.selected{background:#eef0f3;color:#121418;border-color:#eef0f3}.quickStatus{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:10px}.stat{background:#15181d;border:1px solid #282d35;border-radius:11px;padding:9px 10px}.stat b{display:block;font-size:16px;line-height:1.1;font-variant-numeric:tabular-nums}.stat span{display:block;font-size:9px;color:var(--muted);margin-top:4px}
details.collapse{margin-top:9px;border:1px solid #2d333c;border-radius:10px;background:#121419;padding:8px 9px}details.collapse summary{cursor:pointer;list-style:none;font-size:10px;color:#b9c0c9;outline:none;display:flex;align-items:center;justify-content:space-between}details.collapse summary::after{content:'＋';font-size:13px;color:#6f7885}details.collapse[open] summary::after{content:'−'}details.collapse summary::-webkit-details-marker{display:none}details.collapse[open]{padding-bottom:11px}details.collapse .inner{padding-top:8px}
.shortcut{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 5px;border:1px solid #3b424d;border-bottom-color:#555e6b;border-radius:5px;background:#1c2026;color:#9fa8b5;font-size:8px;margin-left:4px}.footerNote{font-size:9px;color:#66707d;line-height:1.45;margin-top:12px}
@media(max-width:1100px){main{grid-template-columns:246px minmax(360px,1fr) 320px}.controls{padding-left:11px;padding-right:11px}}
@media(max-width:900px){main{grid-template-columns:220px 1fr}.controls{position:absolute;right:0;top:64px;bottom:0;width:310px;z-index:30;box-shadow:-10px 0 35px rgba(0,0,0,.45)}.stage{padding-right:328px}.headMeta{display:none}}
