:root{--bg: #15161a;--panel: #1e2026;--panel-2: #25272f;--border: #32353f;--text: #e7e9ee;--text-dim: #9aa0ac;--accent: #5b9dff;--accent-weak: #2a3a55;--good: #5fce8f;--warn: #e0a23b;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Hiragino Sans,Noto Sans JP,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--bg)}button{font-family:inherit;cursor:pointer}.app{max-width:880px;margin:0 auto;padding:28px 20px 72px}.app-header{margin-bottom:22px}.app-header h1{font-size:20px;font-weight:700;margin:0 0 6px;letter-spacing:.01em}.app-header p{margin:0;font-size:13px;color:var(--text-dim);line-height:1.6}.controls{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:20px 26px}.field{display:flex;flex-direction:column;gap:10px;min-width:0}.field-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.field-label{font-size:13px;font-weight:600}.field-sub{font-size:11px;color:var(--text-dim)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:7px 12px;font-size:13px;transition:border-color .12s,background .12s}.chip:hover{border-color:var(--accent)}.chip.active{border-color:var(--accent);background:var(--accent-weak)}.segmented{display:flex;gap:6px;flex:none}.num-row{display:flex;align-items:center;gap:8px}.num-input{width:110px;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:8px 10px;font-size:13px;font-family:ui-monospace,monospace}.unit{font-size:12px;color:var(--text-dim)}.range{width:100%;accent-color:var(--accent)}.dropzone{margin-top:16px;border:2px dashed var(--border);border-radius:14px;padding:38px 20px;text-align:center;color:var(--text-dim);transition:border-color .15s,background .15s,color .15s}.dropzone:hover{border-color:var(--accent)}.dropzone.drag{border-color:var(--accent);background:var(--accent-weak);color:var(--text)}.dropzone.compact{padding:14px;font-size:14px}.dropzone-title{font-size:15px;color:var(--text);margin-bottom:6px}.dropzone-sub{font-size:12px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 12px}.stats{font-size:13px;color:var(--text-dim)}.toolbar-actions{display:flex;gap:8px}.btn{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:9px 14px;font-size:13px;font-weight:500}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:disabled{opacity:.4;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:#0c1422;font-weight:600}.btn-primary:hover:not(:disabled){filter:brightness(1.05)}.jobs{display:flex;flex-direction:column;gap:10px}.job{display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:10px 12px}.thumb{width:52px;height:52px;border-radius:8px;background:var(--panel-2);overflow:hidden;display:flex;align-items:center;justify-content:center;flex:none}.thumb img{width:100%;height:100%;object-fit:cover}.thumb-icon{color:var(--warn);font-weight:700;font-size:20px}.job-info{min-width:0}.job-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:3px}.job-stat{font-size:12px;color:var(--text)}.job-stat .mono{font-family:ui-monospace,monospace}.job-stat .dim{color:var(--text-dim)}.job-stat .arrow{color:var(--accent)}.job-stat.err{color:var(--warn)}.pct-down{color:var(--good);font-family:ui-monospace,monospace}.pct-up{color:var(--warn);font-family:ui-monospace,monospace}.job-warn{font-size:11px;color:var(--warn);margin-top:3px}.job-actions{display:flex;gap:6px}.icon-btn{width:34px;height:34px;background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:8px;font-size:16px;display:flex;align-items:center;justify-content:center}.icon-btn:hover:not(:disabled){border-color:var(--accent)}.icon-btn:disabled{opacity:.35;cursor:default}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:640px){.controls{grid-template-columns:1fr;gap:18px}.app{padding:20px 14px 56px}}
