:root{--bg: #0a0a0a;--surface: #121212;--surface-2: #1a1a1a;--hover: rgba(255, 255, 255, .045);--border: rgba(255, 255, 255, .09);--border-strong: rgba(255, 255, 255, .18);--text: #ededed;--text-dim: #8c8c92;--text-faint: #6a6a70;--primary: #ffffff;--primary-ink: #0a0a0a;--danger: #ff6b6b;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--radius: 11px}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%}body{font-family:-apple-system,system-ui,Segoe UI,sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;height:100vh}.hdr{display:flex;align-items:center;gap:12px;padding:11px 18px;background:#0d0d0d;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px}.mark{width:24px;height:24px;border-radius:7px;background:var(--text);color:var(--primary-ink);display:grid;place-items:center;font-weight:800;font-size:14px}.crumbs{display:flex;align-items:center;font-size:14px}.c-strong{font-weight:600;color:var(--text)}.c-dim{color:var(--text-dim)}.sep{color:var(--text-faint);margin:0 9px}.hdr small{color:var(--text-faint);font-weight:400;font-size:12.5px}.spacer{margin-left:auto}.hdr .link{background:none;border:1px solid var(--border);color:var(--text-dim);border-radius:7px;padding:4px 11px;font-size:12px;cursor:pointer;transition:.15s}.hdr .link:hover{border-color:var(--border-strong);color:var(--text)}.body{display:flex;flex:1;min-height:0;overflow-x:auto}.col{flex:0 0 400px;width:400px;padding:18px;overflow-y:auto;height:100%;border-right:1px solid var(--border)}.col:last-child{border-right:0}@media (max-width: 760px){.body{flex-direction:column;overflow-x:hidden;overflow-y:auto}.col{flex:none;width:100%;height:auto;overflow:visible;border-right:0;border-bottom:1px solid var(--border)}.col:last-child{border-bottom:0}}.drop{border:1.5px dashed var(--border-strong);border-radius:var(--radius);text-align:center;color:var(--text-dim);cursor:pointer;transition:.15s}.drop:hover{background:var(--hover);border-color:#ffffff47}.drop.drag{border-color:var(--text);background:var(--hover);color:var(--text)}.drop .drop-icon{font-size:24px;opacity:.4}.drop .drop-label{font-size:14px;font-weight:600;color:var(--text);margin-top:6px}.drop small{display:block;margin-top:6px;font-size:12px;color:var(--text-faint)}.slot-drop{padding:26px 16px;margin-bottom:12px}.asset{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;overflow:hidden;background:var(--surface)}.asset-hd{display:flex;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border)}.asset-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim)}.asset-x{margin-left:auto;background:none;border:0;color:var(--text-faint);cursor:pointer;font-size:14px;line-height:1;transition:.15s}.hd-actions{margin-left:auto;display:flex;gap:6px}.hd-btn{background:none;border:1px solid var(--border);color:var(--text-dim);border-radius:6px;width:30px;height:26px;display:grid;place-items:center;padding:0;cursor:pointer;transition:.15s}.hd-btn svg{display:block;width:15px;height:15px}.hd-btn:hover:not(:disabled){color:var(--text);border-color:var(--border-strong);background:var(--hover)}.hd-btn:disabled{opacity:.4;cursor:not-allowed}.asset-x:hover{color:var(--danger)}.asset-player{padding:12px;display:flex;justify-content:center;background:#000}.asset-player video,.asset-player img{max-width:100%;max-height:240px;border-radius:6px;display:block}.asset-player audio{width:100%}.asset-player .seq{position:relative}.asset-player .seq-badge{position:absolute;right:6px;bottom:6px;background:#000000bf;color:#fff;font-size:11px;padding:2px 7px;border-radius:20px}.asset-meta{display:flex;justify-content:space-between;gap:10px;padding:9px 12px;font-size:12.5px;border-bottom:1px solid var(--border)}.asset-meta:last-child{border-bottom:0}.asset-name{font-weight:600;word-break:break-all}.asset-size{color:var(--text-dim);text-transform:capitalize;white-space:nowrap}.asset-details{padding:8px}.asset-details .bubble{margin-bottom:6px;background:transparent}.asset-details .bubble:last-child{margin-bottom:0}.probing{font-size:12.5px;color:var(--text-dim);padding:6px}.bubble{border:1px solid var(--border);border-radius:9px;margin-bottom:8px;overflow:hidden}.bubble-hd{width:100%;display:flex;align-items:center;gap:8px;padding:9px 11px;background:var(--surface-2);border:0;cursor:pointer;font-size:13px;text-align:left;color:var(--text);transition:.15s}.bubble-hd:hover{background:#202020}.bubble-hd .chev{color:var(--text-faint);font-size:11px;width:10px}.bubble-title{font-weight:600}.bubble-badge{margin-left:auto;font-size:11px;background:#262626;color:var(--text-dim);padding:2px 8px;border-radius:20px;font-family:var(--mono)}.bubble-bd{padding:8px 12px 10px;border-top:1px solid var(--border)}.kv{display:flex;justify-content:space-between;font-size:12.5px;padding:3px 0;gap:12px}.kv span{color:var(--text-dim)}.kv b{color:var(--text);font-weight:600;text-align:right;word-break:break-all}.raw{font:11px/1.45 var(--mono);white-space:pre-wrap;color:var(--text-dim);max-height:220px;overflow:auto;background:#0d0d0d;padding:8px;border-radius:6px}.opts-card{margin-top:16px;overflow:visible}.opts-bd{padding:14px}.opts-empty{padding:22px 16px;font-size:13px;line-height:1.5;color:var(--text-faint);text-align:center}.opts-bd .start{margin-top:14px}.orow{display:flex;align-items:center;gap:8px;margin:9px 0;font-size:13px}.orow>label{min-width:104px;color:var(--text-dim)}select{font-size:13px;padding:6px 9px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text)}select:focus{outline:none;border-color:var(--border-strong)}.combo{display:inline-flex;flex-direction:column;align-items:flex-start;gap:4px}.combo-row{position:relative;display:inline-flex;align-items:center;gap:6px}.combo-field{position:relative;display:inline-block}.combo-input{width:116px;font-size:13px;padding:6px 26px 6px 9px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.combo-input:focus{outline:none;border-color:var(--border-strong)}.combo-input.invalid{border-color:var(--danger)}.combo-input::-webkit-outer-spin-button,.combo-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.combo-caret{position:absolute;right:2px;top:0;height:100%;width:22px;display:grid;place-items:center;background:none;border:0;color:var(--text-dim);cursor:pointer;font-size:10px}.combo-caret:hover{color:var(--text)}.combo-unit{color:var(--text-dim);font-size:12px}.combo-error{color:var(--danger);font-size:11.5px;padding-left:2px}.combo.disabled{opacity:.4}.combo-input:disabled{cursor:not-allowed;color:var(--text-dim)}.combo-caret:disabled{cursor:not-allowed}.combo-select{width:116px;padding:6px 10px;display:inline-flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;text-align:left}.combo-caret-inline{color:var(--text-dim);font-size:10px}.combo-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:30;min-width:100%;margin:0;padding:4px;list-style:none;background:#1c1c1c;border:1px solid var(--border-strong);border-radius:9px;box-shadow:0 10px 28px #0000008c}.combo-menu li{padding:6px 10px;font-size:13px;border-radius:6px;cursor:pointer;color:var(--text);white-space:nowrap}.combo-menu li:hover{background:var(--hover)}.combo-menu li.sel{color:#fff;background:#ffffff12}.combo-menu.up{top:auto;bottom:calc(100% + 4px)}input[type=checkbox]{accent-color:#fff}.muted{color:var(--text-faint);font-size:12px}.start{width:100%;padding:11px;margin-top:14px;border:0;border-radius:9px;background:var(--primary);color:var(--primary-ink);font-weight:600;font-size:14px;cursor:pointer;transition:.15s}.start:hover:not(:disabled){background:#e2e2e2}.start:disabled{background:#1e1e1e;color:#555;cursor:default}.cancel{width:100%;padding:11px;margin-top:14px;border:1px solid var(--border-strong);border-radius:9px;background:transparent;color:var(--danger);font-weight:600;font-size:14px;cursor:pointer;transition:.15s}.cancel:hover{background:#ff6b6b14;border-color:var(--danger)}.bar{height:6px;background:var(--surface-2);border-radius:4px;overflow:hidden;margin-top:10px}.bar>div{height:100%;width:0;background:var(--text);transition:width .1s}.status{margin-top:9px;font-size:12.5px;min-height:16px;white-space:pre-wrap;color:var(--text-dim)}.status.err{color:var(--danger)}.out-player{background:#000}.out-img{max-width:100%;max-height:340px;border-radius:8px;display:block}.out-card .asset-details{display:flex;flex-direction:column}.out-card .zip{margin:0 0 10px}.viewer-frame{width:100%;height:340px;display:block;border:0;border-radius:8px;background:#2b2b2b}.viewer-placeholder{width:100%;height:340px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#ffffffb3;font-size:13px;background-color:#2b2b2b;background-image:linear-gradient(45deg,#3a3a3a 25%,transparent 25%),linear-gradient(-45deg,#3a3a3a 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#3a3a3a 75%),linear-gradient(-45deg,transparent 75%,#3a3a3a 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0}.spinner{width:26px;height:26px;border:3px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.zip{align-self:flex-start;background:transparent;color:var(--text);border:1px solid var(--border-strong);border-radius:8px;padding:8px 14px;font-size:13px;cursor:pointer;font-weight:600;transition:.15s}.zip:hover{background:var(--hover)}.about{padding:14px;font-size:13px;line-height:1.55;color:var(--text-dim)}.about p{margin:0 0 10px}.about p:last-child{margin-bottom:0}.about b{color:var(--text);font-weight:600}.about a{color:var(--text);font-weight:600;text-decoration:none;border-bottom:1px solid var(--border-strong)}.about a:hover{border-color:var(--text)}.log{margin:0;max-height:260px;overflow:auto;background:#080808;color:#c8c8cc;font:12px/1.5 var(--mono);white-space:pre-wrap;padding:10px 12px}.log .ln{display:block}.log .ev{color:#9ad0ff}.log .err{color:var(--danger)}.log .done{color:#7ee2a8}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:6px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#3a3a3a;background-clip:content-box}
