body{margin:0}:root{--bg-gradient:linear-gradient(135deg, #070b13 0%, #0f172a 100%);--panel-bg:#1e293b73;--panel-border:#ffffff12;--panel-glow:#6366f126;--primary-color:#6366f1;--primary-hover:#4f46e5;--secondary-color:#06b6d4;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--color-success:#10b981;--color-warning:#f59e0b;--color-danger:#ef4444;--color-blank-overlay:#ef444426;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--transition-fast:.2s cubic-bezier(.4, 0, .2, 1);--transition-normal:.35s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-gradient);color:var(--text-primary);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex}.header{backdrop-filter:blur(12px);border-bottom:1px solid var(--panel-border);z-index:50;background:#0f172a99;justify-content:space-between;align-items:center;padding:1.25rem 2.5rem;display:flex;position:sticky;top:0}.logo-section{align-items:center;gap:.75rem;display:flex}.logo-icon{color:var(--primary-color);animation:3s ease-in-out infinite pulse-slow}.logo-section h1{letter-spacing:.5px;background:linear-gradient(90deg,#fff,#94a3b8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.25rem;font-weight:700}.status-badge{color:var(--color-success);background:#10b9811a;border:1px solid #10b98133;border-radius:999px;align-items:center;gap:.5rem;padding:.4rem .8rem;font-size:.85rem;font-weight:500;display:flex}.status-dot{background-color:var(--color-success);width:8px;height:8px;box-shadow:0 0 8px var(--color-success);border-radius:50%;animation:1.5s infinite pulse-dot}.app-container{flex:1;grid-template-columns:340px 1fr;gap:1.5rem;width:100%;max-width:1600px;margin:0 auto;padding:1.5rem;display:grid}.sidebar{flex-direction:column;gap:1.25rem;display:flex}.card{backdrop-filter:blur(16px);background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-md);transition:var(--transition-normal);padding:1.5rem;box-shadow:0 8px 32px #0003}.card:hover{box-shadow:0 12px 40px 0 #0000004d, 0 0 20px 0 var(--panel-glow);border-color:#6366f133}.card-title{color:var(--text-primary);align-items:center;gap:.5rem;margin-bottom:1.25rem;font-size:1.05rem;font-weight:600;display:flex}.card-title svg{color:var(--primary-color)}.dropzone{border-radius:var(--radius-md);text-align:center;cursor:pointer;transition:var(--transition-fast);background:#0f172a33;border:2px dashed #ffffff26;flex-direction:column;align-items:center;gap:1rem;padding:2.5rem 1.5rem;display:flex}.dropzone:hover,.dropzone.active{border-color:var(--primary-color);background:#6366f10d;box-shadow:inset 0 0 12px #6366f11a}.dropzone-icon{color:var(--text-secondary);transition:var(--transition-fast)}.dropzone:hover .dropzone-icon{color:var(--primary-color);transform:translateY(-4px)}.dropzone p{color:var(--text-secondary);font-size:.9rem;line-height:1.4}.dropzone-hint{color:var(--text-muted)!important;font-size:.75rem!important}.file-info-box{border-radius:var(--radius-sm);border:1px solid var(--panel-border);background:#0f172a66;align-items:center;gap:.75rem;margin-top:1rem;padding:.75rem;display:flex;overflow:hidden}.file-info-details{flex:1;min-width:0}.file-name{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:500;overflow:hidden}.file-size{color:var(--text-muted);font-size:.75rem}.btn-remove-file{color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;border-radius:4px;padding:.25rem;display:flex}.btn-remove-file:hover{color:var(--color-danger);background:#ef44441a}.config-group{flex-direction:column;gap:1.25rem;display:flex}.config-item{flex-direction:column;gap:.5rem;display:flex}.config-label-row{color:var(--text-secondary);justify-content:space-between;font-size:.85rem;font-weight:500;display:flex}.config-val{color:var(--secondary-color);font-family:monospace}.config-slider{appearance:none;background:#ffffff1a;border-radius:999px;outline:none;width:100%;height:6px}.config-slider::-webkit-slider-thumb{appearance:none;background:var(--primary-color);cursor:pointer;width:16px;height:16px;transition:var(--transition-fast);box-shadow:0 0 8px var(--primary-color);border-radius:50%}.config-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.sensitivity-toggle{border-radius:var(--radius-sm);border:1px solid var(--panel-border);background:#0f172a66;grid-template-columns:repeat(3,1fr);padding:.25rem;display:grid}.sensitivity-btn{color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;border-radius:6px;padding:.4rem 0;font-size:.8rem;font-weight:500}.sensitivity-btn.active{background:var(--primary-color);color:var(--text-primary);box-shadow:0 2px 8px #6366f166}.dashboard-main{flex-direction:column;gap:1.5rem;height:calc(100vh - 100px);display:flex}.stats-bar{gap:1rem;display:flex}.stat-card{flex:1;align-items:center;gap:1rem;padding:1.25rem;display:flex}.stat-icon-wrapper{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stat-icon-wrapper.blue{color:var(--primary-color);background:#6366f11a}.stat-icon-wrapper.red{color:var(--color-danger);background:#ef44441a}.stat-icon-wrapper.green{color:var(--color-success);background:#10b9811a}.stat-details{flex-direction:column;display:flex}.stat-label{color:var(--text-secondary);font-size:.8rem}.stat-value{font-size:1.5rem;font-weight:700}.empty-state{border-radius:var(--radius-md);border:1px solid var(--panel-border);backdrop-filter:blur(8px);background:#0f172a26;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1.5rem;display:flex}.empty-logo{justify-content:center;align-items:center;display:flex;position:relative}.empty-logo-ring{border:2px solid var(--primary-color);border-top-color:#0000;border-radius:50%;width:80px;height:80px;animation:6s linear infinite spin;position:absolute}.empty-logo-center{width:60px;height:60px;color:var(--primary-color);background:#6366f11a;border-radius:50%;justify-content:center;align-items:center;display:flex}.empty-state-text{text-align:center;max-width:420px}.empty-state-text h3{margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.empty-state-text p{color:var(--text-secondary);font-size:.9rem;line-height:1.5}.results-container{flex-direction:column;flex:1;gap:1rem;min-height:0;display:flex}.progress-card{padding:1.25rem}.progress-header{justify-content:space-between;margin-bottom:.75rem;font-size:.85rem;font-weight:500;display:flex}.progress-bar-bg{background:#ffffff0d;border-radius:999px;width:100%;height:8px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--primary-color), var(--secondary-color));width:0%;height:100%;box-shadow:0 0 10px var(--primary-color);transition:width .1s ease-out}.pages-grid-card{flex-direction:column;flex:1;min-height:0;padding:1rem 1.5rem 1.5rem;display:flex}.grid-header{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:.75rem;display:flex}.grid-title{align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;display:flex}.grid-legend{gap:1rem;font-size:.8rem;display:flex}.legend-item{color:var(--text-secondary);align-items:center;gap:.4rem;display:flex}.legend-color{border-radius:3px;width:12px;height:12px}.legend-color.blank{background:var(--color-danger);border:1px solid #ef44444d}.legend-color.keep{background:#ffffff0d;border:1px solid #fff3}.grid-scroll-area{flex:1;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:1.25rem;padding-right:.5rem;display:grid;overflow-y:auto}.grid-scroll-area::-webkit-scrollbar{width:6px}.grid-scroll-area::-webkit-scrollbar-track{background:0 0}.grid-scroll-area::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:999px}.grid-scroll-area::-webkit-scrollbar-thumb:hover{background:#fff3}.page-thumbnail-card{aspect-ratio:1/1.414;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);user-select:none;background:#1e293b;border:2px solid #ffffff0d;position:relative;overflow:hidden}.page-thumbnail-card:hover{border-color:#fff3;transform:translateY(-4px);box-shadow:0 8px 16px #0000004d}.page-image{object-fit:cover;background-color:#fff;width:100%;height:100%;display:block}.page-number-tag{color:var(--text-primary);border:1px solid var(--panel-border);backdrop-filter:blur(4px);z-index:10;background:#0f172ad9;border-radius:4px;padding:.15rem .4rem;font-family:monospace;font-size:.75rem;position:absolute;bottom:6px;right:6px}.page-select-checkbox{border:2px solid var(--text-muted);width:18px;height:18px;color:var(--text-primary);z-index:10;transition:var(--transition-fast);background:#0f172acc;border-radius:4px;justify-content:center;align-items:center;display:flex;position:absolute;top:8px;left:8px}.page-thumbnail-card:hover .page-select-checkbox{border-color:var(--primary-color)}.page-thumbnail-card.blank-detected{border-color:#ef444499;box-shadow:0 0 10px #ef444426}.page-thumbnail-card.blank-detected:hover{border-color:var(--color-danger)}.blank-overlay{background:var(--color-blank-overlay);backdrop-filter:saturate(.6)brightness(.9);z-index:5;transition:var(--transition-fast);flex-direction:column;justify-content:center;align-items:center;gap:.4rem;display:flex;position:absolute;inset:0}.blank-overlay svg{color:var(--color-danger);filter:drop-shadow(0 0 4px #ef444466)}.blank-overlay span{color:var(--color-danger);background:#0f172ae6;border:1px solid #ef44444d;border-radius:4px;padding:.2rem .5rem;font-size:.75rem;font-weight:600}.page-thumbnail-card.will-remove{opacity:.35}.page-thumbnail-card.will-remove .page-select-checkbox{background:var(--color-danger);border-color:var(--color-danger)}.page-thumbnail-card.will-keep .page-select-checkbox{background:var(--color-success);border-color:var(--color-success)}.action-footer{border-top:1px solid #ffffff0d;justify-content:flex-end;align-items:center;gap:1.5rem;padding-top:1rem;display:flex}.export-summary{color:var(--text-secondary);font-size:.85rem}.export-summary strong{color:var(--secondary-color)}.btn-primary{background:linear-gradient(135deg, var(--primary-color) 0%, var(--primary-hover) 100%);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);border:none;align-items:center;gap:.6rem;padding:.8rem 1.75rem;font-size:.95rem;font-weight:600;display:flex;box-shadow:0 4px 14px #6366f159}.btn-primary:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 6px 20px #6366f180}.btn-primary:active{transform:translateY(0)}.license-status-tag{color:var(--color-warning);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);background:#f59e0b1a;border:1px solid #f59e0b33;align-items:center;gap:.4rem;padding:.4rem .8rem;font-size:.8rem;display:flex}.license-status-tag:hover{background:#f59e0b2e}.license-status-tag.active{color:var(--color-success);background:#10b9811a;border-color:#10b98133}.modal-overlay{backdrop-filter:blur(8px);z-index:100;background:#000000b3;justify-content:center;align-items:center;animation:.25s ease-out fade-in;display:flex;position:fixed;inset:0}.modal-content{border:1px solid var(--panel-border);border-radius:var(--radius-lg);background:#111827;width:100%;max-width:520px;animation:.3s cubic-bezier(.34,1.56,.64,1) scale-up;overflow:hidden;box-shadow:0 24px 64px #00000080}.modal-header{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.modal-header h2{align-items:center;gap:.5rem;font-size:1.15rem;font-weight:700;display:flex}.btn-close-modal{color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;border-radius:4px;padding:.25rem}.btn-close-modal:hover{color:var(--text-primary);background:#ffffff0d}.modal-body{padding:1.5rem}.paywall-intro{color:var(--text-secondary);margin-bottom:1.25rem;font-size:.9rem;line-height:1.5}.paywall-badge-row{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.5rem;display:grid}.paywall-badge{border:1px solid var(--panel-border);border-radius:var(--radius-sm);text-align:center;color:var(--text-secondary);background:#ffffff05;flex-direction:column;align-items:center;gap:.4rem;padding:.75rem .5rem;font-size:.75rem;display:flex}.paywall-badge svg{color:var(--secondary-color)}.paywall-badge strong{color:var(--text-primary);font-size:.85rem}.pay-tabs-nav{border-radius:var(--radius-sm);border:1px solid var(--panel-border);background:#0f172a66;grid-template-columns:1fr 1fr;margin-bottom:1.25rem;padding:.25rem;display:grid}.pay-tab-btn{color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 0;font-size:.85rem;font-weight:600;display:flex}.pay-tab-btn.active{color:var(--text-primary);background:#ffffff0d;border:1px solid #ffffff0d}.tab-pane{flex-direction:column;align-items:center;gap:1rem;display:flex}.qr-container{border-radius:var(--radius-md);background:#fff;gap:1.5rem;margin:.5rem 0;padding:.75rem;display:flex}.qr-box{color:#1e293b;flex-direction:column;align-items:center;gap:.25rem;font-size:.7rem;font-weight:700;display:flex}.qr-image{object-fit:contain;width:110px;height:110px}.tab-instruction{color:var(--text-secondary);text-align:center;font-size:.8rem;line-height:1.5}.tab-instruction code{color:var(--secondary-color);background:#ffffff0d;border-radius:3px;padding:.1rem .3rem;font-family:monospace;font-size:.85rem}.license-form{flex-direction:column;gap:.75rem;width:100%;display:flex}.input-group{flex-direction:column;gap:.4rem;display:flex}.input-group label{color:var(--text-secondary);font-size:.8rem}.input-row{gap:.5rem;display:flex}.input-text{border:1px solid var(--panel-border);border-radius:var(--radius-sm);color:#fff;transition:var(--transition-fast);background:#0f172a99;outline:none;flex:1;padding:.65rem .75rem;font-size:.9rem}.input-text:focus{border-color:var(--primary-color);box-shadow:0 0 8px #6366f133}.btn-secondary{border:1px solid var(--panel-border);color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);background:#ffffff0d;padding:0 1.25rem;font-size:.85rem;font-weight:600}.btn-secondary:hover{background:#ffffff1a;border-color:#fff3}.error-message{color:var(--color-danger);align-items:center;gap:.3rem;margin-top:.25rem;font-size:.8rem;display:flex}.success-banner{color:var(--color-success);text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem;display:flex}.success-banner h3{font-size:1.1rem;font-weight:600}@keyframes pulse-slow{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;filter:drop-shadow(0 0 8px #6366f180);transform:scale(1.05)}}@keyframes pulse-dot{0%{transform:scale(.95);box-shadow:0 0 #10b981b3}70%{transform:scale(1);box-shadow:0 0 0 6px #10b98100}to{transform:scale(.95);box-shadow:0 0 #10b98100}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-up{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.spinner{animation:1s linear infinite spin}@media (width<=1024px){.app-container{grid-template-columns:1fr}.dashboard-main{height:auto}}
