:root{--ink:#17140f;--ink-soft:#3d3428;--muted:#7a6d5c;--paper:#f3ebe0;--paper-2:#e8ddd0;--line:#cbbba6;--copper:#c45c26;--copper-deep:#9a4014;--copper-glow:#c45c2647;--ok:#2f6b4f;--danger:#9b2c2c;--radius:2px;--font-display:"Syne", "Arial Narrow", sans-serif;--font-body:"Sora", "Segoe UI", sans-serif}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--ink);font-family:var(--font-body);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}button{font:inherit}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.shell{min-height:100vh;position:relative;overflow:clip}.atmosphere{z-index:0;background:radial-gradient(80% 55% at 12% -10%,#c45c262e,#0000 55%),radial-gradient(70% 50% at 100% 100%,#2f6b4f1a,#0000 50%),linear-gradient(165deg,#f7f1e8 0%,#efe4d5 48%,#e5d7c5 100%);position:absolute;inset:0}.grid-lines{z-index:0;opacity:.35;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:48px 48px;animation:28s linear infinite gridDrift;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 50% 40%,#000 20%,#0000 75%);mask-image:radial-gradient(70% 60% at 50% 40%,#000 20%,#0000 75%)}@keyframes gridDrift{0%{background-position:0 0,0 0}to{background-position:48px 48px,48px 48px}}.stage{z-index:1;flex-direction:column;gap:1.75rem;width:min(720px,100% - 2rem);margin:0 auto;padding:clamp(2.5rem,8vh,5.5rem) 0 3rem;display:flex;position:relative}.brand-block{animation:.7s cubic-bezier(.22,1,.36,1) both rise}.brand-mark{font-family:var(--font-display);letter-spacing:.28em;text-transform:uppercase;color:var(--copper);margin:0 0 .65rem;font-size:.8rem;font-weight:800}.brand{font-family:var(--font-display);letter-spacing:-.04em;color:var(--ink);margin:0;font-size:clamp(3rem,12vw,5.4rem);font-weight:800;line-height:.92}.tagline{max-width:18ch;color:var(--ink-soft);margin:.85rem 0 0;font-size:clamp(1.05rem,2.5vw,1.25rem);font-weight:500;animation:.75s cubic-bezier(.22,1,.36,1) 80ms both rise}.workbench{border:1px solid var(--ink);background:color-mix(in srgb, var(--paper) 82%, white);box-shadow:8px 8px 0 color-mix(in srgb, var(--ink) 12%, transparent);align-items:center;min-height:14rem;padding:clamp(1.25rem,4vw,1.75rem);transition:border-color .2s,box-shadow .2s,transform .2s;animation:.8s cubic-bezier(.22,1,.36,1) .14s both rise;display:grid}.workbench.is-dragging{border-color:var(--copper);box-shadow:8px 8px 0 var(--copper-glow);transform:translate(-1px,-1px)}.drop-idle{flex-direction:column;align-items:flex-start;gap:.55rem;display:flex}.drop-title{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.55rem;font-weight:700}.drop-hint{color:var(--muted);margin:0 0 .75rem;font-size:.95rem}.job{flex-direction:column;gap:1.1rem;width:100%;display:flex}.file-row{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.file-name{word-break:break-word;margin:0;font-weight:600}.file-meta{color:var(--muted);margin:.25rem 0 0;font-size:.85rem}.progress-block{flex-direction:column;gap:.7rem;display:flex}.progress-track{background:var(--paper-2);border:1px solid var(--line);height:4px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--copper-deep), var(--copper));height:100%;transition:width .35s}.progress-meta{color:var(--ink-soft);justify-content:space-between;gap:1rem;font-size:.9rem;display:flex}.ready-block,.error-block{flex-direction:column;gap:.7rem;animation:.45s cubic-bezier(.22,1,.36,1) both rise;display:flex}.ready-label{color:var(--ok);margin:0;font-weight:600}.error-text{color:var(--danger);margin:0;font-size:.95rem;line-height:1.45}.btn{appearance:none;border:1px solid var(--ink);color:var(--ink);cursor:pointer;border-radius:var(--radius);background:0 0;padding:.7rem 1.1rem;font-size:.95rem;font-weight:600;transition:background .15s,color .15s,transform .15s}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--copper);border-color:var(--copper-deep);color:#fff7f0}.btn-primary:hover{background:var(--copper-deep)}.btn-ghost{color:var(--ink-soft);border-color:#0000;padding-inline:.4rem}.btn-ghost:hover{color:var(--ink);background:color-mix(in srgb, var(--ink) 6%, transparent)}.btn-wide{text-align:center;width:100%}.mono{font-variant-numeric:tabular-nums;letter-spacing:.02em}.footnote{color:var(--muted);margin:0;font-size:.85rem;animation:.85s cubic-bezier(.22,1,.36,1) .2s both rise}.instrument-picker{flex-direction:column;gap:.65rem;display:flex;position:relative}.instrument-picker.is-disabled{opacity:.72}.instrument-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.instrument-title{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.05rem;font-weight:700}.instrument-hint{color:var(--muted);max-width:42ch;margin:.3rem 0 0;font-size:.82rem;line-height:1.4}.instrument-field{border:1px solid var(--ink);background:color-mix(in srgb, var(--paper) 70%, white);cursor:text;flex-wrap:wrap;align-items:center;gap:.4rem;min-height:2.75rem;padding:.45rem .55rem;display:flex}.instrument-field.is-open{border-color:var(--copper)}.chip{border:1px dashed var(--copper-deep);color:var(--copper-deep);background:color-mix(in srgb, var(--copper) 12%, transparent);align-items:center;gap:.25rem;padding:.2rem .45rem;font-size:.8rem;font-weight:600;display:inline-flex}.chip-x{appearance:none;color:inherit;cursor:pointer;background:0 0;border:0;padding:0 .1rem;font-size:1rem;line-height:1}.instrument-input{min-width:7rem;font:inherit;color:var(--ink);background:0 0;border:0;outline:none;flex:8rem;padding:.25rem .15rem}.instrument-menu{z-index:5;border:1px solid var(--ink);box-shadow:5px 5px 0 color-mix(in srgb, var(--ink) 12%, transparent);background:#fffaf3;max-height:14rem;margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + .35rem);left:0;right:0;overflow:auto}.instrument-option{text-align:left;appearance:none;width:100%;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;padding:.55rem .65rem;font-size:.92rem}.instrument-option.is-active,.instrument-option:hover{background:var(--copper);color:#fff7f0}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (width<=560px){.workbench{box-shadow:5px 5px 0 color-mix(in srgb, var(--ink) 12%, transparent)}.file-row{flex-direction:column}}
