:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--bg: #0b1220;--panel: rgba(255,255,255,.06);--panel2: rgba(255,255,255,.08);--stroke: rgba(255,255,255,.12);--text: rgba(255,255,255,.92);--muted: rgba(255,255,255,.68);--muted2: rgba(255,255,255,.52);--shadow: 0 20px 60px rgba(0,0,0,.35);--radius: 16px}*{box-sizing:border-box}html,body{min-height:100%}html{background:var(--bg)}body,#root{min-height:100vh}body{margin:0;color:var(--text);background:radial-gradient(900px 500px at 12% 10%,rgba(121,210,255,.18),transparent 60%),radial-gradient(800px 500px at 78% 15%,rgba(164,120,255,.18),transparent 55%),radial-gradient(700px 480px at 50% 90%,rgba(0,255,198,.1),transparent 55%),var(--bg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji"}.page{max-width:1200px;margin:28px auto;padding:0 18px 28px}.header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:18px 18px 14px;border:1px solid var(--stroke);border-radius:var(--radius);background:linear-gradient(180deg,#ffffff14,#ffffff0a);box-shadow:var(--shadow)}.title{font-size:22px;font-weight:800;letter-spacing:.2px}.subtitle{margin-top:6px;color:var(--muted);font-size:13px}.header-right{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.tag{font-size:12px;color:var(--muted);padding:6px 10px;border:1px solid var(--stroke);border-radius:999px;background:#ffffff0a}.grid{margin-top:14px;display:grid;grid-template-columns:420px 1fr;gap:14px}@media(max-width:980px){.grid{grid-template-columns:1fr}}.card{border:1px solid var(--stroke);border-radius:var(--radius);background:#ffffff0d;box-shadow:var(--shadow);overflow:hidden}.card-head{padding:16px 16px 0}.card-title{font-weight:800;letter-spacing:.2px}.card-sub{margin-top:6px;color:var(--muted);font-size:12px}.upload{padding:14px 16px 16px}.dropzone{display:flex;gap:12px;align-items:center;padding:14px;border-radius:14px;border:1px dashed rgba(255,255,255,.22);background:#ffffff08;transition:.15s ease}.dropzone-active{border-color:#79d2ffb3;background:#79d2ff14;transform:translateY(-1px)}.dropzone-icon{font-size:22px}.dropzone-strong{font-weight:800}.dropzone-muted{color:var(--muted);font-size:12px;margin-top:4px}.row{margin-top:12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.file-input{display:none}.btn{appearance:none;border:1px solid var(--stroke);background:#ffffff0d;color:var(--text);padding:10px 12px;border-radius:12px;cursor:pointer;font-weight:700;transition:.15s ease}.btn:hover{transform:translateY(-1px);background:#ffffff12}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(180deg,#79d2ff47,#79d2ff1a);border-color:#79d2ff8c}.btn-ghost{background:#ffffff0a}.btn-mini{padding:8px 10px;border-radius:10px;font-weight:700;font-size:12px}.btn-inline{display:inline-flex;gap:8px;align-items:center}.meta{margin-top:10px;color:var(--muted);font-size:12px;display:flex;align-items:center;gap:8px}.dot{opacity:.6}.filelist{margin-top:12px;display:flex;flex-direction:column;gap:8px;max-height:220px;overflow:auto;padding-right:4px}.fileitem{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#ffffff08}.fileitem-name{font-weight:800;font-size:12px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fileitem-sub{color:var(--muted2);font-size:12px;margin-top:4px}.divider{height:1px;background:#ffffff1a;margin:6px 0 0}.jobbox{padding:14px 16px 16px}.jobrow{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.08)}.jobrow:last-child{border-bottom:none}.joblabel{color:var(--muted);font-size:12px}.jobvalue{font-weight:800;display:flex;gap:8px;align-items:center}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.pill{font-size:12px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ffffff0d}.pill-queued{border-color:#ffffff2e}.pill-running{border-color:#79d2ff8c;background:#79d2ff1f}.pill-done{border-color:#00ffc68c;background:#00ffc61a}.pill-failed{border-color:#ff55788c;background:#ff55781a}.spinner{width:14px;height:14px;border-radius:999px;border:2px solid rgba(255,255,255,.22);border-top-color:#ffffffbf;display:inline-block;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.alert{margin-top:10px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,85,120,.55);background:#ff55781a}.alert-title{font-weight:900}.alert-text{margin-top:6px;color:var(--muted);font-size:12px;word-break:break-all}.debug{margin-top:10px;color:var(--muted)}.debug summary{cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:800}.debug pre{margin-top:8px;padding:10px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#00000040;color:#ffffffd1;overflow:auto;max-height:240px;font-size:12px}.empty{padding:16px;border-radius:14px;border:1px dashed rgba(255,255,255,.18);background:#ffffff08}.empty.tall{margin:16px;min-height:340px;display:flex;flex-direction:column;justify-content:center}.empty.small{min-height:120px;display:flex;flex-direction:column;justify-content:center}.empty-title{font-weight:900}.empty-sub{margin-top:6px;color:var(--muted);font-size:12px}.preview{padding:16px}.preview-head{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:8px 0 10px;border-bottom:1px solid rgba(255,255,255,.1)}.preview-col{font-weight:900;color:#ffffffd9}.preview-body{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:980px){.preview-head,.preview-body{grid-template-columns:1fr}}.cell{border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:10px;background:#ffffff08}.cell-name{font-weight:900;font-size:12px;color:#ffffffdb;margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.imgwrap{border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#00000040;cursor:zoom-in}.img{width:100%;height:auto;display:block}.toast{position:fixed;top:18px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:#00000059;box-shadow:0 20px 60px #00000073;z-index:50}.toast-dot{width:10px;height:10px;border-radius:999px;background:#ffffffbf}.toast-success{border-color:#00ffc666}.toast-success .toast-dot{background:#00ffc6d9}.toast-error{border-color:#ff557873}.toast-error .toast-dot{background:#ff5578d9}.toast-info{border-color:#79d2ff73}.toast-info .toast-dot{background:#79d2ffd9}.toast-text{font-weight:800}.modal-backdrop{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:18px;z-index:60}.modal{width:min(1100px,96vw);max-height:92vh;border-radius:16px;border:1px solid rgba(255,255,255,.16);background:#141822eb;box-shadow:0 30px 90px #0000008c;overflow:hidden}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid rgba(255,255,255,.1)}.modal-title{font-weight:900;max-width:75%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-body{padding:12px;overflow:auto;max-height:calc(92vh - 56px)}.modal-img{width:100%;height:auto;display:block;border-radius:12px;border:1px solid rgba(255,255,255,.1)}.footer{margin-top:14px;color:var(--muted2);font-size:12px;text-align:center;padding:10px 0}.row-name{grid-column:1 / -1;font-weight:900;font-size:12px;color:#ffffffdb;margin-top:10px;margin-bottom:-4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
