@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--ink:#1c2b45;--ink-soft:#33456a;--paper:#faf8f3;--panel:#f2ecdd;--kraft-line:#d9cfb8;--stamp:#b23a2e;--stamp-soft:#d97a6c;--success:#2f7a4f;--text-muted:#6b6455;--radius:10px;--font-display:"Space Grotesk", system-ui, sans-serif;--font-body:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 1px 1px,#1c2b450d 1px,#0000 0);background-size:22px 22px;margin:0}button{font-family:inherit}:focus-visible{outline:2px solid var(--stamp);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.page{max-width:860px;margin:0 auto;padding:56px 24px 96px}.eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--stamp);font-size:12px;font-weight:500}.title{font-family:var(--font-display);margin:10px 0 8px;font-size:clamp(28px,4vw,40px);font-weight:700;line-height:1.1}.subtitle{color:var(--text-muted);max-width:56ch;margin:0 0 40px;font-size:16px}.dropzone{border:2px dashed var(--kraft-line);border-radius:var(--radius);text-align:center;cursor:pointer;background:#f2ecdd80;padding:40px 24px;transition:border-color .15s,background .15s,transform .1s}.dropzone:hover,.dropzone.dragging{border-color:var(--stamp);background:#b23a2e0f}.dropzone.dragging{transform:scale(1.005)}.dropzone-icon{margin-bottom:12px;font-size:34px}.dropzone-title{font-family:var(--font-display);margin-bottom:4px;font-size:18px;font-weight:600}.dropzone-hint{color:var(--text-muted);font-size:14px}.dropzone input{display:none}.queue{flex-direction:column;gap:10px;margin-top:28px;display:flex}.file-card{border:1px solid var(--kraft-line);border-radius:var(--radius);background:#fff;align-items:center;gap:14px;padding:14px 16px;display:flex;position:relative;overflow:hidden}.file-card-icon{flex-shrink:0;font-size:22px}.file-card-body{flex:1;min-width:0}.file-card-name{white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;font-weight:600;overflow:hidden}.file-card-status{font-family:var(--font-mono);color:var(--text-muted);margin-top:2px;font-size:12px}.file-card-status.status-done{color:var(--success)}.file-card-status.status-error{color:var(--stamp)}.file-card-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:18px;line-height:1}.file-card-remove:hover{color:var(--stamp)}.stamp-mark{opacity:0;font-family:var(--font-display);letter-spacing:.05em;color:var(--success);border:2.5px solid var(--success);pointer-events:none;border-radius:6px;padding:3px 8px;font-size:13px;font-weight:700;position:absolute;top:50%;right:14px;transform:translateY(-50%)rotate(-14deg)scale(.4)}.stamp-mark.show{animation:.45s cubic-bezier(.2,.9,.3,1.2) forwards stampDown}@keyframes stampDown{0%{opacity:0;transform:translateY(-50%)rotate(-14deg)scale(1.8)}60%{opacity:1;transform:translateY(-50%)rotate(-14deg)scale(.9)}to{opacity:1;transform:translateY(-50%)rotate(-14deg)scale(1)}}.actions-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px;display:flex}.btn{font-family:var(--font-display);cursor:pointer;border:1px solid #0000;border-radius:8px;padding:12px 22px;font-size:14.5px;font-weight:600;transition:transform 80ms,background .15s}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover:not(:disabled){background:var(--ink-soft)}.btn-secondary{color:var(--ink);border-color:var(--kraft-line);background:0 0}.btn-secondary:hover:not(:disabled){border-color:var(--ink)}.btn-zip{background:var(--stamp);color:#fff}.btn-zip:hover:not(:disabled){background:#963025}.results{margin-top:36px}.results-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin-bottom:12px;font-size:12px}.warning-note{color:var(--text-muted);margin-top:6px;font-size:13px}.footer-note{color:var(--text-muted);border-top:1px solid var(--kraft-line);font-size:12.5px;font-family:var(--font-mono);margin-top:56px;padding-top:16px}
