:root{--indigo-950: #1e1b4b;--indigo-900: #312e81;--indigo-700: #4338ca;--indigo-600: #4f46e5;--indigo-100: #e0e7ff;--teal-600: #0d9488;--teal-100: #ccfbf1;--ink: #172033;--muted: #667085;--line: #d9dee8;--panel: #ffffff;--page: #f6f8fc;--danger: #dc2626;--shadow: 0 18px 45px rgb(30 27 75 / .12);color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--page)}button,input,select{font:inherit}button,select,input[type=text]{border:1px solid var(--line);border-radius:8px}button,select{min-height:42px}button{color:var(--indigo-900);background:#fff;cursor:pointer;padding:0 14px;font-weight:700}button:hover:not(:disabled){border-color:var(--indigo-600)}button:disabled{cursor:not-allowed;opacity:.52}button:focus-visible,select:focus-visible,input:focus-visible,.drop-zone:focus-visible{outline:3px solid rgb(79 70 229 / .28);outline-offset:2px}.app-shell{min-height:100vh}.hero{color:#fff;background:linear-gradient(135deg,#1e1b4bf5,#4338caeb),radial-gradient(circle at 85% 20%,rgb(20 184 166 / .34),transparent 30%)}.topbar,.hero-main,.workspace{width:min(1180px,calc(100% - 32px));margin:0 auto}.topbar{display:flex;justify-content:space-between;align-items:center;padding:22px 0}.brand{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;color:var(--indigo-950);background:#fff}.privacy-pill{border:1px solid rgb(255 255 255 / .28);border-radius:999px;padding:8px 12px;background:#ffffff1f}.hero-main{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:42px;align-items:end;padding:36px 0 56px}.eyebrow{margin:0 0 14px;color:var(--teal-100);font-weight:700}h1{max-width:780px;margin:0;font-size:clamp(2.1rem,5vw,4.4rem);line-height:1.04;letter-spacing:0}.hero-copy{max-width:680px;margin:20px 0 0;color:#ffffffd1;font-size:1.05rem;line-height:1.75}.summary-panel{background:#ffffff1f;border:1px solid rgb(255 255 255 / .22);border-radius:8px;padding:18px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.summary-grid span{display:block;color:#ffffffad;font-size:.86rem}.summary-grid strong{display:block;margin-top:5px;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:1.35rem}.summary-grid .save{color:#5eead4}.progress-track{height:10px;margin-top:18px;overflow:hidden;border-radius:999px;background:#fff3}.progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2dd4bf,#99f6e4);transition:width .18s ease}.workspace{display:grid;grid-template-columns:330px minmax(0,1fr);gap:22px;padding:24px 0 54px}.controls,.drop-zone,.image-card,.empty-state{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.controls{position:sticky;top:16px;align-self:start;padding:18px}.control-group{margin-bottom:18px}label{display:block;margin-bottom:8px;font-weight:800}select,input[type=text]{width:100%;min-height:42px;padding:0 12px;color:var(--ink);background:#fff}input[type=range]{width:100%;accent-color:var(--indigo-600)}input[type=range]:disabled{cursor:not-allowed;opacity:.38;accent-color:#94a3b8}.label-row{display:flex;align-items:center;justify-content:space-between}output,.metrics,.final-name{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace}.hint{margin:8px 0 0;color:var(--muted);font-size:.9rem;line-height:1.55}.action-stack{display:grid;gap:10px}.primary{color:#fff;border-color:var(--indigo-600);background:var(--indigo-600)}.primary:hover:not(:disabled){background:var(--indigo-700)}.drop-zone{display:flex;align-items:center;gap:18px;padding:26px;cursor:pointer}.drop-zone.is-dragging{border-color:var(--indigo-600);background:var(--indigo-100)}.drop-icon{display:grid;place-items:center;flex:0 0 auto;width:74px;height:74px;border-radius:8px;color:var(--indigo-900);background:var(--indigo-100);font-weight:900}.drop-zone strong{display:block;font-size:1.1rem}.drop-zone p{margin:8px 0 0;color:var(--muted)}.list-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:24px 0 12px}h2{margin:0;font-size:1.25rem}.empty-state{padding:22px;color:var(--muted)}.image-list{display:grid;gap:12px}.image-card{display:grid;grid-template-columns:128px minmax(0,1fr);gap:16px;padding:14px}.image-card img{width:128px;height:128px;object-fit:cover;border-radius:8px;background:#eef2ff}.image-meta{min-width:0}.name-row{display:flex;justify-content:space-between;gap:12px}.original-name,.final-name{margin:0;overflow-wrap:anywhere}.original-name{font-weight:800}.final-name{margin-top:4px;color:var(--indigo-700);font-size:.92rem}.status{flex:0 0 auto;align-self:start;border-radius:999px;padding:5px 10px;color:var(--muted);background:#f1f5f9;font-size:.82rem;font-weight:800}.status.working{color:var(--indigo-900);background:var(--indigo-100)}.status.done{color:#0f766e;background:var(--teal-100)}.status.failed{color:#991b1b;background:#fee2e2}.metrics{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:10px;color:var(--muted)}.error-text{margin:10px 0 0;color:var(--danger)}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.field-grid label{margin:0;color:var(--muted);font-size:.86rem}.field-grid input{margin-top:6px}.row-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}@media (max-width: 860px){.hero-main,.workspace{grid-template-columns:1fr}.controls{position:static}}@media (max-width: 560px){.topbar,.hero-main,.workspace{width:min(100% - 20px,1180px)}.topbar,.drop-zone,.name-row{align-items:flex-start}.topbar,.drop-zone{flex-direction:column}.summary-grid,.field-grid{grid-template-columns:1fr}.image-card{grid-template-columns:88px minmax(0,1fr);gap:12px}.image-card img{width:88px;height:88px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
