.dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);transition:border-color .12s ease,background-color .12s ease}.dropzone.dragover{border-color:var(--accent);background:var(--accent-soft)}.dropzone-button{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-12) var(--space-4);border:0;background:none;cursor:pointer;color:var(--ink)}.dropzone.compact .dropzone-button{flex-direction:row;justify-content:center;padding:var(--space-3) var(--space-4)}.dropzone-icon{font-size:2rem;color:var(--accent)}.dropzone.compact .dropzone-icon{font-size:1.25rem}.dropzone-label{font-weight:600;font-size:1.125rem}.dropzone.compact .dropzone-label{font-size:1rem}.dropzone-hint{color:var(--ink-faint);font-size:.9375rem}.thumb-grid{list-style:none;margin:var(--space-6) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:var(--space-3)}.thumb-card{position:relative;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-1);cursor:grab}.thumb-card.grabbed{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-border),var(--shadow-2)}.thumb-card.drag-target{border-color:var(--accent);background:var(--accent-soft)}.thumb-image{aspect-ratio:3 / 4;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:0;background:var(--bg)}.thumb-image img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:var(--shadow-1)}.thumb-placeholder{width:70%;height:85%;border-radius:0;background:linear-gradient(100deg,var(--border) 40%,var(--bg) 50%,var(--border) 60%);background-size:200% 100%;animation:thumb-shimmer 1.2s linear infinite}@keyframes thumb-shimmer{to{background-position-x:-200%}}.thumb-label{font-size:.8125rem;color:var(--ink-secondary);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thumb-actions{position:absolute;top:var(--space-1);right:var(--space-1);display:flex;gap:var(--space-1);opacity:0;transition:opacity .12s ease}.thumb-card:hover .thumb-actions,.thumb-card:focus-within .thumb-actions,.thumb-card:focus .thumb-actions{opacity:1}.thumb-action{width:1.75rem;height:1.75rem;border:1px solid var(--border-strong);border-radius:0;background:var(--surface);color:var(--ink-secondary);cursor:pointer;line-height:1}.thumb-action:hover{color:var(--ink);border-color:var(--ink-faint)}.progress{margin-top:var(--space-4)}.progress-track{height:.5rem;border-radius:0;background:var(--border);overflow:hidden}.progress-fill{height:100%;border-radius:0;background:var(--accent);transition:width .12s ease}.progress-label{margin:var(--space-2) 0 0;font-size:.875rem;color:var(--ink-secondary)}.options-expander{margin-top:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.options-expander summary{padding:var(--space-3) var(--space-4);cursor:pointer;font-weight:600;color:var(--ink-secondary)}.options-body{padding:0 var(--space-4) var(--space-4)}.thumb-card.selected{border-color:var(--accent);background:var(--accent-soft)}.thumb-check{position:absolute;top:var(--space-1);left:var(--space-1);width:1.375rem;height:1.375rem;display:flex;align-items:center;justify-content:center;border:2px solid var(--border-strong);border-radius:0;background:var(--surface);color:var(--on-accent);font-size:.875rem;line-height:1;z-index:1}.thumb-check.checked{background:var(--accent);border-color:var(--accent)}.field{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-3);max-width:26rem}.field-label{font-size:.875rem;font-weight:600;color:var(--ink-secondary)}.field input[type=text],.field input[type=number],.field select{font:inherit;padding:.5rem .75rem;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink)}.field input:focus,.field select:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.field-check{flex-direction:row;align-items:center;gap:var(--space-2)}.field-check input{width:1.125rem;height:1.125rem;accent-color:var(--accent)}.tool-file{margin:var(--space-4) 0 0;padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.meta-xmp-note{color:var(--ink-faint)}.text-output{width:100%;margin-top:var(--space-4);padding:var(--space-3);font-family:var(--font-mono);font-size:.8125rem;line-height:1.5;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink);resize:vertical}.impose-preview{margin-top:var(--space-4)}.impose-sides{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:flex-start}.impose-side{margin:0;width:clamp(8rem,22vw,13rem)}.impose-side figcaption{font-size:.75rem;color:var(--ink-faint);text-align:center;margin-top:var(--space-1)}.impose-grid{display:grid;gap:1px;background:var(--border-strong);border:1px solid var(--border-strong);border-radius:0;overflow:hidden}.impose-cell{display:flex;align-items:center;justify-content:center;background:var(--surface);font-size:.7rem;font-weight:600;color:var(--ink-secondary);min-height:1.4rem}.impose-cell.rot{transform:rotate(180deg);color:var(--accent)}.impose-cell.blank{background:var(--bg)}.mode-tabs{display:inline-flex;border:1px solid var(--border-strong);margin-bottom:var(--space-2)}.mode-tab{padding:var(--space-2) var(--space-4);border:0;background:var(--surface);color:var(--ink-secondary);font-weight:600;cursor:pointer}.mode-tab+.mode-tab{border-left:1px solid var(--border-strong)}.mode-tab.active{background:var(--accent-soft);color:var(--accent)}.split-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-2)}.split-controls .field{margin-top:0}.split-controls .tool-hint{margin:0}.field-row{display:flex;gap:var(--space-3)}.tool-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-6)}.tool-error{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--danger);border-radius:var(--radius);background:var(--danger-soft);color:var(--danger)}.tool-hint{color:var(--ink-faint);font-size:.875rem}
