.tool{gap:var(--space-4);flex-direction:column;display:flex}.tool>.btn{align-self:flex-start}.tool-error{color:var(--color-accent);animation:rise-in var(--duration-base) var(--ease-out) both;margin:0;font-weight:600}.tool-hint,.tool-done{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.tool-done{color:var(--color-text);animation:rise-in var(--duration-base) var(--ease-out) both;font-weight:600}.progress{gap:var(--space-2);animation:fade-in var(--duration-base) var(--ease-out) both;flex-direction:column;display:flex}.progress-label{align-items:center;gap:var(--space-2);color:var(--color-text-muted);display:flex}.progress-label .spinner{color:var(--color-accent)}.progress-track{border-radius:var(--radius-pill);background:var(--color-highlight-off);height:6px;position:relative;overflow:hidden}.progress-bar{border-radius:inherit;background:linear-gradient(90deg, var(--color-accent-soft), var(--color-accent));width:40%;animation:progress-slide 1.2s var(--ease-in-out) infinite;position:absolute;inset:0 auto 0 0}@keyframes progress-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}.tool-file{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-raised);box-shadow:var(--shadow-soft);animation:rise-in var(--duration-slow) var(--ease-out) both;display:flex}.tool-file>svg{width:1.75rem;height:1.75rem;color:var(--color-accent);flex:none}.tool-file-text{flex-direction:column;flex:1;min-width:0;display:flex}.tool-file-text strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tool-file-text span{color:var(--color-text-muted);font-size:var(--font-size-sm)}.file-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.file-item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-raised);box-shadow:var(--shadow-soft);cursor:grab;animation:rise-in var(--duration-slow) var(--ease-out) both;transition:transform var(--duration-base) var(--ease-spring), box-shadow var(--duration-base) var(--ease-out), opacity var(--duration-base) var(--ease-out);display:flex}.file-item:hover{box-shadow:var(--shadow-lift)}.file-item.is-dragging{opacity:.55;cursor:grabbing;transform:scale(.98)}.file-grip{width:1.1rem;height:1.1rem;color:var(--color-text-muted);flex:none}.file-order{background:var(--color-highlight);width:1.75rem;height:1.75rem;color:var(--color-accent);font-size:var(--font-size-sm);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.file-thumb{border-radius:var(--radius-sm);object-fit:cover;object-position:top;width:3rem;height:4rem;box-shadow:0 0 0 1px var(--color-border);background:#fff;flex:none}.file-item-text{flex-direction:column;flex:1;min-width:0;display:flex}.file-item-text strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-item-text span{color:var(--color-text-muted);font-size:var(--font-size-sm)}.file-item-actions{gap:var(--space-1);display:flex}.icon-btn{width:2.25rem;height:2.25rem;color:var(--color-text-muted);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), transform var(--duration-base) var(--ease-spring);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.icon-btn svg{width:1.1rem;height:1.1rem}.icon-btn:hover:not(:disabled){background:var(--color-highlight-off);color:var(--color-accent);transform:scale(1.08)}.icon-btn:disabled{opacity:.3;cursor:default}.page-toolbar{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.page-toolbar .count{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-left:auto}.page-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));margin:0;padding:0;list-style:none;display:grid}.page-thumb{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--font-size-sm);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out), transform var(--duration-base) var(--ease-spring), box-shadow var(--duration-base) var(--ease-out);border:2px solid #0000;flex-direction:column;display:flex;position:relative}.page-thumb:hover{box-shadow:var(--shadow-soft);transform:translateY(-2px)}.page-thumb:disabled{cursor:default;box-shadow:none;transform:none}.page-thumb img,.page-thumb .page-placeholder{aspect-ratio:1/1.414;border-radius:var(--radius-sm);object-fit:contain;width:100%;box-shadow:0 0 0 1px var(--color-border);background:#fff}.page-thumb img{animation:fade-in var(--duration-slow) var(--ease-out) both}.page-placeholder{background:linear-gradient(100deg, var(--color-highlight-off) 30%, var(--color-surface-raised) 50%, var(--color-highlight-off) 70%);background-size:300% 100%;animation:1.4s linear infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.page-check{top:var(--space-3);right:var(--space-3);background:var(--color-accent);width:1.5rem;height:1.5rem;color:var(--color-accent-contrast);opacity:0;transition:opacity var(--duration-fast) var(--ease-out), transform var(--duration-base) var(--ease-spring);border-radius:50%;place-items:center;display:grid;position:absolute;transform:scale(.4)}.page-check svg{width:.9rem;height:.9rem}.page-thumb[aria-pressed=true]{border-color:var(--color-accent);background:var(--color-highlight-off)}.page-thumb[aria-pressed=true] .page-check{opacity:1;transform:scale(1)}.segmented{gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-pill);background:var(--color-highlight-off);border:0;flex-wrap:wrap;margin:0;display:inline-flex}.segmented legend{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.segmented label{padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);color:var(--color-text-muted);cursor:pointer;transition:background-color var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out);font-weight:600;position:relative}.segmented input{opacity:0;width:1px;height:1px;position:absolute}.segmented label:has(input:checked){background:var(--color-surface-raised);color:var(--color-accent);box-shadow:var(--shadow-soft)}.segmented label:has(input:focus-visible){outline:3px solid var(--color-accent);outline-offset:2px}.ranges{gap:var(--space-2);flex-direction:column;max-width:24rem;display:flex}.ranges input{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-raised);color:var(--color-text);font:inherit;transition:border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out)}.ranges input:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 4px var(--color-highlight);outline:none}.ranges input[aria-invalid=true]{border-color:var(--color-accent)}
