.p2i-drop,.pdf-drop{border:2px dashed var(--color-border);border-radius:8px;padding:32px 16px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;color:var(--color-text-secondary)}.p2i-drop.drag-over,.p2i-drop:hover,.pdf-drop.drag-over,.pdf-drop:hover{border-color:var(--color-primary);background:var(--color-bg)}.p2i-feature-row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:8px;font-size:.75rem;color:var(--color-text-secondary)}.p2i-source{padding:8px;border-radius:6px;margin-top:12px}.p2i-source .src-name{font-weight:600;word-break:break-all}.p2i-options{margin-top:16px}.p2i-options label.opt-label{margin-top:12px;display:block}.p2i-options #quality-wrap{margin-top:12px}.p2i-options #quality-wrap.disabled{opacity:.5}.p2i-actions{margin-top:16px}.gen-progress{margin-top:12px}.progress-bar{height:8px;background:var(--color-elevated);border-radius:4px;overflow:hidden;margin-top:4px}.progress-fill{height:100%;background:var(--color-primary);transition:width .2s}.gen-status{margin-top:12px;border-radius:4px}.gen-status.info{background:rgba(96,165,250,.15);color:var(--color-primary)}.gen-status.error{background:rgba(248,113,113,.18);color:#991b1b}.gen-status.done{background:rgba(74,222,128,.18);color:#065f46}.p2i-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.p2i-card .thumb-wrap{background:var(--color-input-bg);padding:8px;text-align:center}.p2i-card .thumb-wrap img{max-height:220px;object-fit:contain}.p2i-card .card-info{padding:8px}.p2i-card .card-info .label{font-size:.75rem}.p2i-card .btn-dl{padding:4px 8px;border-radius:4px}.pdf-file-list{margin-top:16px}.pdf-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.pdf-file-item{display:flex;align-items:center;gap:12px;padding:8px;border:1px solid var(--color-border);border-radius:6px;margin-bottom:6px}.pdf-file-item .drag-handle{cursor:grab}.pdf-file-item .thumb{width:48px;height:64px;object-fit:contain;background:var(--color-input-bg)}.pdf-file-item .file-info-col{flex:1;min-width:0}.pdf-file-item .file-name{word-break:break-all}.pdf-file-item .file-meta{font-size:.75rem;color:var(--color-text-secondary)}.pdf-file-item .file-actions{display:flex;gap:4px}.pdf-options-row-2col{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.pdf-options .opt-hint{font-size:.75rem;color:var(--color-text-secondary);margin-top:6px}.drop-zone{border:2px dashed var(--color-border);border-radius:var(--radius);padding:48px 24px;text-align:center;cursor:pointer;transition:all .2s;margin-bottom:24px}.drop-zone.drag-over,.drop-zone:focus-visible,.drop-zone:hover{border-color:var(--color-primary);background:rgba(37,99,235,.05);outline:none}.drop-zone:focus-visible{box-shadow:0 0 0 3px rgba(37,99,235,.25)}.drop-zone p{color:var(--color-text-secondary);font-size:.9375rem;margin-bottom:8px}.drop-zone .drop-hint{font-size:.75rem;color:var(--color-text-secondary)}.feature-badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:12px}.feature-badges span{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;color:var(--color-text-secondary)}.feature-badges span,.p2i-source{border:1px solid var(--color-border)}.p2i-source{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;margin-bottom:16px;background:var(--color-bg)}.p2i-source .src-name{flex:1;min-width:0;font-size:.875rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p2i-source .src-meta{font-size:.75rem;color:var(--color-text-secondary)}.p2i-source .btn-remove{width:28px;height:28px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text-secondary);cursor:pointer;font-size:.8125rem;display:flex;align-items:center;justify-content:center}.p2i-source .btn-remove:hover{background:#fee2e2;color:#dc2626;border-color:#fca5a5}@media (prefers-color-scheme:dark){.p2i-source .btn-remove:hover{background:#451a1a;color:#f87171;border-color:#7f1d1d}}.p2i-options,.p2i-options .seg-control{margin-bottom:16px}.p2i-options .opt-hint{font-size:.75rem;color:var(--color-text);margin-top:4px;margin-bottom:16px}.p2i-options .range-input{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);color:var(--color-text);font-family:inherit;font-size:.9375rem;box-sizing:border-box}.p2i-options .range-input.invalid{border-color:#dc2626}.p2i-options .quality-disabled{opacity:.45;pointer-events:none}.gen-progress{display:none;margin-top:16px}.gen-progress .progress-text{font-size:.8125rem;color:var(--color-text-secondary);margin-bottom:6px;text-align:center}.gen-progress .progress-bar{width:100%;height:8px;background:var(--color-border);border-radius:4px;overflow:hidden}.gen-progress .progress-fill{height:100%;width:0;background:var(--color-primary,#2563eb);border-radius:4px;transition:width .2s ease}.gen-progress.done .progress-fill{background:var(--color-success,#16a34a)}.gen-progress.error .progress-fill{background:var(--color-danger,#dc2626)}.gen-status{display:none;text-align:center;padding:8px;font-size:.8125rem;color:var(--color-text-secondary)}.gen-status.error{color:var(--color-danger,#dc2626)}.gen-status.success{color:var(--color-success,#16a34a)}.p2i-results{margin-top:24px}.p2i-results-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.p2i-results-header .count{font-size:.875rem;color:var(--color-text-secondary)}.p2i-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.p2i-card{border:1px solid var(--color-border);border-radius:8px;overflow:hidden;background:var(--color-bg);display:flex;flex-direction:column}.p2i-card .thumb-wrap{background:var(--color-bg-secondary,#f8f9fa);aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;overflow:hidden}@media (prefers-color-scheme:dark){.p2i-card .thumb-wrap{background:#1e1e1e}}.p2i-card .thumb-wrap img{max-width:100%;max-height:100%;display:block}.p2i-card .card-info{padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.8125rem}.p2i-card .card-info .label{color:var(--color-text-secondary)}.p2i-card .btn-dl{padding:4px 10px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);cursor:pointer;font-size:.75rem;text-decoration:none;transition:background .15s}.p2i-card .btn-dl:hover{background:var(--color-border)}