:root{--paper:#f3eadc;--paper-2:#efe4d4;--ink:#1c1917;--ink-soft:#57534e;--gold:#b08a5d;--gold-2:#d7b58a;--line:#1c19171f;--white:#fffdf8;--blush:#e7cfc4;--ok:#3f6b4f;--err:#9b3d3d;--shadow:0 24px 60px #3020121f;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;font-family:Outfit,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(1200px 600px at 10% -10%, #d7b58a47, transparent 50%), radial-gradient(900px 500px at 100% 0%, #e7cfc466, transparent 40%), var(--paper)}button,input,textarea,select{font:inherit}button{cursor:pointer}.login{place-items:center;min-height:100dvh;padding:24px;display:grid}.login-card{background:var(--white);border:1px solid var(--line);width:min(420px,100%);box-shadow:var(--shadow);border-radius:28px;padding:40px 36px}.eyebrow{letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin:0 0 12px;font-size:11px}h1,h2{margin:0;font-family:Cormorant Garamond,serif;font-weight:500}.login-card h1{font-size:44px;line-height:.95}.login-card p,.muted{color:var(--ink-soft)}.pin{border:1px solid var(--line);background:var(--paper);border-radius:14px;width:100%;margin:24px 0 16px;padding:14px 16px}.app{grid-template-columns:320px 1fr;min-height:100dvh;display:grid}.sidebar{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffdf88c;padding:28px 22px}.brand{margin-bottom:6px;font-family:Cormorant Garamond,serif;font-size:34px;line-height:1}.history{flex-direction:column;gap:8px;margin-top:28px;display:flex}.history button,.ghost,.primary,.danger{border:0;border-radius:14px}.history button{text-align:left;background:0 0;border:1px solid #0000;padding:12px}.history button.active,.history button:hover{background:var(--white);border-color:var(--line)}.history small{color:var(--ink-soft);margin-top:2px;display:block}.workspace{padding:28px 32px 64px}.hero{justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px;display:flex}.hero h1{max-width:14ch;font-size:clamp(40px,6vw,68px);line-height:.92}.pipeline{flex-wrap:wrap;gap:8px;margin:18px 0 0;display:flex}.step{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);color:var(--ink-soft);border-radius:999px;padding:8px 12px;font-size:12px}.step.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.panel{background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;padding:20px}.drop{text-align:center;background:linear-gradient(#f3eadc66,#0000);border:1.5px dashed #b08a5db3;border-radius:20px;place-items:center;min-height:180px;padding:24px;display:grid}.drop.over{background:#d7b58a33}.presets{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin:16px 0;display:grid}.preset{text-align:left;border:1px solid var(--line);background:var(--paper);border-radius:16px;padding:14px}.preset.selected{border-color:var(--ink);background:var(--ink);color:var(--paper)}.preset span{letter-spacing:.12em;text-transform:uppercase;opacity:.7;margin-bottom:6px;font-size:11px;display:block}textarea{border:1px solid var(--line);background:var(--paper);resize:vertical;border-radius:16px;width:100%;min-height:90px;padding:12px 14px}.actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.primary{background:var(--ink);color:var(--paper);padding:12px 18px}.ghost{border:1px solid var(--line);background:0 0;padding:12px 18px}.danger{color:var(--err);background:0 0;padding:12px 18px}.progress{margin:22px 0}.bar{background:var(--paper-2);border-radius:99px;height:8px;overflow:hidden}.bar>i{background:linear-gradient(90deg, var(--gold), var(--gold-2));height:100%;display:block}.grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:18px;display:grid}.card{background:var(--white);border:1px solid var(--line);border-radius:20px;overflow:hidden}.pair{background:#d8cbb8;grid-template-columns:1fr 1fr;min-height:160px;display:grid}.pair img{object-fit:cover;width:100%;height:180px}.card footer{justify-content:space-between;gap:8px;padding:10px 12px 12px;font-size:13px;display:flex}.status{letter-spacing:.08em;text-transform:uppercase;font-size:11px}.status.done{color:var(--ok)}.status.error{color:var(--err)}.error-banner{color:var(--err);background:#f8e7e3;border-radius:14px;margin:12px 0;padding:12px 14px}.hidden-input{display:none}@media (width<=900px){.app{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line)}.hero{flex-direction:column;align-items:start}}
