@import "https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&display=swap";:root{--bg:#fff6f3;--surface:#fff;--surface-sunken:#fdede8;--ink:#2b1620;--ink-soft:#7a5a67;--accent:#d93a5f;--accent-soft:#fde3ea;--coral:#ff8a5c;--success:#2e9e6c;--danger:#c0392b;--border:#f2dcd8;--checker-a:#fff;--checker-b:#f6e6e1;--mono:"Figtree", sans-serif;--sans:"Figtree", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--bg:#1a1218;--surface:#251a22;--surface-sunken:#1e151c;--ink:#fdf0f4;--ink-soft:#c3a2af;--accent:#ff8fa8;--accent-soft:#3b1f2b;--coral:#ffa07a;--success:#4cc492;--danger:#f0776c;--border:#3c2833;--checker-a:#251a22;--checker-b:#2e2028}}:root[data-theme=dark]{--bg:#1a1218;--surface:#251a22;--surface-sunken:#1e151c;--ink:#fdf0f4;--ink-soft:#c3a2af;--accent:#ff8fa8;--accent-soft:#3b1f2b;--coral:#ffa07a;--success:#4cc492;--danger:#f0776c;--border:#3c2833;--checker-a:#251a22;--checker-b:#2e2028}*{box-sizing:border-box}html,body,#root{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);min-height:100vh}.dropzone{border:2px dashed var(--border);text-align:center;cursor:pointer;color:var(--ink-soft);border-radius:12px;padding:40px 24px;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone.drag{border-color:var(--accent);background:var(--accent-soft)}.dropzone svg{margin:0 auto 14px;display:block}.dropzone-primary{color:var(--ink);margin-bottom:6px;font-size:16px;font-weight:500}.dropzone-secondary{font-size:13.5px;font-family:var(--mono)}.options{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px;display:grid}.field label{color:var(--ink-soft);font-size:12.5px;font-family:var(--mono);margin-bottom:6px;display:block}.field input{background:var(--surface-sunken);border:1px solid var(--border);width:100%;font-family:var(--mono);color:var(--ink);border-radius:8px;padding:9px 11px;font-size:14px}.field input:focus{outline:2px solid var(--accent);outline-offset:1px}@media (width<=620px){.options{grid-template-columns:1fr}}.timeline{max-height:420px;padding:4px 6px 4px 2px;overflow:hidden auto}.timeline-track{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:10px;display:grid}.timeline-item{cursor:grab;-webkit-user-select:none;user-select:none;border:1px solid var(--border);background:var(--surface-sunken);border-radius:10px;padding:6px;transition:transform .12s,border-color .12s;position:relative}.timeline-item:active{cursor:grabbing}.timeline-item.drag-over{border-color:var(--accent);transform:translateY(-2px)}.timeline-thumb{aspect-ratio:1;background:repeating-conic-gradient(var(--checker-a) 0% 25%, var(--checker-b) 0% 50%) 50% / 12px 12px;border-radius:6px;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.timeline-thumb img{object-fit:contain;pointer-events:none;width:100%;height:100%}.timeline-meta{font-family:var(--mono);color:var(--ink-soft);justify-content:space-between;align-items:center;margin-top:6px;font-size:10.5px;display:flex}.timeline-index{color:var(--ink);font-weight:600}.timeline-type{text-transform:uppercase;letter-spacing:.04em}.timeline-remove{border:1px solid var(--border);background:var(--surface);width:20px;height:20px;color:var(--ink-soft);cursor:pointer;opacity:0;border-radius:50%;justify-content:center;align-items:center;font-size:14px;line-height:1;transition:opacity .12s,color .12s,border-color .12s;display:flex;position:absolute;top:-6px;right:-6px}.timeline-item:hover .timeline-remove{opacity:1}.timeline-remove:hover{color:var(--danger);border-color:var(--danger)}.job-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;margin-bottom:18px;padding:22px}.job-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.job-name{word-break:break-word;margin:0 0 6px;font-size:16px;font-weight:600}.job-stats{font-family:var(--mono);color:var(--ink-soft);margin:0;font-size:12.5px}.job-stats b{color:var(--ink);font-weight:500}.job-actions{flex-wrap:wrap;gap:10px;display:flex}button.dl{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:8px;padding:9px 16px;font-family:inherit;font-size:13.5px;font-weight:500;transition:background .15s,color .15s,opacity .15s}button.dl:hover:not(:disabled){background:var(--accent);color:#fff}button.dl:disabled{opacity:.45;cursor:not-allowed}button.dl.filled{background:var(--accent);color:#fff}button.dl.filled:hover:not(:disabled){opacity:.85}.job-body{grid-template-columns:140px 1fr;align-items:start;gap:20px;display:grid}.job-preview{background:var(--surface-sunken);border:1px solid var(--border);border-radius:10px;justify-content:center;align-items:center;width:140px;height:140px;display:flex;overflow:hidden}.job-preview-empty{font-family:var(--mono);color:var(--ink-soft);font-size:11px}.job-timeline-label{font-family:var(--mono);color:var(--ink-soft);margin:0 0 8px;font-size:11.5px}@media (width<=620px){.job-body{grid-template-columns:1fr}.job-preview{width:100%;height:160px}}.wrap{max-width:880px;margin:0 auto;padding:48px 24px 80px}header{margin-bottom:40px}.kicker{font-family:var(--mono);color:var(--accent);letter-spacing:.01em;margin:0 0 10px;font-size:13px}h1{letter-spacing:-.01em;margin:0 0 12px;font-size:32px;font-weight:600;line-height:1.15}header p{color:var(--ink-soft);max-width:64ch;margin:0;font-size:15.5px;line-height:1.6}.panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;margin-bottom:22px;padding:28px}.empty{text-align:center;color:var(--ink-soft);padding:20px 0 4px;font-size:14px}.errors{margin-bottom:18px}.error-line{font-family:var(--mono);color:var(--danger);background:var(--accent-soft);border:1px solid var(--danger);border-radius:8px;margin-bottom:8px;padding:10px 14px;font-size:13px}.footnote{color:var(--ink-soft);border-top:1px solid var(--border);margin-top:28px;padding-top:20px;font-size:12.5px;line-height:1.7}.footnote code{font-family:var(--mono);background:var(--surface-sunken);border-radius:4px;padding:1px 6px;font-size:12px}
