.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-grid.dragging{user-select:none;-webkit-user-select:none}.thumb-grid.dragging .thumb-card{cursor:grabbing}.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)}.thumb-grip{touch-action:none;cursor:grab;display:inline-flex;align-items:center;justify-content:center}.thumb-grip:active{cursor:grabbing}@media(pointer:coarse){.thumb-action{width:2.75rem;height:2.75rem}.thumb-actions{opacity:1;gap:var(--space-2)}.thumb-action{background:var(--surface);box-shadow:var(--shadow-1)}}.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}.tool-note{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--surface);color:var(--ink-secondary);font-size:.9375rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:0 var(--space-8);margin:var(--space-6) 0 0;border-top:1px solid var(--border)}.stats-grid .stat{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-1);border-bottom:1px solid var(--border)}.stats-grid dt{color:var(--ink-secondary);font-size:.9375rem}.stats-grid dd{margin:0;font-family:var(--font-mono);font-weight:700;font-size:1.125rem;color:var(--accent)}.support-nudge{margin:0 0 0 auto;font-size:.875rem;color:var(--ink-faint)}@media(max-width:34rem){.support-nudge{margin-left:0}}.support-nudge a{color:var(--accent);text-decoration:none;font-weight:500}.support-nudge a:hover{text-decoration:underline}.form-fields{margin-top:var(--space-4);max-height:26rem;overflow-y:auto;padding-right:var(--space-2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.form-fields .field-label{font-family:var(--font-mono);font-size:.8125rem;color:var(--ink-secondary);word-break:break-word}.form-fields textarea{font:inherit;width:100%}.form-fields .field-check{display:flex}.thumb-placeholder.blank{background:var(--surface);border:1px dashed var(--border-strong);animation:none}.organize-bulk{margin-top:var(--space-4);gap:var(--space-2)}.organize-bulk .btn{padding:var(--space-1) var(--space-3);font-size:.875rem}.organize-count{margin-right:auto;font-size:.875rem;color:var(--ink-secondary)}.organize-output{margin-top:var(--space-6);padding:var(--space-4);border:1px solid var(--border);background:var(--surface)}.organize-output legend{padding:0 var(--space-2);font-size:.875rem;font-weight:600;color:var(--ink-secondary)}.workflow-layout{display:grid;gap:var(--space-6);grid-template-columns:minmax(0,1fr)}@media(min-width:60rem){.workflow-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start}}.workflow-panel{border:1px solid var(--border);background:var(--surface);padding:var(--space-4)}.workflow-panel h2{font-size:1rem;margin:0 0 var(--space-3)}.workflow-steps{list-style:none;margin:0;padding:0;counter-reset:step}.workflow-step{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-2) var(--space-3);align-items:start;padding:var(--space-3) 0;border-top:1px solid var(--border)}.workflow-step:first-child{border-top:0}.workflow-step.invalid{border-left:3px solid var(--danger);padding-left:var(--space-3)}.workflow-index{counter-increment:step;width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);font-size:.8125rem;color:var(--ink-secondary)}.workflow-index:before{content:counter(step)}.workflow-step-name{font-weight:600}.workflow-step-summary{font-size:.875rem;color:var(--ink-faint)}.workflow-step-options{grid-column:2 / 4;display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-end}.workflow-step-options .field{margin-top:0;max-width:12rem;flex:1 1 8rem}.workflow-step-options .field-check{margin-top:0}.workflow-step-actions{display:flex;gap:var(--space-1)}.workflow-step-actions button{width:1.875rem;height:1.875rem;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-secondary);cursor:pointer;font-size:.875rem;line-height:1}.workflow-step-actions button:hover:not(:disabled){background:var(--surface-hi);color:var(--ink)}.workflow-step-actions button:disabled{opacity:.4;cursor:default}.workflow-empty{padding:var(--space-6) var(--space-4);border:1px dashed var(--border-strong);text-align:center;color:var(--ink-faint);font-size:.9375rem}.workflow-add{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.workflow-add .field{margin-top:0;flex:1 1 14rem;max-width:none}.workflow-presets{display:flex;flex-wrap:wrap;gap:var(--space-2)}.workflow-preset{flex:1 1 13rem;text-align:left;padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;color:inherit}.workflow-preset:hover{background:var(--surface-hi);border-color:var(--accent)}.workflow-preset strong{display:block;font-size:.9375rem}.workflow-preset span{font-size:.8125rem;color:var(--ink-faint)}.workflow-note{margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--ink-secondary);font-size:.875rem}.workflow-problem{margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border-left:3px solid var(--danger);background:var(--danger-soft);color:var(--danger);font-size:.875rem}.workflow-files{list-style:none;margin:var(--space-3) 0 0;padding:0;font-size:.875rem}.workflow-files li{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--border);color:var(--ink-secondary)}.workflow-files li:first-child{border-top:0}.workflow-saved{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;margin-top:var(--space-3)}.workflow-share{margin-top:var(--space-3)}.workflow-share input{width:100%;font-family:var(--font-mono);font-size:.8125rem;padding:var(--space-2);border:1px solid var(--border-strong);background:var(--bg);color:var(--ink-secondary)}
